DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …

190
UNIVERSIDADE DE SANTIAGO DE COMPOSTELA Departamento de Electrónica e Computación Tesis doctoral DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN LABORATORIO VIRTUAL OCEANOGRÁFICO BASADO EN COMPUTACIÓN GRID Presentada por: D. David Mera Pérez Dirigida por: Dr. D. José Manuel Cotos Yáñez Dr. D. José Varela Pet Noviembre de 2012

Transcript of DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …

Page 1: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …

UNIVERSIDADE DE SANTIAGO DE COMPOSTELA

Departamento de Electroacutenica e Computacioacuten

Tesis doctoral

DESARROLLO DESPLIEGUE Y VALIDACIOacuteN DE UNLABORATORIO VIRTUAL OCEANOGRAacuteFICO BASADO EN

COMPUTACIOacuteN GRID

Presentada porD David Mera Peacuterez

Dirigida porDr D Joseacute Manuel Cotos YaacutentildeezDr D Joseacute Varela Pet

Noviembre de 2012

Dr D Joseacute Manuel Cotos Yaacutentildeez Profesor Titular de Universidad del Aacuterea de Lenguajes ySistemas Informaacuteticos de la Universidad de Santiago de Compostela

Dr D Joseacute Varela Pet Profesor Contratado Doctor de Universidad del Aacuterea de Lenguajesy Sistemas Informaacuteticos de la Universidad de Santiago de Compostela

HACEN CONSTAR

Que la memoria titulada DESARROLLO DESPLIEGUE Y VALIDACIOacuteN DE UN LA-BORATORIO VIRTUAL OCEANOGRAacuteFICO BASADO EN COMPUTACIOacuteN GRIDha sido realizada por D David Mera Peacuterez bajo nuestra direccioacuten en el marco del Programade Doctorado Interuniversitario de Investigacioacuten en Tecnologiacuteas de la Informacioacuten del De-partamento de Electroacutenica e Computacioacuten de la Universidade de Santiago de Compostela yconstituye la Tesis que presenta para optar al tiacutetulo de Doctor

Este trabajo ha sido desarrollado en los siguientes centros de investigacioacuten de la Universidadde Santiago de Compostela

ndash Centro Singular de Investigacioacuten en Tecnoloxiacuteas da Informacioacuten (CITIUS)

ndash Instituto de Investigacioacutens Tecnoloacutexicas (IIT)

Noviembre de 2012

Dr D Joseacute Manuel Cotos YaacutentildeezDirector de la tesis

Dr D Joseacute Varela PetCodirector de la tesis

D David Mera PeacuterezAutor de la tesis

The Answer to the Great Question of Life the

Universe and Everything [] Forty-two said Deep

Thought with infinite majesty and calm [] That

quite definitely is the answer I think the problem

to be quite honest with you is that yoursquove never

actually known what the question is

The Hitchhikerrsquos Guide to the Galaxy

Agradecimentos

Parece que fue ayer cuando me embarqueacute en este viaje pero la realidad es que ya hapasado bastante tiempo y sobre todo muchas horas de trabajo Es el momento de echar lavista atraacutes y pensar en todo el apoyo recibido de mis compantildeeros de trabajo amigos familiay organizaciones sin el cual esto nunca hubiese llegado a buen puerto

En primer lugar agradecer al Dr Joseacute Manuel Cotos Yaacutentildeez y al Dr Joseacute Varela Petdirectores del presente trabajo la oportunidad de emprender esta aventura junto a ellos y porla confianza depositada en miacute desde el comienzo Gracias por apoyarme guiarme y dedicarmetantas horas de vuestro tiempo para sacar esto adelante

A mis compantildeeros de trabajo del Instituto de Investigaciones Tecnoloacutegicas con los quehe pasado la mayor parte de este tiempo que me han aconsejado y ayudado siempre que lo henecesitado

A Carmen Cotelo Queijo mi compantildeera de armas en el proyecto de RETELAB por echar-me una mano desinteresada siempre que me ha hecho falta

Al Dr Pablo Garciacutea Rodriacuteguez por sus conocimientos y consejos pero especialmente porsu apoyo y aacutenimos durante todo el trabajo

Al Dr Oacutescar Garciacutea Pineda de la Universidad Estatal de Florida por su tiempo y conoci-mientos e indicarme el camino cuando eacuteste estaba poco claro

A mis amigos por aguantar mis laquorollos frikisraquo por darme siempre aacutenimos y sobre todopor estar siempre ahiacute aunque los tenga abandonados

VIII

A Leticia laquomi vidaraquo por todas las horas que le he robado y que no podreacute devolverle Nosabriacutea como expresar lo importante que has sido Gracias por estar siempre a mi lado y por tuapoyo incondicional Sin ti esto no seriacutea posible

A mi familia y en especial a mis padres por todo el carintildeo y apoyo recibido durante todami vida y por confiar en que yo era capaz de cualquier cosa y animarme siempre a luchar ya esforzarme al maacuteximo en todos los aspectos de la vida Sin vosotros yo no seriacutea quien soyGracias por todo

Y a tantos otros que no he nombrado pero que llevo en la cabeza y en el corazoacuten

iexclGRACIAS A TODOS

IX

Este trabajo no habriacutea sido posible sin el apoyo yo colaboracioacuten de las siguientes institu-ciones

ndash Sociedad de Salvamento y Seguridad Mariacutetima (SASEMAR) concretamente el Cen-tro de Coordinacioacuten de Salvamento de Finisterre que nos facilitoacute los datos sobre losvertidos detectados en la costa gallega durante los uacuteltimos antildeos

ndash Ministerio de Educacioacuten y Ciencia a traveacutes de la financiacioacuten del proyecto laquoLaboratorioVirtual para la Red Nacional de Teledeteccioacuten Oceanograacuteficaraquo con referencia ESP2006-13778-C04

ndash Xunta de Galicia a traveacutes de la financiacioacuten del proyecto laquoAnaacutelise e interpretacioacuten deimaxes de sateacutelite a partires de teacutecnicas de intelixencia artificial aplicacioacuten a contami-nantes no medio marintildeoraquo con referencia PGIDIT08SIN001236PR

ndash Universidad de Santiago de Compostela mediante el laquoPrograma de Contratos Predoc-torales de la Universidad de Santiago de Compostela 2010raquo

Iacutendice general

Iacutendice de figuras XV

Iacutendice de tablas XIX

1 Introduccioacuten 111 Computacioacuten Grid 3

111 Aplicaciones Grid 612 Motivacioacuten 713 Objetivos 8

131 Objetivos concretos 914 Estructura de la memoria 10

I Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica 15

2 Evolucioacuten de la Computacioacuten Grid 1721 Estandarizacioacuten de las tecnologiacuteas Grid 1722 Arquitectura de un sistema Grid 2023 Interfaces Grid 21

231 Portales Grid primera generacioacuten 22232 Portales Grid segunda generacioacuten 24233 Portales Grid casos de estudio 28

3 Proyecto RETELAB 3131 Descripcioacuten del proyecto 31

XII Iacutendice general

311 Arquitectura general del sistema 3232 Registro y acceso de los usuarios 34

321 Autenticacioacuten y autorizacioacuten 3733 Sistema de almacenamiento distribuido 44

331 Almacenamiento de datos 4934 Visualizacioacuten de los datos 52

341 Live Access Server 52342 Integrated Data Viewer 53

35 Gestioacuten y monitorizacioacuten de trabajos 54351 Integracioacuten con el sistema de almacenamiento distribuido 56

36 Validacioacuten del laboratorio virtual 58361 Regional Ocean Model System (ROMS) 58362 Caacutelculo del modelo de produccioacuten primaria 60363 SENTINAZOS 60

II Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacuteticade vertidos de hidrocarburos 63

4 Estado del arte 65

5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de Radar deApertura Sinteacutetica (SAR) 7751 Descripcioacuten del proyecto 7752 Fuentes de datos 80

521 Sateacutelite Envisat 80522 Coleccioacuten de datos 85

53 Preprocesado 86531 Calibrado y proyeccioacuten cartograacutefica 86532 Maacutescara de tierra 87533 Filtro de ruido 88

54 Segmentacioacuten 88541 Establecimiento del umbral adaptativo 89542 Aplicacioacuten del umbral adaptativo 93

Iacutendice general XIII

543 Filtro de vientos 94544 Filtro de aacuterea 94

55 Extraccioacuten de caracteriacutesticas 9456 Clasificacioacuten 96

561 Redes Neuronales Artificiales 98562 Aacuterboles de decisioacuten 105

57 Validacioacuten del sistema de deteccioacuten de vertidos 109571 Desarrollo de un software de escritorio 109572 Integracioacuten en RETELAB 110

6 Resultados 11361 Eficacia 11362 Tiempo de procesamiento 116

7 Discusioacuten 117

Epiacutelogo 123

8 Resultados y conclusiones 123

9 Trabajo futuro 12791 Trabajo futuro en el proyecto RETELAB 127

911 Computacioacuten Cloud 127912 Integracioacuten de la computacioacuten Cloud en RETELAB 129

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 130921 Fuentes de datos 130922 Mejora de los algoritmos 131

Bibliografiacutea 133

Anexos 145

A Coacutedigo Fuente 147A1 Procedimiento para el registro de una Extensioacuten Criptograacutefica de Java (JCE) 147A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 148

XIV Iacutendice general

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151A4 Integracioacuten de Shibboleth en el sistema 151A5 Despliegue del sistema de almacenamiento distribuido 156

Listado de acroacutenimos 161

Iacutendice alfabeacutetico 167

Iacutendice de figuras

11 Ejemplo de un sistema Grid 5

21 Evolucioacuten de las tecnologiacuteas Grid 1822 Arquitectura Grid basada en capas y construida sobre los principios del

modelo de laquoreloj de arenaraquo 2123 Ejemplo de un portal Web desarrollado a traveacutes de portlets 25

31 Arquitectura general del sistema RETELAB 3332 Recursos aportados por el Centro de Supercomputacioacuten de Galicia (CESGA) 3433 Arquitectura del sistema de registro y acceso de usuarios de RETELAB 3834 Esquema simplificado del registro y acceso de usuarios al sistema 3935 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles 4036 Esquema del control de acceso basado en roles de RETELAB 4237 Arquitectura del Data Grid desplegado en RETELAB 4538 Secuencia resumida de acciones para buscar y acceder a los datos almacenados 4739 Diagrama de clases simplificado en el que se presentan las clases utilizadas

para desarrollar las operaciones sobre la Base de Datos (DB) virtual 48310 Portlet para el almacenamiento de datos locales en RETELAB 50311 Portlet para la integracioacuten de datos externos en el sistema 51312 Portlet para el almacenamiento de los resultados generados tras la ejecucioacuten

de un trabajo 52313 Integracioacuten del Live Access Server en RETELAB 53314 Integracioacuten del Integrated Data Viewer (IDV) en RETELAB 54

XVI Iacutendice de figuras

315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten detrabajos en RETELAB 55

316 Integracioacuten del espacio de almacenamiento privado del usuario con el portletde enviacuteo de trabajos 56

317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos 57318 Portlet para la monitorizacioacuten de los trabajos de usuario 58319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten

empleando ROMS 59320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data

Grid y el sistema de visualizacioacuten de IDV 61

41 Oriacutegenes de los vertidos de hidrocarburos 6642 Resolucioacuten espacial de un radar a bordo de un sateacutelite 6743 Antena virtual generada por SAR 6844 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007) 6945 Efecto del viento en la retrodispersioacuten de un pulso SAR 7046 Sistema automaacutetico para la deteccioacuten de sentinazos 7247 Analisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo

durante el antildeo 1999 74

51 Esquema de Separacioacuten de Traacutefico de Fisterra 7852 Imagen SAR del vertido provocado por el accidente del buque petrolero

Prestige (17112002) 7953 Bases de la Agencia espantildeola de Salvamento y Seguridad Mariacutetima

(SASEMAR) en Galicia y recursos asignados a la regioacuten 8054 Espectro electromagneacutetico 8355 Retrodispersioacuten media obtenida de una imagen Radar de Apertura Sinteacutetica

Avanzado (ASAR) Wide Swath Mode (WSM) para vientos de 4 ms 6 ms y10 ms 84

56 Representacioacuten de la densidad de cobertura de la Base de Datos 8557 Aacuterea de estudio y Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF) 8658 DB de imaacutegenes con sentinazos utilizada para el proyecto SENTINAZOS 8659 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten 87510 Maacutescara de tierra utilizada en SENTINAZOS 88

Iacutendice de figuras XVII

511 Ejemplo de uso del filtro de mediana 89512 Piacutexeles muestreados agrupados seguacuten su Aacutengulo de Incidencia (IA) 90513 Elementos de la muestra agrupados por la velocidad del viento 91514 Esquema de acciones realizadas para establecer el umbral adaptativo 92515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para

distintos valores de la velocidad del viento 93516 Componentes principales y porcentaje de varianza explicado 96517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores 97518 Elementos de una neurona artificial 99519 Estructura de una red neuronal Perceptroacuten Multicapa (MLP) 100520 Ejemplo simplificado de una red MLP 101521 Esquema de la neuronas empleadas en la Red Neuronal Artificial (ANN)

desarrollada 103522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP 104523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario 106524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el

proceso de entrenamiento 108525 Aacuterbol de decisioacuten binario podado 108526 Pantalla principal del software de escritorio 109527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de

los paraacutemetros por defecto y un clasificador ANN 111528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en

el laboratorio virtual 112

61 Composicioacuten de dos imaacutegenes SAR y resultados generados por los diferentesclasificadores 114

62 Detalle de los sentinazos detectados por la ANN 115

91 Arquitectura del Cloud relacionada con los servicios que proporciona 129

Iacutendice de tablas

51 Nuacutemero de embarcaciones identificadas en el ESTF 7852 Paraacutemetros orbitales del sateacutelite Envisat 8153 Modos de operacioacuten del sensor ASAR a bordo del Envisat 8354 Coeficientes y puntos de corte para las funciones de umbral adaptativo 9355 Vector de caracteriacutesticas 9556 Componentes principales y porcentaje de varianza explicado 9657 Coeficientes de los componentes principales seleccionados 97

61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten ytest 113

71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia enla clasificacioacuten 118

CAPIacuteTULO 1

INTRODUCCIOacuteN

Las necesidades computacionales de la sociedad actual son cada vez mayores Determi-nadas aacutereas de investigacioacuten como la fiacutesica de altas energiacuteas las ciencias de la Tierra o lameteorologiacutea ven limitado su desarrollo por la necesidad de maacutes y mejores recursos compu-tacionales Aunque el desarrollo tecnoloacutegico es la primera barrera que se encuentran los in-vestigadores tambieacuten lo es el acceso a la propia tecnologiacutea ya que a menudo la tecnologiacuteamaacutes puntera es econoacutemicamente inaccesible o su uso requiere de extensos conocimientos quelimitan su generalizacioacuten

La computacioacuten distribuida surge con el objetivo de permitir la colaboracioacuten y comparti-cioacuten de recursos para reducir costes y maximizar la capacidad de almacenamiento y procesa-miento Su raacutepida evolucioacuten permitioacute a los investigadores resolver problemas complejos quehasta hace poco eran inasumibles y afrontar retos maacutes ambiciosos incluso cuando los mediosde los que disponiacutean eran escasos

La observacioacuten remota de la Tierra es un claro ejemplo en el que las necesidades compu-tacionales avanzan a un ritmo difiacutecil de igualar por el desarrollo tecnoloacutegico Desde que en1957 el Sputnik Sovieacutetico fuese el primer sateacutelite en ser enviado al espacio han sido muchaslas misiones tanto civiles como militares que se han llevado a cabo para observar remotamentela Tierra Antildeo tras antildeo el nuacutemero de misiones espaciales asiacute como el nuacutemero de proyectosde investigacioacuten relacionados con eacutestas se ha ido incrementando y al menos en un futuroa corto y medio plazo la poliacutetica a este respecto seraacute continuista ya que seguacuten un informede Euroconsult Satellite-Based Earth Observation Market Prospects to 2017 se espera quecerca de 200 nuevos sateacutelites esteacuten operativos en el 2017

2 Capiacutetulo 1 Introduccioacuten

Gracias a los avances tecnoloacutegicos las misiones se han vuelto cada vez maacutes sofisticadasy cuentan con instrumentacioacuten maacutes especializada generando un gran volumen de informa-cioacuten sobre nuestro planeta que es necesario almacenar y procesar La observacioacuten remota dela Tierra o teledeteccioacuten se ha convertido en una teacutecnica imprescindible en el seguimiento yestudio de determinados procesos ambientales criacuteticos para nuestro planeta como por ejem-plo el cambio climaacutetico el deshielo o el deterioro de la capa de ozono Del mismo modo lateledeteccioacuten tambieacuten es esencial en el seguimiento de desastres tanto naturales como provo-cados por el hombre como son los incendios los terremotos o los vertidos contaminantes Enparticular la teledeteccioacuten es una herramienta fundamental en el estudio de los oceacuteanos y susfenoacutemenos asociados

Los oceacuteanos cubren cerca de las tres cuartas partes del planeta y albergan al 97 de lasespecies pero a pesar de estas cifras a menudo no somos conscientes de su importancia einfluencia por ejemplo son el pulmoacuten del planeta ya que maacutes de la mitad de la captura mun-dial de CO2 y de la produccioacuten de oxiacutegeno se realizan a traveacutes del mecanismo conocido comoProduccioacuten Primaria (PP) [56] las actividades relacionadas con el mar sustentan al 10-12de la poblacioacuten mundial [42] y nuestra dependencia energeacutetica hacia ellos es incuestionablepuesto que aproximadamente la mitad de la produccioacuten mundial de gas natural y el 30 dela de petroacuteleo se extrae de los yacimientos presentes en el lecho marino [11]

El estudio de los oceacuteanos es una tarea interdisciplinar en el que grupos tan heterogeacuteneoscomo los de los bioacutelogos fiacutesicos meteoroacutelogos oceanoacutegrafos o informaacuteticos deben traba-jar juntos para abordar problemas de naturaleza compleja y obtener los mejores resultadosA menudo dichos grupos se encuentran dispersos y pertenecen a centros diferentes lo quesupone un problema tanto organizativo como de seguridad y en muchos casos este tipo dedificultades puede obstaculizar la buena marcha de los proyectos o directamente imposibi-litarlos Ademaacutes la gran cantidad de datos obtenidos a traveacutes de la observacioacuten remota ynecesarios para la investigacioacuten genera grandes dificultades en cuanto a su almacenamientoprocesamiento y distribucioacuten Los centros necesitan disponer tanto de recursos de compu-tacioacuten de altas prestaciones como de almacenamiento masivo acordes a las necesidades delos proyectos pero esto no siempre es posible

La computacioacuten Grid paradigma de la computacioacuten distribuida se posiciona como la tec-nologiacutea maacutes adecuada para cubrir las demandas tecnoloacutegicas de la investigacioacuten oceanograacuteficay proporcionar un acceso aacutegil y eficiente a los datos almacenados La computacioacuten Grid per-mite desplegar entornos dedicados a compartir recursos entre diferentes centros a traveacutes de la

11 Computacioacuten Grid 3

red y ademaacutes permite administrar grupos virtuales de usuarios que se forman en el marco deun proyecto para maximizar sus posibilidades en torno a objetivos comunes

11 Computacioacuten Grid

Tradicionalmente los grupos y las organizaciones para la investigacioacuten han trabajado deforma local con sus propios recursos (computadores sensores bases de datos etc) y a me-nudo la heterogeneidad de los recursos asiacute como la ausencia en el uso de estaacutendares hadificultado tanto la colaboracioacuten con otros centros como la comparticioacuten de la informacioacutenEste modelo de trabajo queda obsoleto desde el momento en que se afrontan problemas inter-disciplinares interorganizativos y que demandan cantidades ingentes de recursos que ninguacutencentro puede asumir por siacute solo Un ejemplo de ello es el proyecto Large Hadron Collider

(LHC) que genera alrededor de 15 Petabytes de datos cada antildeo [99] los cuales deben ser al-macenados procesados y distribuidos Proyectos de tal envergadura que normalmente englo-ban a multitud de grupos hacen necesario modificar la forma de trabajar y buscar alternativasque permitan compartir recursos para adaptarse a las necesidades de los proyectos

La colaboracioacuten entre grupos interdisciplinares y dispersos geograacuteficamente es una piezaclave en este nuevo modelo de trabajo ya que deja obsoleto el concepto tradicional de orga-nizacioacuten y da paso a las llamadas Organizaciones Virtuales (VOs) donde diferentes grupos seunen durante un periacuteodo de tiempo determinado y comparten sus recursos para acometer unasactividades concretas La comparticioacuten de recursos en VOs debe entenderse en el sentido maacutesgeneral es decir acceso remoto a software Bases de Datos (DBs) sensores computadorasy cualquier otro tipo de medio tanto fiacutesico como loacutegico por lo que se hacen indispensablesmeacutetodos adaptados para su gestioacuten

Durante la deacutecada de los 90 aparece una nueva aproximacioacuten denominada computacioacutenGrid que nace con los objetivos de solucionar las demandas computacionales de la sociedad yde facilitar la adaptacioacuten a los nuevos conceptos organizativos La computacioacuten Grid suponeun nuevo paradigma de computacioacuten distribuida que permite agregar y compartir recursosheterogeacuteneos y geograacuteficamente distribuidos entre diferentes organizaciones

En uno de los primeros esfuerzos por concretar el teacutermino Grid Ian Foster y Carl Kessel-man [46] lo definen como

laquoUna infraestructura hardware y software que proporciona un acceso fiable consistente

generalizado y de bajo coste a capacidades computacionales de alta calidadraquo

4 Capiacutetulo 1 Introduccioacuten

Profundizando en la descripcioacuten tenemos que

ndash Por infraestructura Foster y Kesselman se refieren a un conjunto de recursos hetero-geacuteneos que incluye datos sensores ciclos de computacioacuten etc asiacute como al hardwarenecesario para la interconexioacuten de los recursos y el software utilizado para su monito-rizacioacuten y gestioacuten

ndash El acceso es considerado fiable si proporciona a los usuarios unos niveles de rendimien-to altos predecibles y estables

ndash Por acceso consistente se entiende que se proporcionan servicios a traveacutes de interfa-ces estaacutendar y utilizando paraacutemetros normalizados El uso de estaacutendares beneficia a lageneralizacioacuten del paradigma y al desarrollo de aplicaciones de usuario

ndash Se consideraraacute que el acceso es generalizado si el usuario cuenta con un nuacutecleo deservicios geneacutericos sea cual sea el sistema Grid al que se conecta

ndash El acceso a bajo coste es determinante para su aceptacioacuten ya que su uso deberaacute ser maacutesrentable que el de sus alternativas

A medida que la tecnologiacutea Grid fue evolucionando la definicioacuten anterior fue manifes-taacutendose insuficiente e incluso se dudoacute de la necesidad de este nuevo paradigma por elloFoster et aacutel [52] redefinen el concepto y lo asocian a un problema sin resolver

laquoEl problema real que subyace tras el concepto Grid es la coordinacioacuten de organizaciones

virtuales dinaacutemicas y multiinstitucionales en la resolucioacuten de problemas y la comparticioacuten de

recursosraquo

En la definicioacuten anterior se entiende por una VO un conjunto de personas yo institucionesque se agrupan a traveacutes de una poliacutetica de comparticioacuten de recursos Las VOs pueden variaren gran medida en cuanto a su propoacutesito aacutembito tamantildeo duracioacuten y localizacioacuten

Los autores justifican la necesidad de este nuevo paradigma por no existir hasta ese mo-mento una tecnologiacutea de computacioacuten distribuida que permitiese gestionar recursos compar-tidos basaacutendose en relaciones tan flexibles como las de las VOs con sofisticados controlesde acceso que incluyesen una gestioacuten desde el punto de vista maacutes especiacutefico al maacutes generalcon delegacioacuten de credenciales o que integrase el uso de poliacuteticas tanto locales como globalesy que ademaacutes ofreciera un alto rendimiento calidad de servicio planificacioacuten de las tareasmuacuteltiple asignacioacuten de recursos monitorizacioacuten y bajo coste

11 Computacioacuten Grid 5

La Figura 11 muestra un ejemplo de un sistema Grid y del uso de los recursos compartidospor parte de dos VOs En este ejemplo tres centros ponen a disposicioacuten de la comunidadparte de sus recursos pero gestionados por una poliacutetica de acceso que filtra por la VO a laque pertenecen los usuarios Cada centro estaacute etiquetado con los recursos que comparte y lapoliacutetica de seguridad que se les aplica

Centro B

Centro C

Centro AParticipantes en la VO-Ciclos pueden utilizar potencia computacional siempre y cuando no esteacute en uso por el centro propietario

Participantes en la VO-Aeronaacuteutica pueden acceder a la BD1 y BD2

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW1

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW2 y SW3

Figura 11 Ejemplo baacutesico de un sistema Grid formado por 3 centros que comparten parte de sus recursos con dosVOs (VO-Aeronaacuteutica y VO-Ciclos) Los participantes en la VO-Ciclos aprovechan la potenciacomputacional (ciclos) de los recursos compartidos por los centros lsquoArsquo y lsquoCrsquo Los participantes de laVO-Aeronaacuteutica pueden ejecutar aplicaciones que han sido compartidas por los centros lsquoArsquo y lsquoBrsquo yacceder a las DBs del centro lsquoBrsquo Elaboracioacuten propia a partir de [52]

A medida que las tecnologiacuteas Grid se fueron popularizando el teacutermino Grid se empezoacute aexplotar comercialmente diluyeacutendose su significado y utilizaacutendose como eslogan para captarnuevos clientes Las empresas incluyeron el teacutermino en muchos productos que difiacutecilmentepodiacutean encajar dentro de su definicioacuten En un intento de delimitar el concepto Ian Foster [49]publicoacute una lista con 3 puntos baacutesicos que recogen la esencia del concepto y que en una pu-blicacioacuten posterior junto con Carl Kesselman [8] agrupoacute para proponer una nueva definicioacuten

6 Capiacutetulo 1 Introduccioacuten

laquoUn Grid es un sistema que coordina recursos distribuidos a traveacutes de protocolos e inter-

faces abiertas estaacutendar y de propoacutesito general con el objetivo de proporcionar una calidad

de servicio no trivialraquo

Los elementos clave de la definicioacuten anterior y que formaban la lista de tres puntos baacutesicosse detallan a continuacioacuten

ndash Integracioacuten y gestioacuten de recursos heterogeacuteneos y distribuidos

ndash Uso de protocolos e interfaces estaacutendar abiertos y de propoacutesito general Un sistemaGrid gestiona un entorno formado por recursos heterogeacuteneos por lo que la implemen-tacioacuten de protocolos estaacutendar y libres permitiraacute que cualquier producto o aplicacioacutentanto open-source como comercial pueda interoperar con el resto de componentes delsistema

ndash Garantiacutea de calidad de servicio en cuanto a tiempo de respuesta disponibilidad seguri-dad muacuteltiple asignacioacuten de recursos etc

111 Aplicaciones Grid

En general la computacioacuten Grid se adapta a cualquier aplicacioacuten que por su complejidadno pueda ejecutarse de forma local y que potencialmente posea un alto grado de paraleli-zacioacuten Foster y Kesselman [46] identifican 5 tipos de aplicaciones que pueden obtener elmaacuteximo rendimiento de la computacioacuten Grid pero esperan la incorporacioacuten de otros tipos amedida que la computacioacuten Grid evolucione

ndash Computacioacuten distribuida aplicaciones con problemas de alta complejidad que utilizanla computacioacuten Grid para incorporar potentes recursos computacionales

ndash Computacioacuten de Altas Prestaciones (HTC) se trata de aplicaciones que presentan pro-blemas que requieren la ejecucioacuten de tareas secuenciales con baja interdependencia

ndash Computacioacuten bajo demanda se trata de aplicaciones que utilizariacutean las capacidades dela computacioacuten Grid para satisfacer necesidades puntuales de recursos Son aplicacio-nes dirigidas por una poliacutetica de costes y no de rendimiento

ndash Computacioacuten intensiva de datos este tipo de aplicaciones se centran en sintetizar nuevainformacioacuten a traveacutes del anaacutelisis de grandes cantidades de datos Los datos son divididos

12 Motivacioacuten 7

en segmentos que pueden ser procesados de forma independiente por los diferentesrecursos del sistema Posteriormente se deberaacuten unificar las salidas parciales en unresultado final

ndash Computacioacuten colaborativa aplicaciones centradas en permitir y mejorar las interaccio-nes entre los usuarios a menudo utilizando un espacio virtual comuacuten y compartiendorecursos computacionales

La computacioacuten Grid aporta una serie de beneficios claros para los centros de investiga-cioacuten que tambieacuten pueden trasladarse a la empresa privada [82] como por ejemplo

ndash Permite compartir recursos heterogeacuteneos a traveacutes de VOs (DBs ciclos de computacioacutensoftware etc)

ndash Provee un acceso transparente a recursos remotos

ndash Reduce el nuacutemero de servidores necesarios en las organizaciones

ndash Permite agregar recursos bajo demanda Ante una eventual emergencia su flexibilidadpermitiriacutea alquilar y agregar recursos externos por un tiempo limitado

ndash Optimiza el uso de recursos organizativos compartieacutendolos cuando esteacuten infrautiliza-dos

ndash Reduce el tiempo de ejecucioacuten de aplicaciones complejas

ndash Provee tolerancia a fallos

ndash Permite la virtualizacioacuten de centros de datos

ndash Permite balancear la carga entre los diferentes recursos

12 Motivacioacuten

Como se ha visto en los apartados anteriores el estudio de los oceacuteanos es de vital im-portancia y aglutina disciplinas con poca o ninguna relacioacuten En el pasado soacutelo los grandescentros de investigacioacuten podiacutean contar con equipos multidisciplinares y recursos locales sufi-cientes para afrontar cierto tipo de proyectos La computacioacuten Grid facilitoacute la colaboracioacuten yla comparticioacuten de recursos de altas prestaciones entre centros maacutes modestos

8 Capiacutetulo 1 Introduccioacuten

Desde el punto de vista de las tecnologiacuteas a menudo los usuarios finales son reacios a uti-lizar herramientas o sistemas software que a pesar de ser adecuados para su trabajo presentenuna interfaz de usuario complicada o simplemente diferente a lo que estaacuten acostumbrados

Los middleware Grid como por ejemplo Globus permiten desplegar sistema distribuidosGrid con relativa rapidez y facilidad pero muy limitados en cuanto a usabilidad y basados enuna Interfaz de Liacutenea de Comandos (CLI) poco intuitiva y amigable lo que puede llevar areducir su grado de aceptacioacuten

Seriacutea deseable disponer de un sistema Grid enfocado a la investigacioacuten oceanograacutefica quepermita compartir recursos y posibilite la colaboracioacuten entre diferentes grupos pero desarro-llado desde la sencillez y la usabilidad ya que debido a la heterogeneidad de los grupos losconocimientos tecnoloacutegicos no seraacuten los mismos entre todos los integrantes

13 Objetivos

El presente trabajo nace con el propoacutesito de cubrir las necesidades de la Red Espantildeolade Teledeteccioacuten Marina (RETEMAR) en materia de computacioacuten de altas prestaciones Es-ta Red auna investigadores y tecnoacutelogos de diferentes centros con el objetivo de maximizarrecursos y conocimientos y dirigirlos hacia la consecucioacuten de objetivos comunes en el marcodel desarrollo de proyectos de investigacioacuten El desarrollo de un laboratorio virtual asiacute co-mo de aplicaciones y herramientas enfocadas a la investigacioacuten oceanograacutefica es clave en labuacutesqueda de la cooperacioacuten entre los diferentes socios de RETEMAR

La Red permite afrontar proyectos de mayor envergadura de la que podriacutea abarcarse demanera independiente De entre los objetivos comunes cabe destacar el intereacutes mutuo en lalucha contra la contaminacioacuten marina que desgraciadamente afecta diariamente a las costasespantildeolas

Este trabajo presenta dos objetivos principales

ndash El desarrollo y despliegue de un laboratorio virtual a traveacutes de un entorno de compu-tacioacuten distribuida que permita a los investigadores colaborar y realizar proyectos deforma conjunta

ndash Desarrollar e integrar en el laboratorio un sistema de deteccioacuten de vertidos de hidrocar-buros en el mar a partir del anaacutelisis de imaacutegenes de sateacutelite

13 Objetivos 9

El laboratorio deberaacute permitir a los investigadores acceder a recursos y datos distribuidosasiacute como a la potencia computacional y espacio de almacenamiento necesarios para desarro-llar sus trabajos El acceso deberaacute ser amigable y concebido para que los cientiacuteficos puedancentrar sus esfuerzos en la investigacioacuten y no en el aprendizaje yo utilizacioacuten de las herra-mientas

Dado que los recursos seraacuten interorganizativos la seguridad deberaacute ser una de las bases dela plataforma pero sin ser un impedimento para el trabajo por lo que las poliacuteticas de seguridaddeberiacutean ser transparentes para los usuarios finales

Para validar el uso de la plataforma se desarrollaraacute un sistema de deteccioacuten de vertidosde hidrocarburos que permita monitorizar la costa a traveacutes de imaacutegenes de sateacutelite y de formasemiautomaacutetica identificar y georreferenciar los vertidos

131 Objetivos concretos

Se propone el desarrollo de un entorno colaborativo y distribuido que constituya un labo-ratorio virtual para el desarrollo de proyectos de investigacioacuten interdisciplinares relacionadoscon la teledeteccioacuten oceanograacutefica Para ello se deberaacuten alcanzar los siguientes subobjetivos

1 Despliegue de un sistema de computacioacuten Grid que permita compartir recursos hetero-geacuteneos y distribuidos

2 Desarrollo de una interfaz de usuario amigable como medio de acceso al Grid quepermita a los usuarios finales centrarse en sus trabajos y no en las herramientas

3 Implementacioacuten de un sistema de acceso y registro de usuarios basado en Public Key

Infrastructure (PKI) y Control de Acceso Basado en Roles (RBAC)

4 Despliegue de un sistema de almacenamiento distribuido gestionado por metadatos

5 Implementacioacuten de un sistema de enviacuteo y ejecucioacuten de trabajos optimizado para selec-cionar de forma dinaacutemica y transparente al usuario el mejor recurso Grid para ejecutarla tarea

6 Desarrollo de un sistema de monitorizacioacuten que permita visualizar el estado de cadatarea enviada al Grid

7 Integracioacuten de herramientas de visualizacioacuten que permitan al usuario acceder a las co-lecciones de datos almacenadas en el laboratorio

10 Capiacutetulo 1 Introduccioacuten

8 Despliegue e integracioacuten de herramientas y aplicaciones del aacutembito oceanograacutefico parala validacioacuten del laboratorio

Con el doble propoacutesito de validar el laboratorio y de desarrollar un sistema de apoyo ala lucha contra la contaminacioacuten marina se implementaraacute una aplicacioacuten para la deteccioacutende vertidos de hidrocarburos en la superficie oceaacutenica mediante el anaacutelisis de imaacutegenes desateacutelite Los subobjetivos planteados son los siguientes

1 Desarrollo de un algoritmo de segmentacioacuten basado en una umbralizacioacuten adaptativaque permita separar los posibles vertidos del resto de la imagen

2 Integracioacuten de datos meteoroloacutegicos en el algoritmo de segmentacioacuten

3 Anaacutelisis y desarrollo de un vector de caracteriacutesticas que permita representar a los can-didatos segmentados

4 Implementacioacuten de diferentes algoritmos de clasificacioacuten que a partir de los candidatossegmentados separen los falsos positivos de los vertidos

5 Optimizacioacuten del tiempo de ejecucioacuten de los algoritmos para ser utilizados en tiempocasi real

6 Seleccioacuten del clasificador que proporcione los mejores resultados e integracioacuten del sis-tema de deteccioacuten en el laboratorio virtual

14 Estructura de la memoria

Despueacutes del actual capiacutetulo introductorio en el que se describen los oriacutegenes motivacioacuteny objetivos del trabajo la presente memoria se divide en dos grandes bloques que responden alos objetivos principales de la tesis doctoral Cada uno de estos objetivos se corresponde conun proyecto de investigacioacuten financiado por un organismo diferente pero ambos con una metacomuacuten

La primera parte detalla el desarrollo de RETELAB laquoLaboratorio Virtual para la Red Na-cional de Teledeteccioacuten Oceanograacuteficaraquo RETELAB fue desarrollado gracias a la financiacioacutendel Ministerio de Educacioacuten y Ciencia (MEC) con la referencia ESP2006-13778-C04 entrelos antildeos 2007 y 2010 Siguiendo el espiacuteritu del propio proyecto el desarrollo de RETELABaunoacute el trabajo de varias organizaciones distribuidas y heterogeacuteneas

14 Estructura de la memoria 11

ndash La Universidad de Santiago de Compostela (USC) y el Centro de Supercomputacioacutende Galicia (CESGA) se centraron en la implementacioacuten del laboratorio Por un ladola USC aportoacute su experiencia en teletedeteccioacuten anaacutelisis de imaacutegenes y desarrollo deportales y por otro lado el CESGA aportoacute su amplia su experiencia en el desarrollo deentornos de Computacioacuten de Alto Rendimiento (HPC) y Computacioacuten de Altas Presta-ciones (HTC)

ndash Los usuarios tiacutepicos del laboratorio estaban representados por el Instituto Canario deCiencias del Mar (ICCM) y el Centro Tecnoloacutegico del Mar y los Alimentos del PaiacutesVasco (AZTI) La experiencia de los investigadores de estos centros fue vital para rea-lizar el anaacutelisis de requisitos asiacute como para desarrollar las aplicaciones del laboratorio

El Capiacutetulo 2 estaacute dedicado a la descripcioacuten de diferentes aspectos de la computacioacuten Gridla Seccioacuten 21 muestra las diferentes fases en la evolucioacuten de la tecnologiacutea mientras que laSeccioacuten 22 describe la arquitectura tiacutepica de un sistema Grid para finalmente ocuparse en laSeccioacuten 23 del desarrollo de portales Web como medio de acceso a los sistemas

El Capiacutetulo 3 se centra en la implementacioacuten del laboratorio virtual de RETELAB y pro-fundiza en los diferentes moacutedulos incluidos en su desarrollo

ndash La Seccioacuten 32 describe la implementacioacuten del moacutedulo de acceso y gestioacuten de usuariosy coacutemo la integracioacuten de diferentes tecnologiacuteas permitioacute desplegar un sistema de accesousable y seguro basado en un control de acceso RBAC

ndash La Seccioacuten 33 profundiza en el despliegue y desarrollo del sistema de almacenamientodistribuido utilizado en RETELAB La integracioacuten con la interfaz Web asiacute como elempleo de metainformacioacuten para describir las colecciones de datos son dos de lospuntos fundamentales

ndash La integracioacuten de diferentes herramientas para la visualizacioacuten de las colecciones dedatos presentes en RETELAB es descrita en la Seccioacuten 34

ndash La ejecucioacuten de tareas en RETELAB asiacute como su monitorizacioacuten se aborda en laSeccioacuten 35 A pesar de que no se profundiza en los detalles de la implementacioacuten yaque esta tarea fue desarrollada principalmente por el CESGA este apartado introducecoacutemo se ha integrado y mejorado el metaplanificador GridWay para su utilizacioacuten desdeel laboratorio GridWay facilita a los usuarios el enviacuteo de tareas a un Grid seleccionandoautomaacuteticamente el mejor recurso disponible para su ejecucioacuten

12 Capiacutetulo 1 Introduccioacuten

ndash Por uacuteltimo la Seccioacuten 36 muestra diferentes aplicaciones integradas para validar ellaboratorio virtual e introduce el sistema desarrollado para detectar vertidos de hidro-carburos denominado SENTINAZOS y que centra la siguiente parte de la memoria

La segunda parte de la tesis doctoral describe en detalle el proyecto SENTINAZOS laquoAnaacute-lise e interpretacioacuten de imaxes de sateacutelite a partires de teacutecnicas de intelixencia artificialaplicacioacuten a contaminantes no medio marintildeoraquo El proyecto con referencia PGIDIT08SIN-001236PR fue financiado por la Conselleriacutea de Innovacioacuten e Industria de la Xunta de Galiciaentre los antildeos 2008 y 2010 e implicoacute en su desarrollo a la Universidad de la Coruntildea (UDC) yla USC los equipos de ambas instituciones abordaron el problema desde dos puntos de vistadiferentes pero complementarios

ndash La UDC centroacute su esfuerzos en el desarrollo de algoritmos para la deteccioacuten grandescantidades de vertidos ocasionados por cataacutestrofes

ndash La USC se implicoacute en el desarrollo de un sistema de deteccioacuten de pequentildeos vertidos(sentinazos) ocasionados generalmente por tareas de mantenimiento y en la integra-cioacuten de dicho sistema en RETELAB

Despueacutes de introducir en el Capiacutetulo 4 el problema de la contaminacioacuten oceaacutenica y elestado del arte de los sistemas de deteccioacuten de vertidos el Capiacutetulo 5 se centra en el desarrollodel sistema implementado La descripcioacuten detallada del problema a resolver (Seccioacuten 51) ylas fuentes de datos empleadas (Seccioacuten 52) son la antesala para entrar en el detalle de lasdiferentes fases y algoritmos involucrados en el anaacutelisis e interpretacioacuten de las imaacutegenes Radarde Apertura Sinteacutetica (SAR)

ndash Las diferentes acciones de preprocesado necesarias para preparar los datos SAR parasu posterior anaacutelisis son descritas en la Seccioacuten 53

ndash La segmentacioacuten de la imagen relacionando las condiciones meteoroloacutegicas con laintensidad de la sentildeal del sateacutelite se detalla en la Seccioacuten 54 Durante esta fase losposibles vertidos o candidatos son identificados y aislados

ndash La Seccioacuten 55 describe el proceso por el que cada candidato es descrito empleando unconjunto de caracteriacutesticas

14 Estructura de la memoria 13

ndash Cada candidato a traveacutes de teacutecnicas de Inteligencia Artificial (AI) es clasificado comofalso positivo o vertido seguacuten sus descriptores La implementacioacuten uso y comparacioacutende los diferentes clasificadores empleados es detallada en la Seccioacuten 56

ndash La Seccioacuten 57 describe la aplicacioacuten de escritorio desarrollada para validar el sistemaasiacute como su integracioacuten en RETELAB a traveacutes de un portlet

La parte reservada al desarrollo de SENTINAZOS finaliza con un anaacutelisis detallado (Ca-piacutetulo 6) y la discusioacuten (Capiacutetulo 7) de los resultados obtenidos

Los capiacutetulos finales de la tesis doctoral se reservan para mostrar los resultados y conclu-siones del trabajo (Capiacutetulo 8) y para perfilar las liacuteneas de investigacioacuten abiertas por la tesisdoctoral y que seriacutea interesante desarrollar a corto y medio plazo (Capiacutetulo 9)

Parte I

Laboratorio Virtual de TeledeteccioacutenOceanograacutefica

CAPIacuteTULO 2

EVOLUCIOacuteN DE LA COMPUTACIOacuteN GRID

21 Estandarizacioacuten de las tecnologiacuteas Grid

La computacioacuten Grid (veacutease el Capiacutetulo 1) es un paradigma de computacioacuten distribuidaque surge como respuesta a dos necesidades por un lado la de disponer de entornos espe-cializados en la resolucioacuten de problemas complejos con altas demandas computacionales ypor otro la de gestionar VOs que permitan la colaboracioacuten entre grupos interdisciplinares ydispersos geograacuteficamente

El camino hacia su estandarizacioacuten y globalizacioacuten (veacutease la Figura 21) se inicia a prin-cipios de la deacutecada de los 90 a partir de implementaciones ad hoc que resolviacutean problemasconcretos Las aplicaciones resultantes aprovechaban la potencia computacional procedentede unir diferentes recursos distribuidos

En esta primera etapa la meta de los desarrolladores era hacer que funcionasen las apli-caciones y explorar nuevas posibilidades tecnoloacutegicas La implementacioacuten se realizaba direc-tamente sobre los protocolos de Internet sin seguir ninguacuten tipo de estaacutendar y en general lassoluciones estaban muy limitadas en cuanto a seguridad escalabilidad robustez o interopera-bilidad

I-WAY [44] es considerado el primer Grid moderno que abrioacute la puerta al desarrollo y estu-dio de la computacioacuten Grid en profundidad [22] [9] Se presentoacute en la conferencia ACMIEEESupercomputing del antildeo 1995 (SC95) a traveacutes de una demostracioacuten en la que se conectaron17 centros de supercomputacioacuten por medio de 11 redes de alta velocidad Se creoacute un super-ordenador virtual sobre el que se probaron alrededor de 60 aplicaciones diferentes I-WAYexploroacute varios aspectos que ahora se consideran esenciales en un Grid como la seguridad o

18 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

1990 1995 2000 2005

SolucionesAd-Hoc

Globus Toolkit

Open GridServices Arch

Fun

cion

alid

ad

y e

stan

dari

zaci

oacuten

Gestioacuten de sistemas virtuales compartidos

Estaacutendar de factoImplementacioacuten uacutenica

Estaacutendares de iureMuacuteltiples implementacionesEstaacutendares de internet

Web services etc

2010

Figura 21 Evolucioacuten de las tecnologiacuteas Grid Imagen adaptada de [50]

el enviacuteo y la gestioacuten de trabajos Su eacutexito demostroacute las posibilidades de la computacioacuten Gridy llevoacute a aumentar considerablemente los esfuerzos en el desarrollo de proyectos concebidospara compartir recursos de computacioacuten distribuidos

I-WAY puede considerarse el germen del proyecto Globus [45] que surge con el objetivode investigar y desarrollar tecnologiacuteas Grid fundamentales y marca el comienzo de la segundaetapa en la evolucioacuten hacia la estandarizacioacuten El proyecto liderado por Ian Foster (codesa-rrollador de I-WAY y fundador del concepto de computacioacuten Grid) tiene uno de sus pilaresen la implementacioacuten del Globus Toolkit (GT) [47] El GT es un conjunto de componentessoftware disentildeado para desplegar infraestructuras Grid y proporcionar servicios que gestionenaspectos tales como la seguridad el enviacuteo de trabajos o la administracioacuten de los recursos

El GT se situacutea en la capa de middleware es decir entre la capa de aplicaciones de usuarioy la de recursos Esta capa proporciona herramientas que permiten que los recursos participende forma coordinada en un entorno unificado y aseguren el acceso transparente a los usuarios

Ademaacutes del GT surgieron otros proyectos para el desarrollo de infraestructuras Grid comoLegion [57] o Uniform Interface to Computing Resources (UNICORE) [94] pero desde suprimera versioacuten en 1998 el GT se posicionoacute como el middleware dominante y en 2002 susegunda versioacuten (GT2) se establecioacute como el estaacutendar de facto en el desarrollo de aplicacionesGrid

21 Estandarizacioacuten de las tecnologiacuteas Grid 19

El GT2 fue pionero en el desarrollo de sistemas Grid interoperables [50] pero aunquealgunos de sus componentes fueron desarrollados formalmente en general la implementacioacutendel GT2 careciacutea de directrices y no fue sometida a una revisioacuten puacuteblica

A medida que la computacioacuten Grid se estableciacutea y se popularizaba (trascendiendo inclusoal aacutembito acadeacutemico) se hizo maacutes patente la necesidad de desarrollar estaacutendares que aporta-sen total interoperabilidad no soacutelo a nivel de aplicaciones Grid sino tambieacuten de componentesfundamentales del sistema y permitiesen la integracioacuten de muacuteltiples tecnologiacuteas en un sistemade recursos compartidos [73]

En el antildeo 2002 surge la Open Grid Service Architecture (OGSA) [51] la cual define unestaacutendar que incluye servicios baacutesicos de computacioacuten Grid como la seguridad gestioacuten derecursos administracioacuten de trabajos etc OGSA busca la convergencia entre la tecnologiacuteaGrid y los servicios Web por lo que define una arquitectura abierta basada en servicios paradesarrollar entornos Grid OGSA no aporta detalles para la implementacioacuten del estaacutendar y enconsecuencia surge una importante dificultad OGSA requeriacutea servicios Web con estado peroel estaacutendar de dichos servicios no lo proporcionaba

En 2003 surge la Open Grid Services Infrastructure (OGSI) la cual detalla una posible im-plementacioacuten de OGSA y presenta una versioacuten modificada de los servicios Web denominadaservicios Grid [68] Estos servicios proporcionaban entre otras cosas soporte para el estadogracias a una modificacioacuten del Web Services Description Language (WSDL) [30] llamadaGrid Web Service Definition Language (GWSDL) [115] La tercera versioacuten del GT surge en2004 y en su camino hacia la estandarizacioacuten basa su implementacioacuten en el estaacutendar definidopor OGSI

La comunidad Grid pronto consideroacute que OGSI era una aproximacioacuten poco convenien-te [102] sobre todo por usar una versioacuten modificada de los servicios Web en lugar de basarseen el estaacutendar Se continuoacute trabajando para encontrar una mejor solucioacuten para la implementa-cioacuten del estaacutendar OGSA en general y para la implementacioacuten de servicios Web con estadoen particular En 2004 se propuso la especificacioacuten Web Service Resource Framework (WSRF)con el objetivo de sustituir a OGSI y aportar una implementacioacuten de los servicios Web con es-tado aceptada tanto por la comunidad Grid como por la comunidad de servicios Web WSRFintegra OGSA con los servicios Web puros y es la base para la implementacioacuten de la cuartaversioacuten del Globus Toolkit (GT4) (versioacuten empleada en el desarrollo del laboratorio virtual deRETELAB)

20 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

El teacutermino de servicio Grid ha continuado utilizaacutendose pero a partir de la especificacioacutende WSRF se asocia a cualquier servicio que de acuerdo a la nueva especificacioacuten se ajuste alas convenciones de interfaz de una infraestructura Grid

Continuando con el proceso de estandarizacioacuten Foster y Kesselman [50] anticiparon enel antildeo 2003 una futura fase en la buacutesqueda de un sistema Grid global que denominaron ges-tioacuten de sistemas virtuales compartidos Partiendo de la especificacioacuten de OGSA en esta fasese preveiacutea un incremento del conjunto de servicios y sistemas estaacutendar orientados a la inter-operabilidad Este nuevo conjunto de estaacutendares estariacutea enfocado a la administracioacuten tanto dedispositivos moacuteviles como de grandes sistemas con muacuteltiples VOs y todo ello aumentando elgrado de virtualizacioacuten enriqueciendo los modos de comparticioacuten e incrementando la calidadde servicio

22 Arquitectura de un sistema Grid

La arquitectura de un sistema Grid desarrollado con GT (veacutease la Figura 22) se divideen capas y estaacute construida sobre los principios del modelo de reloj de arena (hourglass mo-

del) [50] en el que las capas intermedias situadas en el cuello del reloj contienen un conjuntode protocolos e interfaces que los desarrolladores de servicios y aplicaciones de maacutes alto nivel(capas superiores) utilizan y que les permiten abstraerse de los desarrollos y tecnologiacuteas delas capas inferiores que gestionan el uso de los recursos locales

ndash Capa de infraestructura (Fabric layer) proporciona las operaciones baacutesicas sobre losrecursos que seraacuten utilizadas como base para el desarrollo de operaciones de maacutes altonivel

ndash Capa de conectividad (Connectivity layer) define el nuacutecleo de los protocolos utilizadospara la comunicacioacuten y la autenticacioacuten requeridos en las transacciones

ndash Capa de recursos (Resource layer) contiene los protocolos necesarios para gestionar deforma remota el acceso e interaccioacuten con los recursos individuales

ndash Capa colectiva (Collective layer) contiene protocolos para la gestioacuten de recursos muacutel-tiples Utiliza los protocolos definidos en las capas inferiores para implementar susoperaciones

23 Interfaces Grid 21

Recursos locales computadoras redes

almacenamiento sensores etc

Acceso seguro a recursos y servicios

Gestioacuten de recursos muacuteltiples diagnoacutestico monitorizacioacuten

etc

Herramientas y aplicaciones de usuario

Capa de aplicaciones

Capa colectiva

Capa de recursos

Capa de conectividad

Capa de infraestructura

Figura 22 Arquitectura Grid basada en capas y construida sobre los principios del modelo de laquoreloj de arenaraquoFigura adaptada de [50]

ndash Capa de aplicaciones (Application layer) esta capa contiene las aplicaciones de usua-rio que se implementan de forma especiacutefica para dar respuesta a un problema dentrodel entorno de una organizacioacuten virtual Para su desarrollo se utilizan las interfacesdesarrolladas en las capas inferiores

23 Interfaces Grid

Existen dos tipos de usuarios relacionados con los sistemas Grid desarrolladores y usua-rios finales Es habitual que los usuarios no tengan grandes conocimientos tecnoloacutegicos y enparticular la formacioacuten en este aacutembito es muy escasa Eacutestos ven al sistema como un mediopara desarrollar su trabajo por lo que la usabilidad del entorno ha de ser primordial La CLIes la solucioacuten baacutesica para el acceso a un Grid pero es muy poco amigable y requiere de unestudio previo de los comandos y sus formas de uso por lo que habitualmente es rechazadapor los usuarios finales Es conveniente desarrollar entornos que faciliten el acceso y utiliza-cioacuten de los sistemas y en la medida de lo posible que abstraigan a los usuarios de los detallestecnoloacutegicos para que puedan centrarse en sus trabajos

Con el desarrollo de la Web 20 surge la tendencia de migrar aplicaciones y sistemas ala Web convirtiendo Internet en un entorno amigable y conocido para el usuario La compu-

22 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

tacioacuten Grid no fue ajena a este cambio y surgieron los llamados portales Grid que actuabancomo interfaces de acceso a los sistemas distribuidos El acceso Web suponiacutea una evolucioacutenen cuanto a la generalizacioacuten y popularizacioacuten de los sistemas Grid ya que permitiacutea accedera los usuarios en cualquier momento y desde cualquier lugar a traveacutes de una interfaz ergonoacute-mica y sin tener que instalar software especiacutefico Desde el punto de vista de su finalidad losportales Grid pueden dividirse en dos categoriacuteas

ndash Portales Grid especializados proveen de un subconjunto de operaciones Grid en elmarco de una aplicacioacuten especiacutefica

ndash Portales Grid de propoacutesito general proveen de un acceso baacutesico y sin propoacutesito concre-to a servicios y recursos de un Grid

Los desarrollos de portales Grid pueden dividirse en dos generaciones dependiendo desu implementacioacuten y tecnologiacuteas utilizadas [69] la primera generacioacuten estaacute caracterizada pordesarrollos fuertemente acoplados con el middleware (habitualmente GT2) mientras que lasegunda generacioacuten hace uso de tecnologiacuteas como por ejemplo los portlets que permitensoluciones maacutes configurables y dinaacutemicas

231 Portales Grid primera generacioacuten

Surgen a mediados de los antildeos 90 como una forma de hacer maacutes accesibles y usables lossistemas Grid Se realizaron grandes esfuerzos para implementar entornos de computacioacutenGrid que ofreciesen a traveacutes de la Web los mismos servicios que un sistema Grid claacutesico Estosdesarrollos previos a los estaacutendares (veacutease la Seccioacuten 21) son soluciones personalizadaspoco modulares y fuertemente acopladas con el middleware Esta primera generacioacuten aportoacutesoluciones pero sobre todo un valioso conocimiento de la problemaacutetica que permitioacute allanarel terreno para desarrollos posteriores A continuacioacuten se detallan algunas de las limitacionesmaacutes importantes [69]

ndash Los portales tienen poca o ninguna posibilidad de personalizacioacuten por parte del usuariofinal

ndash El alto acoplamiento entre los portales y el middleware Grid hace que sea muy compli-cado integrar servicios suministrados por otro middleware

23 Interfaces Grid 23

ndash En esta eacutepoca el desarrollo de la computacioacuten Grid era muy dinaacutemico La integracioacutende nuevas funcionalidades Grid no contempladas desde un primer momento era muycomplicada

Aunque no son los uacutenicos los ejemplos presentados a continuacioacuten son una muestra rele-vante de sistemas de primera generacioacuten Es importante destacar que se describen las primerasversiones importantes pero que eacutestos han continuado evolucionando y cambiando por lo quelas limitaciones mencionadas no tienen que estar presentes en las sucesivas versiones

UNICORE Uno de los primeros ejemplos importantes de portales Grid de propoacutesitogeneral fue UNICORE [94] No dependiacutea de ninguna implementacioacuten especiacutefica ni de servi-cios ni de un middleware Grid sino que se trataba de una solucioacuten completa para la gestioacuten yuso de una red de recursos heterogeacuteneos y distribuidos En los primeros prototipos el accesoa UNICORE se proporcionaba a traveacutes de un applet disponible a traveacutes de la Web Imple-mentaciones posteriores descartaron el uso del applet en beneficio de una aplicacioacuten Java deescritorio [38]

GridPort 20 Es un toolkit basado en scripts CGI de Perl para desarrollar y desplegarraacutepidamente portales Grid [107] Fue implementado pensando en potenciar la compatibilidada expensas de sacrificar rendimiento y flexibilidad y por ello se utilizaron tecnologiacuteas baacutesicasy se descartaron otras maacutes complejas y actuales como los applets (en el lado del cliente) oJava Server Pages (JSP) y servlets (en el lado del servidor) Se utiliza GT para acceder a losrecursos de alta computacioacuten y sus comandos son invocados a traveacutes de los scripts La interfazde usuario se construye a traveacutes de paacuteginas HTML que contienen llamadas a los scripts Tantoel uso de scripts y de HTML para modelar la interfaz como la encapsulacioacuten de los serviciosen los propios scripts facilita el despliegue pero complica el mantenimiento y personalizacioacutendel portal

Grid Portal Development Kit (GPDK) Es un toolkit que provee de una serie de compo-nentes reutilizables que permiten interactuar con los recursos de un sistema Grid y desarrollarportales y aplicaciones con interfaces personalizables [85] En la medida de lo posible GPDKfue desarrollado a traveacutes de software libre y abierto GT2 es el middleware utilizado para elacceso y gestioacuten del sistema distribuido mientras que el desarrollo del portal y las aplicacio-

24 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

nes se basan en JSP y servlets La interaccioacuten entre Java y GT2 se realiza a traveacutes de Java

Commodity Grid Kit (CoG) [113]

232 Portales Grid segunda generacioacuten

El inicio de la segunda generacioacuten de portales Grid viene marcado por la aparicioacuten de losportlets o componentes reutilizables para portales Web y por el desarrollo de los estaacutendaresGrid basados en servicios

Tecnologiacuteas empleadas

Portlets Como hemos visto en el apartado anterior los portales de primera generacioacutenestaban muy limitados en cuanto a personalizacioacuten y esto se solucionoacute en gran medida gra-cias a la aparicioacuten de los portlets Seguacuten la primera versioacuten de la especificacioacuten del estaacutendarde desarrollo de portlets de Java (JSR168) [10]

laquoUn portlet es un componente Web desarrollado en Java y gestionado por un contene-

dor de portlets que procesa peticiones y genera contenido dinaacutemico Los portales utilizan

portlets como componentes de la interfaz de usuario que se pueden activar o desactivar y que

proporcionan una capa de presentacioacuten a los sistemas de informacioacutenraquoEl usuario final ve al portlet como una ventana dentro de un portal que proporciona in-

formacioacuten o acceso a un servicio concreto como por ejemplo un calendario noticias o elacceso a un buzoacuten de correo [61] Un portlet genera un fragmento de coacutedigo HTML que esincrustado en una seccioacuten del portal La unioacuten de los fragmentos generados por los diferentesportlets forman la interfaz del portal Una caracteriacutestica importante de este tipo de portales esla posibilidad de personalizacioacuten que ofrecen al usuario final ya que el contenido generadopuede variar dependiendo de la configuracioacuten e incluso es posible administrar queacute portletsestaacuten activos y cuaacuteles no (veacutease la Figura 23) Es faacutecil imaginarse un portal como un puzzleque puede tomar cualquier forma (la elige el usuario final) y en el que se pueden intercambiarpiezas siendo cada pieza un portlet Lo interesante es que estas piezas pueden ser reutilizadaspara formar parte de nuevos portales pues lo uacutenico que se exige es que el portal de des-tino sea compatible con el Application Programming Interface (API) estaacutendar de desarrollode portlets Cada portlet funciona de forma independiente respecto al resto y tiene su propiociclo de vida que es gestionado por el contenedor de portlets

23 Interfaces Grid 25

Contenedor de portlets Podemos definir un contenedor de portlets como un entorno deejecucioacuten en donde los portlets pueden ser instanciados usados y finalmente destruidos Esresponsabilidad del contenedor la gestioacuten del ciclo de vida del portlet [69] Un contenedorde portlets no puede ser usado de forma independiente sino que se despliega dentro de uncontenedor de servlets y aprovecha sus funcionalidades

Noticias de la Red X-

Red Nacional de Teledeteccioacuten Oceanograacutefica

Gestioacuten de Credenciales X-

Activo

X-

X-

Modelo Produccioacuten Primaria

Roms

X-Sentinazos

Seleccionar portlet activo

Portlets con acceso restringido Usuario no autorizado

Portlets con acceso restringido Usuario autorizado

Figura 23 Ejemplo de un portal Web desarrollado a traveacutes de portlets

Portlets Grid

Un portlet Grid es un tipo especial de portlet que estaacute asociado a un servicio Grid pro-porcionado por un middleware Gracias a la estandarizacioacuten tanto de los portlets como de losservicios Grid un portlet puede ser reutilizado e interactuar con un servicio Grid sea cualsea el middleware que lo hace accesible por lo que se puede afirmar que los portales Griddesarrollados con portlets se encuentran deacutebilmente acoplados al middleware

Entornos para el desarrollo de portales Web basados en portlets

Los entornos disentildeados para desarrollar portales basados en portlets no son especiacuteficosde la computacioacuten Grid es decir son geneacutericos y pueden contener portlets de cualquier tipo(incluido portlets Grid) WebSphere y GridSphere son probablemente los entornos de mayorpopularidad

26 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

IBM WebSphere Portal Es una aplicacioacuten J2EE que se ejecuta sobre un servidor deaplicaciones con el mismo nombre y que permite desarrollar y administrar portales Web cen-trados en el acceso a aplicaciones contenidos y servicios a traveacutes de portlets [69] Es unaimplementacioacuten propietaria que actualmente se encuentra en su octava versioacuten Durante susprimeras versiones el desarrollo de portlets estaba basado en el API de IBM que aunquefundamentalmente era similar al API JSR168 sus pequentildeas diferencias [59] impediacutean la to-tal compatibilidad de los portlets El soporte para el API JSR168 fue incluido a partir de laversioacuten 502 y la versioacuten actual soporta tanto el API JSR168 como el API JSR286

Con el portal se distribuye un toolkit que permite su administracioacuten y personalizacioacuten asiacutecomo la creacioacuten prueba depuracioacuten y despliegue de portlets para un raacutepido desarrollo ElIBM WebSphere Portal tambieacuten provee de mecanismos para la personalizacioacuten de la vista delportal por el usuario final permitiendo seleccionar las aplicaciones y contenidos asiacute comoestablecer la forma en que son mostrados

GridSphere Es uno de los entornos de desarrollo de portales basados en portlets maacutesconocidos y utilizados [87] y concretamente fue el empleado para desplegar el laboratoriovirtual de RETELAB Se trata de un proyecto de coacutedigo libre desarrollado en el marco delproyecto GridLab que incluye un contenedor de portlets un conjunto baacutesico de portlets ylibreriacuteas de desarrollo

GridSphere es compatible con el API de WebSphere y con el API estaacutendar para portlets loque permite una raacutepida integracioacuten del software desarrollado por terceros Cuando el proyectofue iniciado la primera versioacuten del estaacutendar todaviacutea no se habiacutea publicado por lo que deentrada fue construido conforme al de IBM La compatibilidad con el estaacutendar fue antildeadidaen una versioacuten posterior

El conjunto baacutesico de portlets incluido en GridSphere facilita el desarrollo de nuevosportales y aporta funcionalidades baacutesicas como la administracioacuten de usuarios y grupos elacceso de los usuarios al portal la gestioacuten de las cuentas o la personalizacioacuten del portal

Entornos y herramientas para el desarrollo de portlets Grid

Para facilitar la implementacioacuten de portlets Grid y su despliegue en los portales surgieronproyectos especiacuteficos que proporcionaban tanto entornos de desarrollo como toolkits

23 Interfaces Grid 27

GridPortlets y Open Grid Computing Environments (OGCE) son dos de los entornos dedesarrollo maacutes populares y extendidos Ambos aportan herramientas baacutesicas que permiten alos desarrolladores interactuar con el middleware facilitando el desarrollo de portlets Grid

OGCE Es un proyecto de coacutedigo libre que proporciona un ecosistema en el que seintegran diferentes tecnologiacuteas y herramientas para la creacioacuten de portales Grid [12] [116]

Varias son las liacuteneas en las que OGCE ha centrado sus esfuerzos

ndash Establecer un entorno de desarrollo de portlets Grid desde la segunda versioacuten del OG-CE los portlets desarrollados cumplen con el estaacutendar y pueden ser reutilizados Parafacilitar su implementacioacuten OGCE proporciona una utilidad que permite la creacioacuten deportlets estaacutendar a traveacutes de la herramienta de desarrollo Web denominada Velocity [4]

ndash Abstraer a los desarrolladores de aplicaciones del sistema Grid utilizado OGCE noutiliza un uacutenico API para acceder a los diferentes servicios Grid sino que se basa enun conjunto procedente de varios proyectos como CoG o GridPort CoG se puede con-siderar el API principal y proporciona una capa de abstraccioacuten que independiza a losportlets del middleware utilizado

ndash Desarrollar servicios Grid avanzados la segunda versioacuten de OGCE integra y proporcio-na servicios para por ejemplo monitorizar los recursos locales utilizando el GridPort

Information Repository (GPIR) incorporar el repositorio semaacutentico de contenido Tu-pelo [5] o generar interfaces de servicio Web para las aplicaciones cientiacuteficas que sedesee integrar en el portal

ndash Desarrollar servicios para la colaboracioacuten de grupos OGCE desarrolloacute servicios y di-sentildeoacute interfaces portlet para integrar las herramientas colaborativas Sakai [3]

OGCE ha sido el entorno utilizado para el desarrollo de los portlets en RETELAB ademaacutestambieacuten se incorporaron al laboratorio varios portlets ya implementados por OGCE como elportlet para la administracioacuten de credenciales o el dedicado a la gestioacuten de ficheros remotos

GridPortlets Surge dentro del proyecto GridSphere con el objetivo de proporcionar alos desarrolladores un entorno para la implementacioacuten de portlets Grid [97] GridPortletsdistribuye una coleccioacuten de portlets baacutesicos que pueden ser utilizados individualmente o juntoa otras aplicaciones y que permiten desplegar un portal Grid baacutesico Este conjunto de portlets

28 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

estaacute implementado a traveacutes de componentes JSP reutilizables que pueden ser integrados ennuevas implementaciones

Al contrario de OGCE que utilizaba varias APIs GridPortlets proporciona una uacutenica APIde alto nivel pensada para acceder a los servicios Grid e interactuar con los recursos y asiacutedesarrollar portlets y aplicaciones Grid especiacuteficas

Los portlets desarrollados a traveacutes de GridPortlets no son completamente independientesde GridSphere y aunque teoacutericamente son compatibles con el API estaacutendar no se puedenintegrar faacutecilmente en otros contenedores de portlets [116] GridPortlets pensando en la usa-bilidad proporciona una sencilla pero potente interfaz para el enviacuteo de trabajos que abstrae alusuario de los detalles de bajo nivel y almacena un detallado historial de cada trabajo proce-sado para que pueda ser consultado a posteriori

233 Portales Grid casos de estudio

Durante la primera deacutecada del siglo XXI sobre todo en los primeros antildeos la incidencia delos sistemas Grid en la sociedad fue en aumento no soacutelo en el campo acadeacutemico sino tambieacutenen el empresarial La estandarizacioacuten de las tecnologiacuteas Grid y la mejora de las interfaces deusuario hicieron de esta tecnologiacutea una valiosa herramienta Fueron muchos los sistemas Griddesplegados y numerosos tambieacuten los portales Grid desarrollados para interactuar con lossistemas de una forma amigable Una gran mayoriacutea de estos portales estaban centrados enla visualizacioacuten de informacioacuten monitorizacioacuten de los recursos y sistemas y en la ejecucioacutende tareas simples no obstante algunos otros profundizaron en la tecnologiacutea y desarrollaronaplicaciones Web que facilitaban la realizacioacuten de tareas Grid complejas a los usuarios

GENIUS Grid Portal La Organizacioacuten Europea para la Investigacioacuten Nuclear (CERN)en general y el proyecto LHC en particular han ejercido una gran influencia en el desarrollode la tecnologiacutea Grid El portal Grid GENIUS [19] [15] implementado dentro del marco delproyecto europeo DataGrid fue desarrollado para proporcionar acceso a los datos del LHC ypermitir su utilizacioacuten en diferentes aplicaciones sobre un sistema Grid Estaba disentildeado paraproporcionar un acceso seguro a funcionalidades Grid como el enviacuteo y ejecucioacuten de trabajosla administracioacuten de datos o el acceso interactivo para el anaacutelisis de los datos generados

GENIUS fue un portal Grid pionero basado en una versioacuten extendida del GT Este mid-

dleware modificado extendioacute la interfaz de Globus facilitando la interaccioacuten entre las aplica-ciones software y el sistema Grid La primera versioacuten del portal se puede considerar dentro

23 Interfaces Grid 29

de la primera generacioacuten de portales Grid (veacutease la Seccioacuten 231) ya que su desarrollo estaacutefuertemente acoplado con el middleware utilizado

El portal permitiacutea el acceso remoto de usuarios pero manteniacutea la necesidad de tener unacuenta personal en el servidor del portal con la que se proporcionaba acceso al sistema deficheros local La autenticacioacuten y autorizacioacuten de los usuarios sobre los recursos Grid se rea-lizaba a traveacutes de la delegacioacuten de credenciales implementada con MyProxy (veacutease la Sec-cioacuten 32)

Earth System Grid (ESG) En general los proyectos relacionados con el estudio de laTierra poseen una serie de particularidades que dificultan su desarrollo a traveacutes de mediostradicionales

ndash Generan cantidades ingentes de informacioacuten bien sea a traveacutes de la observacioacuten directade fenoacutemenos o bien a traveacutes de la ejecucioacuten de modelos que los simulan

ndash Los algoritmos y modelos utilizados suelen requerir una gran potencia computacional

ndash Implican ciencias interdisciplinares en donde trabajan cientiacuteficos de diferentes ramasque deben colaborar para obtener el maacuteximo rendimiento de las investigaciones

La computacioacuten Grid se adapta especialmente bien a este tipo de proyectos y en concretoel proyecto ESG [23] es uno los maacutes relevantes Centrado en la investigacioacuten climaacutetica ESGproporciona un entorno colaborativo con el objetivo de almacenar distribuir y procesar lasenormes cantidades de datos utilizadas en el seno de sus proyectos

Ademaacutes de proporcionar la infraestructura necesaria para el almacenamiento de la infor-macioacuten climaacutetica gran parte de los esfuerzos del proyecto fueron destinados a desarrollarestaacutendares y servicios de metainformacioacuten orientados a administrar navegar buscar y com-partir los datos almacenados Un portal Grid facilita el acceso a los datos y los servicios debuacutesqueda y recuperacioacuten de informacioacuten

El acceso a los recursos Grid se basa en el sistema de delegacioacuten de credenciales de My-Proxy (veacutease la Seccioacuten 32) pero ESG desarrolloacute y empleoacute un novedoso sistema de registrode usuarios para la generacioacuten automaacutetica de credenciales El Portal-based User Registra-

tion Service (PURSe) [53] permite el registro de usuarios y la creacioacuten y administracioacuten desus Certificados Digitales (DCs) y respectivos proxies de forma automaacutetica Originalmentefue desarrollado dentro del proyecto pero posteriormente evolucionoacute como sistema indepen-diente e integrable en nuevos portales Grid

30 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

PURSe encaja perfectamente con la poliacutetica de facilidad de uso que dirige el proyectoRETELAB por lo que fue integrado como medio de registro de usuarios No obstante elmoacutedulo de registro fue modificado y mejorado para dar un soporte maacutes amplio que el propor-cionado por defecto y asiacute ajustarse a las necesidades del laboratorio virtual Los detalles deimplementacioacuten y de integracioacuten se muestran en detalle en la Seccioacuten 32

P-Grade P-Grade es un portal Grid basado en GridSphere concebido para soportarformas complejas de ejecucioacuten de trabajos dirigidas por flujos de tareas (workflows) P-Gradeestaacute disentildeado para trabajar con Globus como middleware lo que le permite integrarse concualquier sistema Grid que lo utilice y aportarle la capacidad avanzada de administracioacuten deflujos de tareas Proporciona a los usuarios un editor de flujos que permite disentildear localmentelas tareas y subirlas al servidor Empleando Java Web Start (JavaWS) los usuarios puedendescargar el editor desde el portal y eacuteste se instala automaacuteticamente y de forma transparenteen la estacioacuten de trabajo del usuario Dentro de un mismo flujo de tareas P-Grade soportala asignacioacuten de trabajos a recursos que pertenezcan a diferentes Grids e incluso la creacioacutende flujos colaborativos entre varios investigadores Es tarea del usuario la asignacioacuten de losrecursos en concreto en donde se vaya a ejecutar una parte del flujo por lo que el usuario debeconocer la estructura del sistema

CAPIacuteTULO 3

PROYECTO RETELAB

31 Descripcioacuten del proyecto

RETELAB es un laboratorio virtual desplegado sobre un sistema distribuido que propor-ciona un entorno de trabajo colaborativo enfocado al desarrollo de proyectos de teledeteccioacutenoceanograacutefica [78] [33] Nace en el seno de la red RETEMAR con el objetivo proporcionarun entorno para llevar a cabo proyectos de altas prestaciones entre sus integrantes

Seguacuten las especificaciones iniciales los requerimientos que debiacutea cubrir el laboratoriovirtual eran

ndash Gestioacuten de recursos compartidos el laboratorio virtual debiacutea poseer la capacidad deintegrar y administrar recursos distribuidos pertenecientes a los diferentes centros de laRed

ndash Soporte para el almacenamiento administracioacuten e intercambio de datos distribuidos elalmacenamiento local tiene grandes limitaciones a la hora de administrar las ingentescantidades de datos capturados a traveacutes de la teledeteccioacuten por lo que RETELAB de-biacutea disponer de un sistema de datos distribuidos que permitiese almacenar procesar ycompartir la informacioacuten

ndash Potencia computacional en general las aplicaciones cientiacuteficas oceanograacuteficas (mode-los climaacuteticos deteccioacuten de contaminantes etc) demandan una gran cantidad de recur-sos computacionales El sistema proporcionariacutea la potencia necesaria para su ejecucioacuten

32 Capiacutetulo 3 Proyecto RETELAB

ndash Seguridad dado que el laboratorio proporcionariacutea acceso a recursos compartidos laseguridad debiacutea ser uno de los pilares en el disentildeo e implementacioacuten de RETELAB

ndash Interfaz amigable es necesario que la interfaz de acceso al sistema sea intuitiva y faacutecilde utilizar para que los usuarios puedan centrarse en sus trabajos sin tener que dedicaresfuerzos al aprendizaje de nuevas herramientas

ndash Visualizacioacuten el laboratorio virtual debiacutea proporcionar las herramientas necesarias paravisualizar tanto los resultados de los trabajos como los datos almacenados

Las especificaciones del sistema junto con las caracteriacutesticas tiacutepicas de las aplicacionesque se desea ejecutar hacen de la computacioacuten Grid la tecnologiacutea maacutes adecuada para el desa-rrollo del laboratorio virtual y el acceso a traveacutes de un portal Grid la opcioacuten maacutes simple yamigable para el usuario final

311 Arquitectura general del sistema

El disentildeo de RETELAB se corresponde con una arquitectura cliente-servidor multicapa(veacutease la Figura 31) en la que una aplicacioacuten cliente tiacutepicamente un navegador Web realizapeticiones a un servidor que las procesa y devuelve un resultado A continuacioacuten se describenbrevemente las principales capas del sistema

ndash Capa de aplicaciones en esta capa se situacutea el servidor Web (Tomcat + Apache) en el queestaacute desplegado el portal Grid a traveacutes del cual se accede al sistema El portal basadoen el contenedor de portlets GridSphere contiene diferentes portlets que encapsulan ygestionan tareas sobre los recursos de alta computacioacuten

ndash Capa de middleware en esta capa estaacute desplegada la cuarta versioacuten del Globus Tool-

kit que contiene la tecnologiacutea y herramientas necesarias para gestionar un Grid GT4proporciona una coleccioacuten de servicios que permiten a las aplicaciones (capa superior)operar sobre los recursos de alta computacioacuten (capa inferior)

ndash Capa de recursos en esta capa se situacutean los recursos del sistema Se trata de recursosdistribuidos y heterogeacuteneos que pertenecen a diferentes centros

31 Descripcioacuten del proyecto 33

Figura 31 Arquitectura general del sistema RETELAB

Recursos del sistema

El sistema Grid de RETELAB permite incluir recursos de cualquier centro participante enel proyecto pero en el despliegue inicial soacutelo se ponen a disposicioacuten de la comunidad recursosde la USC y del CESGA

La USC colaboroacute con un cluster compuesto por 11 nodos 10 AMD Opteron 2212 y 1INTEL Xeon 5130 cada uno de los cuales presenta las siguientes caracteriacutesticas arquitecturax86_64 2 procesadores dual core frecuencia de 2GHz 4GB RAM e interconexioacuten Giga-Ethernet

El CESGA aportoacute un cluster compuesto de 4 nodos HP Proliant de las siguientes carac-teriacutesticas arquitectura x86_64 2 procesadores Intel Xeon Quadcore X5355 (8 coresequipo)frecuencia de 266GHz 8 GB de RAM 4 x 2MB cacheacute (L2) e interconexioacuten GigaEthernet

Los recursos proporcionados por el CESGA se aprovecharon al maacuteximo gracias a la pla-taforma de virtualizacioacuten Xen [6] Tal y como se muestra en la Figura 32 uno de los nodosdel cluster fue virtualizado para alojar a 3 recursos virtuales diferentes

ndash RETELAB UI aloja la interfaz de acceso al laboratorio virtual es decir el portal Grid

34 Capiacutetulo 3 Proyecto RETELAB

ndash CESGA CE gestiona los trabajos que le llegan al cluster actuando como nodo principalo laquocabezaraquo

ndash Nodo de trabajo se ha virtualizado un nodo de trabajo que si bien no tiene la potenciacomputacional del resto de los nodos es aprovechado y utilizado como parte del cluster

Fedora Core 6 + XENScientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Hardware

Xenreg Hypervisor

CEUI Nodo Trabajo

Scientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Cluster CESGA

Figura 32 Recursos aportados por el CESGA

32 Registro y acceso de los usuarios

El objetivo de esta seccioacuten es mostrar el moacutedulo para el registro y acceso de los usuarios deRETELAB al sistema pero para una mejor comprensioacuten es necesario introducir brevementealgunos conceptos sobre la infraestructura de seguridad del GT

32 Registro y acceso de los usuarios 35

Security Grid Infrastructure (GSI)

La GSI es un conjunto de herramientas libreriacuteas y protocolos usados por el GT paragestionar el acceso de los usuarios y aplicaciones a los recursos de altas prestaciones [70]Los pilares fundamentales del GSI son la PKI y los Certificados Digitales (DCs) X509

Cada participante de un sistema Grid dispone de un DC X509 que lo identifica y queprincipalmente estaacute compuesto por

ndash Un nombre que identifica a la persona o recurso al que representa el DC

ndash La clave puacuteblica del propietario del DC

ndash El nombre de la Autoridad Certificadora (CA) que ha firmado el DC y que garantiza laidentidad del propietario Es esencial que todos los participantes de un Grid confiacuteen ytengan acceso a las claves puacuteblicas de las CAs utilizadas para firmar los DCs

ndash La firma digital de la CA que valida el DC

Es importante diferenciar dos teacuterminos en el aacutembito de la seguridad Grid

ndash Autenticar proceso de identificar uniacutevocamente a un usuario o a un recurso

ndash Autorizar proceso que identifica las acciones que puede realizar un usuario sobre unrecurso concreto

Autenticacioacuten El proceso de autenticacioacuten de participantes en un sistema Grid es mu-tuo es decir para establecer una comunicacioacuten entre dos participantes es necesario que cadauno de ellos se identifique ante el otro a traveacutes del siguiente meacutetodo

1 La entidad lsquoArsquo establece una conexioacuten con la entidad lsquoBrsquo y le enviacutea su DC

2 La entidad lsquoBrsquo comprueba la autenticidad del DC utilizando la clave puacuteblica de la CAcon la firma del certificado

3 Una vez validado el certificado lsquoBrsquo trata de confirmar que la entidad que envioacute el DC esrealmente su propietaria y para ello enviacutea un mensaje aleatorio para que lsquoArsquo lo codifiqueutilizando su clave privada

4 La entidad lsquoArsquo utiliza su clave privada para codificar el mensaje y eacuteste es devuelto a lsquoBrsquo

36 Capiacutetulo 3 Proyecto RETELAB

5 lsquoBrsquo utiliza la clave puacuteblica de lsquoArsquo contenida en el DC para descodificar el mensaje ycomprobar que es el mismo que el original

6 Una vez que lsquoArsquo es autenticada lsquoBrsquo iniciariacutea nuevamente el proceso enviando su DC alsquoArsquo

Cuando un usuario desarrolla una tarea en un Grid eacutesta puede requerir varios recursoso puede que durante su procesamiento necesite solicitar servicios en nombre del usuarioSeguacuten el meacutetodo de autenticacioacuten mostrado cada vez que el usuario necesite un recurso orequiera un servicio deberiacutea autenticarse El uso de la clave privada exige la atencioacuten delusuario ya que se almacena cifrada y es necesario que el usuario introduzca su contrasentildeacada vez que sea necesaria su autenticacioacuten Esto puede resultar tedioso en tareas complejassobre todo si se dilatan en el tiempo Para solucionarlo GSI introduce el concepto de dele-gacioacuten Este mecanismo permite al usuario asignar un proxy a la tarea deseada y evita tenerque presentar su DC cada vez que la tarea realiza una operacioacuten en su nombre Los proxies

son credenciales con un tiempo de vida muy reducido generadas por los usuarios a partir susDCs La identidad de los proxies es la misma que la de los DCs salvo una pequentildea modifi-cacioacuten que indica su naturaleza La creacioacuten de un proxy implica la generacioacuten tanto de unaclave puacuteblica como de una privada que se almacenan sin cifrar y a las que se puede accedersin contrasentildea evitando la accioacuten del usuario

Autorizacioacuten Por defecto GSI proporciona unos sistemas de autorizacioacuten muy baacutesicosde entre los que cabe destacar el sistema gestionado por el GridMap Cada recurso poseeun fichero denominado GridMap que contiene una lista que relaciona nombres de usuario(identificadores presentes en los DCs) con cuentas de usuario locales Si el usuario tiene unacuenta local entonces puede utilizar dicho recurso Es conveniente disponer de sistemas queayuden a la creacioacuten y gestioacuten de dichas listas y de las cuentas correspondientes

La ventaja es que GSI tambieacuten proporciona mecanismos para el desarrollo e integracioacutende sistemas de autorizacioacuten propios y esto seraacute aprovechado para gestionar la autorizacioacuten delos usuarios de RETELAB

MyProxy

MyProxy [86] es un repositorio on-line de certificados cuya finalidad es proporcionarproxies temporales bajo demanda para que puedan ser utilizados en cualquier momento y

32 Registro y acceso de los usuarios 37

desde cualquier lugar MyProxy puede ser utilizado para delegar credenciales a servicios queactuacuteen en lugar del usuario y es el meacutetodo maacutes habitual para delegar y usar credenciales enlos portales Grid MyProxy puede ser utilizado de dos modos diferentes

ndash Repositorio de credenciales de usuario MyProxy actuacutea como almaceacuten de los DCs y delas claves privadas de los usuarios Abstrae al usuario del uso y almacenamiento de loscertificados y permite generar proxies temporales bajo demanda Este uso implica queel usuario delega la seguridad de sus DCs en el servidor

ndash Repositorio de proxies MyProxy almacena los proxies generados por los usuarios atraveacutes de sus DCs y genera nuevos representantes con una vida maacutes corta que los origi-nales Es necesario que los usuarios generen y alojen nuevos proxies cada vez que losalmacenados caduquen

321 Autenticacioacuten y autorizacioacuten

Uno de los requisitos fundamentales para la construccioacuten del laboratorio virtual (veacutease laSeccioacuten 31) era el desarrollo de una interfaz de usuario sencilla y amigable que no demandasegrandes conocimientos tecnoloacutegicos La sencillez de un sistema debe empezar desde el regis-tro y acceso de los usuarios pero a menudo esto entra en conflicto con los requerimientos deseguridad por lo que fue necesario encontrar una solucioacuten equilibrada

La seguridad en RETELAB estaacute basada en el modulo GSI del GT4 lo que condiciona elacceso al sistema y supone que los usuarios deban disponer de un DC El proceso para obtenery emplear un DC es cuanto menos tedioso para el usuario y puede producir rechazo al usodel sistema por lo que es necesario adaptarlo para que sea maacutes coacutemodo Por otro lado esimportante que el sistema de autorizacioacuten sea sencillo de administrar pero lo suficientementepotente para responder a las siguientes preguntas

ndash iquestQuieacuten puede acceder

ndash iquestQueacute recursos puede utilizar

ndash iquestQueacute tareas puede realizar sobre un recurso concreto

Un RBAC [91] parece ser la mejor alternativa En RBAC los permisos se encuentran asociadosa roles y los usuarios son poseedores de uno o maacutes roles por lo que adquieren los permisosasociados a eacutestos Los roles permiten reflejar con mayor veracidad la estructura de una VO y el

38 Capiacutetulo 3 Proyecto RETELAB

puesto o tareas desempentildeadas por un investigador concreto dentro de ella La administracioacutendel control de acceso es considerablemente maacutes sencilla que si se gestiona la seguridad a nivelde usuario

Registro y Acceso

El registro y acceso de los usuarios de RETELAB se ha implementado integrando ymejorando diferentes sistemas para conseguir una solucioacuten amigable sin sacrificar la seguri-dad [76] [77] La Figura 33 muestra un diagrama en donde se aprecian los diferentes sistemasintegrados

Figura 33 Arquitectura del sistema de registro y acceso de usuarios de RETELAB

El acceso al portal puede contemplarse desde tres escenarios diferentes (veacutease la Figu-ra 34) acceso de un usuario no registrado acceso de un usuario registrado y acceso de unusuario perteneciente a una red de centros de confianza

Usuario no registrado

El registro de un nuevo usuario se realiza a traveacutes de un portlet de registro basado enel sistema PURSe [53] [2] Este sistema permite registrar a un usuario y solicitarle un DCde forma automaacutetica en el mismo momento en que enviacutea sus datos Por cada registro el

32 Registro y acceso de los usuarios 39

Usuario

Shibboleth

Recuperar

Certificados

Registro Usuario

PURSe

Usuario

Registrado

Acceder al Portal

AutenticarIdentificar

Usuario

No

No

Siacute

No

Rol

Identificar desde

Shibboleth

Auntenticar Centro Origen

Redirigir Datos Usuario

Crear Cuenta

Temporal

Rol

Generar

Certificados

Siacute

Acceso Concedido

Siacute

Figura 34 Esquema simplificado del registro y acceso de usuarios al sistema

administrador del portal recibe un aviso para que valide los datos del nuevo usuario y sies oportuno se genera el DC a traveacutes de una CA propia del sistema Los certificados y lasclaves privadas son almacenados en MyProxy e identificados con el nombre y contrasentildeaproporcionados por el usuario al registrarse

Para integrar el RBAC fue necesario implementar una mejora sobre PURSe para quepudiese dar soporte a los roles de usuario Gracias a esta mejora el administrador puedeasignar roles a los usuarios que gestionan sus accesos tanto al portal como a los recursosdel sistema La mejora realizada permite crear automaacuteticamente Certificados de Atributos(ACs) X509 con informacioacuten sobre los roles de los usuarios y almacenarlos en un aacuterbol dedirectorios Lightweight Directory Access Protocol (LDAP) para su posterior uso en la gestioacutendel acceso

Detalles de implementacioacuten La implantacioacuten de un sistema RBAC en RETELAB serealizoacute intentando que tuviese el menor impacto posible sobre el resto de los subsistemas

40 Capiacutetulo 3 Proyecto RETELAB

integrados con el objetivo de que fuese reutilizable y sencillo de instalar En el proceso seintentoacute aprovechar al maacuteximo el coacutedigo libre desarrollado por los proyectos integrados (PUR-Se PERMIS GridSphere etc) e implementar nuevas clases que sirviesen de nexo entre lasdiferentes tecnologiacuteas

Para integrar los roles con el sistema de registro PURSe fue necesario implementar variasclases Java (veacutease la Figura 35) que se encapsularon como un ARchivo Java (JAR) generarun archivo de propiedades con los datos de acceso al LDAP y antildeadir un nuevo moacutedulo deregistro en el fichero webxml de PURSe El diagrama mostrado en la Figura 35 contiene lasclases implicadas en la asignacioacuten de roles El moacutedulo de registro es el nexo con el paquetePURSe y el encargado de laquoescucharraquo los eventos y realizar las acciones consecuentes PURSeproporciona un moacutedulo de registro para integrarse con GridSphere que da de alta a los usua-rios en el portal pero ademaacutes permite antildeadir nuevos moacutedulos siempre y cuando implementenla interfaz RegistrationModule El moacutedulo RetelabRegistrationModule fue desarrollado espe-ciacuteficamente para dar soporte a los ACs Cuando un nuevo usuario es dado de alta a traveacutesde PURSe el evento es capturado y gestionado por la clase RetelabRegistrationModule Loseventos de PURSe se reciben como objetos que contienen tanto la informacioacuten de la accioacutencomo los datos del usuario Utilizando la informacioacuten personal y la traveacutes de la clase Certi-

ficateGenerator se genera un AC que es firmado por la clase RetelabSigningUtility Una vezse ha generado un AC la clase LdapConnector es utilizada para almacenarlo en el directorioLDAP Las clases dedicadas tanto a la generacioacuten como a la firma de los ACs fueron im-plementadas basaacutendose en clases de PERMIS que es el software empleado para gestionar elacceso de los usuarios registrados a los recursos a traveacutes de roles

---

----

Figura 35 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles

La solucioacuten desarrollada utiliza DCs generados por PURSe y ACs creados a traveacutes de cla-ses basadas en procedimientos empleados por PERMIS Es interesante destacar un problema

32 Registro y acceso de los usuarios 41

surgido de la integracioacuten de los dos tipos de certificados para la creacioacuten de los DCs se utili-zoacute el proveedor de Extensioacuten Criptograacutefica de Java (JCE) denominado Cryptix mientras quepara los ACs se utilizoacute el JCE IAIK Para utilizar un proveedor JCE es necesario registrarloy concretamente un error en la implementacioacuten de Cryptix impediacutea su uso en caso de quealguacuten otro proveedor fuese registrado con posterioridad Al utilizar varios JCEs se generabanerrores frecuentemente por lo que fue necesario insertar un procedimiento previo a su utiliza-cioacuten para comprobar el orden de registro y modificarlo en caso de que fuese necesario (veacuteaseel Coacutedigo A1)

Una de las ventajas de usar GridSphere como base para el desarrollo del portal fue quedisponiacutea de una serie de portlets ya desarrollados para crear portales Web baacutesicos Del nuacutecleode portlets de GridSphere cabe destacar el portlet de administracioacuten que entre otras cosaspermite crear y asignar roles a los usuarios del portal GridSphere en base a dichos rolesgestiona el uso y acceso de los usuarios a los portlets

Dado que la gestioacuten del sistema Grid tambieacuten estaacute basada en roles y con el objetivo dedesarrollar un sistema de administracioacuten sencillo y usable se implementoacute una mejora sobreel sistema de administracioacuten de GridSphere para dar soporte a los ACs De este modo unadministrador puede gestionar los roles tanto del portal como del sistema Grid desde un puntouacutenico ya que en el momento en que un rol es asignado el AC correspondiente es creado yalmacenado automaacuteticamente en el directorio LDAP

Para dar soporte a los ACs fue necesario modificar la clase de GridSphere UserManager-

Portlet El fragmento de Coacutedigo A2 muestra los cambios realizados en el meacutetodo que antildeadeusuarios a GridSphere

Usuario registrado

Los usuarios con cuenta en RETELAB pueden acceder al portal autenticaacutendose en unportlet dedicado a tal fin Una vez que el usuario es identificado el sistema utiliza su nom-bre y contrasentildea para recuperar sus credenciales almacenadas Las acciones que el usuariopuede realizar sobre el sistema estaacuten guiadas por su rol y una poliacutetica de autorizacioacuten basa-da en un modelo RBAC PERMIS [28] [27] es el sistema de autorizacioacuten basado en rolesutilizado para gestionar el acceso de los usuarios a los servicios Grid Su integracioacuten con elGT4 se realiza gracias a que eacuteste permite configurar para cada servicio Grid una secuenciade mecanismos de autorizacioacuten denominados Policy Decision Point (PDP) PERMIS puededesplegarse como un PDP para antildeadir un control basado en roles al sistema Para gestionar

42 Capiacutetulo 3 Proyecto RETELAB

la autorizacioacuten de la ejecucioacuten de tareas en un recurso especiacutefico de acuerdo a un rol esnecesario modificar la poliacutetica de autorizacioacuten del meacutetodo createManagedJob en el ficheromanaged-job-factory-security-configxml y antildeadir el PDP de PERMIS como se muestra en elfragmento de Coacutedigo A3

El control de acceso de un usuario a un servicio o recurso Grid se realiza desde 3 puntoscomo puede verse en la Figura 36

1 Se comprueba si el usuario posee un rol suficiente para acceder a un determinadoportlet

2 Se comprueba que el usuario tenga un DC activo en el portal

3 Si el usuario invoca un servicio Grid PERMIS comprueba su rol y dependiendo de lapoliacutetica de seguridad del recurso solicitado se permite o no su uso

Figura 36 Esquema del control de acceso basado en roles de RETELAB

32 Registro y acceso de los usuarios 43

Acceso confiable

Actualmente y debido a la gran proliferacioacuten de sistemas a traveacutes de Internet cada personagestiona multitud de cuentas y registros lo que supone recordar una gran cantidad de nombresy contrasentildeas En muchos casos se acaba sacrificando la seguridad anotando las contrasentildeaso utilizando siempre los mismos datos para facilitar la tarea

Shibboleth [83] es un software que proporciona un sistema de autenticacioacuten Single-Sign

On (SSO) a traveacutes de la Web Esto significa que permite acceder a varios sistemas indepen-dientes a traveacutes de una uacutenica identificacioacuten Shibboleth se basa en una red confiable de sociosen los que cada uno tiene su propio sistema de autenticacioacuten A grandes rasgos su funciona-miento es el siguiente cuando un usuario perteneciente a uno de los centros de la red quiereacceder a un sistema de otro centro eacuteste uacuteltimo lo redirige al sistema de autenticacioacuten delcentro de origen Una vez que el usuario es autenticado el centro de origen manda los da-tos personales al centro de destino que permite o deniega el acceso en base a la informacioacutenrecibida

La integracioacuten de Shibboleth con RETELAB tiene como punto de partida la solucioacutendisentildeada por el grupo Meta Access Management System (MAMS) para su utilizacioacuten junto aGridSphere En RETELAB se ha partido de la versioacuten de MAMS y se ha desarrollado unamejora para registrar y generar automaacuteticamente los DCs y ACs de los usuarios que accedan atraveacutes de esta opcioacuten Los datos para generar los certificados deberaacuten ser enviados por el centroque lo autentica La secuencia de pasos para acceder a RETELAB a traveacutes de Shibboleth esla siguiente

1 El usuario accede a RETELAB a traveacutes del portlet de acceso de Shibboleth

2 El sistema muestra al usuario una lista con los centros asociados para que seleccione acuaacutel pertenece

3 El sistema redirige al usuario al sistema de autenticacioacuten correspondiente

4 Una vez que el sistema externo autentica al usuario eacuteste es redirigido nuevamente alportal de RETELAB junto con sus datos personales (nombre rol etc)

5 RETELAB utiliza la informacioacuten recibida para generar las credenciales del usuarionecesarias incluyendo el AC para utilizar el sistema

44 Capiacutetulo 3 Proyecto RETELAB

Para la integracioacuten de los DCs y ACs en el procedimiento de SSO se actuoacute principal-mente en la clase GridSphereServlet Esta clase fue previamente modificada en el proyectoMAMS para crear usuarios Shibboleth en el portal GridSphere y en el caso de RETELABse incorporaron los meacutetodos necesarios para la gestioacuten de los DCs y ACs El coacutedigo para lacreacioacuten y almacenamiento del los DCs asociados a los usuarios de Shibboleth se muestra enel Coacutedigo A4 mientras que el procedimiento para la creacioacuten de los ACs se presenta en elCoacutedigo A5

La inclusioacuten de Shibboleth en el sistema de RETELAB permite que los socios del proyectoque deseen integrarse en una Red de confianza puedan autenticarse a traveacutes de sus sistemasinternos sin necesidad de registrarse en el portal

33 Sistema de almacenamiento distribuido

El sistema de almacenamiento de RETELAB [75] [80] fue disentildeado para gestionar gran-des colecciones de datos provenientes de la teledeteccioacuten y de los propios proyectos ocea-nograacuteficos En RETELAB el concepto de dato debe entenderse como un fichero binario querepresenta un producto obtenido a traveacutes de un sensor o generado a traveacutes de un proceso deanaacutelisis de datos previos Este tipo de productos requiere un considerable espacio en disco porlo que su almacenamiento masivo es una tarea complicada que no puede ser resuelta utilizan-do DBs tradicionales La computacioacuten Grid puede afrontar este reto a traveacutes de un Data Grides decir un sistema de almacenamiento distribuido entre los diferentes recursos del Grid RE-TELAB no pretende ser soacutelo una herramienta para el almacenamiento y procesamiento sinoque busca ser un medio para compartir conocimiento entre la comunidad oceanograacutefica porello debe proporcionar procedimientos a los usuarios que de forma sencilla permitan pu-blicar y compartir los resultados de sus investigaciones Estos procedimientos deberiacutean estarbasados en el uso de metadatos para describir los productos almacenados y asiacute facilitar losprocesos de localizacioacuten y distribucioacuten de los mismos

Los metadatos son datos que describen el contenido de otros datos Funcionan de formasimilar a un iacutendice para localizar objetos A cada objeto se le asigna una laquoficharaquo que lo des-cribe a traveacutes de varios campos y que es utilizada para localizarlo dentro de un almaceacuten Unejemplo clarificador seriacutea el de las fichas de los libros en una biblioteca En RETELAB ca-da dato almacenado tiene asociado un conjunto de pares campo-valor que lo describen y queayudan a realizar buacutesquedas maacutes concretas a traveacutes de las colecciones de datos Los metadatos

33 Sistema de almacenamiento distribuido 45

pueden estar almacenados de forma interna incrustados dentro del propio dato al que describe(cabecera) o en un almacenamiento externo

Figura 37 Arquitectura del Data Grid desplegado en RETELAB

La arquitectura de la solucioacuten implementada que puede verse en la Figura 37 estaacute forma-da por tres capas la capa inferior que contiene a los recursos del Grid almacena las coleccio-nes de datos la capa intermedia o middleware integra las diferentes tecnologiacuteas que formanel nuacutecleo del sistema y por uacuteltimo la capa superior proporciona la interfaz de usuario paraacceder al sistema de almacenamiento

Las tecnologiacuteas presentes en la capa de middleware son las encargadas de gestionar elalmacenamiento de RETELAB El nuacutecleo del Data Grid lo forma el servicio de GT4 deno-minado Replica Location Service (RLS) Los elementos almacenados estaacuten identificados porun Nombre Loacutegico de Fichero (LFN) y cada uno de ellos tiene asociado lsquoNrsquo Nombres Fiacutesicosde Ficheros (PFNs) es decir las diferentes rutas donde estaacute almacenado ya que puede estarreplicado Por lo tanto el servicio laquoconoceraquo la localizacioacuten especiacutefica de cada dato dentrode RETELAB relacionando LFNs con PFNs El RLS funciona gracias a dos subsistemas el

46 Capiacutetulo 3 Proyecto RETELAB

Local Replica Catalog (LRC) y el Replica Location Index (RLI) Por un lado cada recursodel Data Grid de RETELAB tiene desplegado un LRC con un listado que relaciona los LFNscon los PFNs almacenados en ese recurso y por otro lado RETELAB posee un RLI que deforma centralizada relaciona los LFNs con los diferentes LRCs donde estaacuten almacenados Estarea de cada LRC informar al RLI de las colecciones de datos que gestiona

Para describir correctamente los datos es necesario disponer de un conjunto de metadatosque permita reflejar todas sus caracteriacutesticas y particularidades RETELAB ha utilizado el es-taacutendar para metadatos geoespaciales ISO 19115 [7] Este estaacutendar proporciona un conjuntode metadatos orientado a describir datos geoespaciales aportando informacioacuten sobre la iden-tificacioacuten la extensioacuten la calidad el modelo espacial y temporal la referencia espacial y ladistribucioacuten de dichos datos

El almacenamiento y gestioacuten de los metadatos se hizo de forma externa al propio dato(la alternativa seriacutea agregarlos en la propia cabecera) y centralizada empleando el Metadata

Catalog System (MCS) [100] El MCS es un servicio del GT4 que proporciona un cataacutelogode metadatos a traveacutes de una interfaz que cumple con el estaacutendar de OGSA Este cataacutelogopermite describir datos a traveacutes de metainformacioacuten OGSA-DAI [17] que proporciona unainterfaz OGSA para el acceso a ficheros XML y DBs relacionales puede integrarse con elMCS para proporcionarle la capacidad de almacenamiento de los metadatos asiacute como losmecanismos de autenticacioacuten propios de un Grid

El sistema de almacenamiento fue integrado en el portal Grid para que el usuario pudieseutilizarlo a traveacutes de los diferentes portlets desplegados El proceso de acceso y recuperacioacutende un archivo almacenado se resume en la Figura 38 e incluye los siguientes pasos

1 El usuario utilizando metadatos realiza una consulta a traveacutes del portlet correspon-diente

2 El sistema consulta el MCS para obtener los nombres loacutegicos cuyos metadatos se ajus-tan a la consulta de usuario

3 El sistema consulta al RLI para saber queacute LRCs gestionan los datos relacionados conlos alias obtenidos

4 El sistema consulta a los LRCs las direcciones fiacutesicas vinculadas a los LFN

33 Sistema de almacenamiento distribuido 47

5 A traveacutes de la direccioacuten fiacutesica el sistema puede mover los datos utilizando por ejemploel servicio GridFTP [13] El GridFTP que es parte del GT4 se basa en el protocolo FTPpara proporcionar transferencias de datos seguras robustas raacutepidas y eficientes

Figura 38 Secuencia resumida de acciones para buscar y acceder a los datos almacenados

Los usuarios no soacutelo pueden buscar y utilizar las colecciones de datos del sistema sinoque pueden publicar los resultados de sus trabajos asignaacutendoles una lista de metadatos quelos describan Ademaacutes cada usuario dispone de un espacio virtual propio donde puede des-cargar datos para editarlos y cuando esteacuten listos subirlos y compartirlos con el resto de lacomunidad La integracioacuten del Data Grid con el sistema de enviacuteo de trabajos se detalla en laSeccioacuten 351

Detalles de implementacioacuten Para facilitar la integracioacuten de la DB con los portlets sedesarrolloacute y empaquetoacute en un JAR un conjunto de clases que proporcionan las herramientaspara la gestioacuten de la DB virtual Cada portlet que quisiese emplear la DB soacutelo necesitabaincorporar el JAR entre sus libreriacuteas El paquete es descrito a traveacutes del diagrama de clasessimplificado de la Figura 39 Las clases implementadas interactuacutean con las clases proporcio-nadas por el GT4

48 Capiacutetulo 3 Proyecto RETELAB

Figura 39 Diagrama de clases simplificado en el que se presentan las clases utilizadas para desarrollar lasoperaciones sobre la DB virtual

El desarrollo de las clases para la gestioacuten de la DB tuvo varias dificultades y entre ellases interesante destacar dos [80]

ndash Integracioacuten de OGSA-DAI y el MCS GT proporciona libreriacuteas para gestionar el MCSconcretamente la clase DaiMCSClient es una implementacioacuten de un cliente para conec-tarse al MCS sobre OGSA-DAI Esta clase hace uso de otra llamada GenericServiceFet-

cher que se encarga de instanciar clases que implementan interfaces para comunicarsecon los diferentes servicios de datos GenericServiceFetcher se conecta con un servicioa traveacutes de una URL y recupera el WSDL que lo describe El anaacutelisis del WSDL lepermite determinar la distribucioacuten de OGSA-DAI empleada para implementarlo y asiacuteinstanciar la interfaz adecuada El coacutedigo utilizado para recuperar el WSDL intenta rea-lizar una conexioacuten a una URL pero sin especificar la clase responsable para gestionardicha conexioacuten Si la clase responsable no estaacute definida de forma expliacutecita se asignauna en tiempo de ejecucioacuten que depende del protocolo usado para la conexioacuten CuandoGenericServiceFetcher forma parte de un software de escritorio funciona correctamente

33 Sistema de almacenamiento distribuido 49

pero en un entorno J2EE debido a la forma de cargar las clases en memoria que usa elTomcat no encuentra la clase responsable adecuada Fue necesario modificar y hacerexpliacutecito la clase que debiacutea cargar en la conexioacuten modificando la clase GenericService-

Fetcher (veacutease el Coacutedigo A6)

ndash Gestioacuten de proxies cuando un usuario se autentica en el portal el sistema obtiene auto-maacuteticamente un proxy de su DC del repositorio MyProxy El GT proporciona libreriacuteaspara gestionar dicho proxy y definirlo como el DC por defecto para que sea empleadoen las autenticaciones El problema surge con el servicio RLS que necesita que el DCesteacute almacenado fiacutesicamente en un directorio local Para solucionarlo se desarrolloacute unprocedimiento de conexioacutenvalidacioacuten con la DB que fijaba el DC por defecto para quefuese utilizado por los servicios que lo requiriesen y ademaacutes fuera almacenado localy temporalmente para que el RLS pudiese usarlo en la autenticacioacuten El procedimientoempleado se detalla en el Coacutedigo A7

331 Almacenamiento de datos

Se han desarrollado diferentes procedimientos para introducir datos en el sistema de al-macenamiento de RETELAB que cubren las diferentes necesidades de sus usuarios

Almacenamiento de datos locales Se ha habilitado un sistema de transferencia y al-macenamiento de datos locales (veacutease la Figura 310) que permite a los usuarios compartirdatos con la comunidad Para transferir los datos el usuario debe seleccionar el producto desu computadora que desea compartir asignarle un LFN y describirlo a traveacutes de metadatosescogidos a traveacutes de una lista confeccionada a partir del estaacutendar ISO 19115

Almacenamiento de datos viacutea FTP En el campo de la observacioacuten de la Tierra eshabitual que los usuarios utilicen datos almacenados en servidores FTP externos para susproyectos Se ha implementado un portlet (veacutease la Figura 311) que permite el acceso a dichosservidores para copiar y transferir datos a RETELAB El usuario debe introducir sus datos deacceso navegar a traveacutes del aacuterbol de directorios del servidor FTP seleccionar los elementosque quiere antildeadir y describirlos a traveacutes de metadatos Si los datos estaacuten comprimidos puedeestablecerse el tipo de compresioacuten para que eacutestos sean desempaquetados automaacuteticamenteantes de almacenarse

50 Capiacutetulo 3 Proyecto RETELAB

Figura 310 Portlet para el almacenamiento de datos locales en RETELAB

Almacenamiento de datos generados en RETELAB Los datos generados tras la eje-cucioacuten de una tarea en RETELAB pueden compartirse con el resto de la comunidad a traveacutesdel sistema de almacenamiento (veacutease la Figura 312) El usuario puede visualizar los datos desalida y seleccionar los que desee antildeadir al Data Grid y al igual que en el resto de los casospodraacute ir antildeadiendo los metadatos que considere necesarios para describir cada elemento

Inicializacioacuten del Data Grid La introduccioacuten de nuevos elementos en el sistema de al-macenamiento se hace por defecto de uno en uno a traveacutes de un portlet dedicado pero estono es asumible en el momento de desplegar el sistema ya que es necesario dar de alta grandescolecciones de datos Se desarrolloacute un sistema de registro automaacutetico de datos a traveacutes de fi-cheros XML que indicaban rutas alias y metadatos para cada elemento Este procedimiento esde uso exclusivo del administrador y permite dar de alta automaacuteticamente grandes voluacutemenesde datos

Con el doble propoacutesito de probar el proceso para la inicializacioacuten del Data Grid y el deproporcionar suficientes recursos para poder ejecutar los proyectos que validariacutean el laborato-rio (veacutease la Seccioacuten 36) se dieron de alta varias colecciones de datos

ndash Una coleccioacuten de imaacutegenes SAR correspondientes por un lado al Golfo de Meacutexicoy por otro a la costa noroeste de la Peniacutensula Ibeacuterica asiacute como los datos de viento

33 Sistema de almacenamiento distribuido 51

Figura 311 Portlet para la integracioacuten de datos externos en el sistema

asociados a eacutestas en formato Network Common Data Form (NetCDF) Estos productosfueron empleados para desarrollar y validar el proyecto de SENTINAZOS (veacutease laSeccioacuten 363)

ndash Una coleccioacuten de datos en NetCDF empleada para desarrollar la aplicacioacuten para elcaacutelculo de la PP (veacutease la Seccioacuten 363) que incluiacutea

bull Datos de temperatura superficial del mar provenientes de los sensores AVHRR yMODIS

bull Datos sobre la concentracioacuten de clorofila provenientes de los sensores MODIS ySeaWIFS

bull Datos sobre la radiacioacuten solar disponible para el caacutelculo de la fotosiacutentesis estima-dos por la NASA

Cada producto almacenado fue etiquetado con un conjunto de metadatos para describirlo yasiacute facilitar su posterior identificacioacuten y buacutesqueda

El formato NetCDF [93] ha sido ampliamente utilizado en RETELAB debido a su popu-laridad dentro de la comunidad cientiacutefica Es utilizado regularmente en aplicaciones relacio-

52 Capiacutetulo 3 Proyecto RETELAB

Figura 312 Resultados de la ejecucioacuten de un trabajo en el Grid El usuario puede visualizarlos y revisarlos yoantildeadirlos al Data Grid previa descripcioacuten usando metadatos

nadas con la climatologiacutea meteorologiacutea o la oceanografiacutea para el intercambio de datos esdecir como formato de entradasalida

34 Visualizacioacuten de los datos

Se han integrado dos tipos de visores en RETELAB para la visualizacioacuten de los datosbien para validar las buacutesquedas bien para el anaacutelisis de los resultados tras ser procesados

341 Live Access Server

Un Live Access Server (LAS) [101] es un servidor con la capacidad de conectarse a ser-vidores externos OPeNDAP [32] para el acceso e intercambio de datos Estaacute disentildeado paraproporcionar acceso a datos cientiacuteficos georreferenciados y trabajar con informacioacuten prove-niente de distintos servidores como si fuese una uacutenica DB

Un LAS permite generar graacuteficos de forma dinaacutemica solicitar fragmentos de datos en unavariedad de formatos comparar variables almacenadas en DBs diferentes y generar estadiacutesti-cas baacutesicas La herramienta de visualizacioacuten por defecto es Ferret software de coacutedigo abiertoespecialmente dirigido a trabajar con datos georreferenciados y que permite crear datos cien-

34 Visualizacioacuten de los datos 53

tiacuteficos y proporciona una poderosa herramienta de anaacutelisis Una de las grandes ventajas de unLAS es que cualquier usuario puede acceder a traveacutes de un simple navegador

Se desplegoacute un LAS en RETELAB y se integroacute dentro del portal a traveacutes de un portlet conun Iframe elemento HTML que permite empotrar un documento HTML dentro de otro eneste caso se utilizoacute para incrustar la interfaz Web del LAS como puede verse en la Figura 313

Figura 313 Integracioacuten del Live Access Server en RETELAB

342 Integrated Data Viewer

El Integrated Data Viewer (IDV) [84] desarrollado por Unidata es una herramienta soft-ware implementada en Java que permite visualizar y analizar datos geocientiacuteficos Para in-tegrar IDV en el sistema se desarrolloacute un procedimiento que por cada elemento recuperadotras una consulta a la DB o por cada resultado producido por la ejecucioacuten de un trabajogenera dinaacutemicamente un enlace a un fichero Java Networking Launching Protocol (JNLP)La descarga por medio del enlace de este fichero inicia previa confirmacioacuten del usuario lainstalacioacuten temporal del software IDV La instalacioacuten se realiza de forma automaacutetica y trans-parente gracias a JavaWS y una vez finalizada IDV es cargado con los datos asociados alenlace El uacutenico requisito para su utilizacioacuten es disponer del Entorno de Ejecucioacuten de Java(JRE) que incluye al propio JavaWS

54 Capiacutetulo 3 Proyecto RETELAB

La Figura 314 muestra una composicioacuten de coacutemo un usuario podriacutea acceder a un ficheroNetCDF almacenado en su directorio virtual y visualizarlo a traveacutes del IDV de forma automaacute-tica

Figura 314 Integracioacuten del IDV en RETELAB

35 Gestioacuten y monitorizacioacuten de trabajos

A pesar de que el CESGA fue el principal desarrollador del moacutedulo de enviacuteo y monito-rizacioacuten de trabajos su descripcioacuten en el documento es necesaria debido a que es una partefundamental de RETELAB y se ha colaborado activamente en su integracioacuten con el resto delos moacutedulos del sistema

Existen diferentes alternativas que permiten a los usuarios enviar trabajos a un sistemaGrid pero requieren la interaccioacuten del usuario para por ejemplo decidir a queacute recurso delGrid se enviacutean las tareas lo que implica conocer su arquitectura La interaccioacuten con el usuarioresta transparencia y complica el proceso

Como se ha mencionado en varias ocasiones RETELAB ha sido disentildeado teniendo comopremisa la facilidad de uso por lo que el sistema de enviacuteo y monitorizacioacuten de trabajos fuedesarrollado para que permitiese a los usuarios configurar ejecutar monitorizar y recuperar

35 Gestioacuten y monitorizacioacuten de trabajos 55

los resultados sin necesidad de conocer detalles de implementacioacuten del sistema Grid Estenivel de abstraccioacuten se consiguioacute principalmente gracias a la integracioacuten de un metaplanifi-cador que optimiza el uso de los recursos compartidos y realiza tareas para el descubrimientode recursos planificacioacuten de tareas ejecucioacuten monitorizacioacuten y recuperacioacuten de trabajos

RETELAB incorporoacute un portlet para el enviacuteo y monitorizacioacuten de trabajos que interactuacuteacon el metaplanificador GridWay [64] [65] a traveacutes del API de Distributed Resource Ma-

nagement Application (DRMAA) [112] La eleccioacuten de Gridway como metaplanificador sebasoacute en varias de sus caracteriacutesticas permite interoperar con diferentes middleware Grid tie-ne soporte para DRMAA y permite enviar trabajos empleando el estaacutendar Job Submission

Description Language (JSDL) [16] Un esquema resumido de la arquitectura utilizada para elenviacuteo y monitorizacioacuten de trabajos puede verse en la Figura 315

Figura 315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten de trabajos en RETELAB

Detalles de implementacioacuten La integracioacuten del metaplanificador con el portal Web fuebastante laboriosa ya que Gridway fue originalmente concebido para ser empleado por usua-rios Unix a traveacutes de CLI o de aplicaciones DRMAA Tal y como estaba originalmente dise-ntildeado GridWay utilizaba el mismo proceso de Unix y el mismo proxy para todos los trabajosque se lanzaban desde la misma cuenta de usuario La identificacioacuten y el acceso de usuarios

56 Capiacutetulo 3 Proyecto RETELAB

de RETELAB no se basa en cuentas de Unix sino que son identificados por su proxy y su AC(veacutease la Seccioacuten 32) Todos los usuarios de RETELAB utilizan la misma cuenta de Unix anivel de recurso de Grid lo que lo hace incompatible con el disentildeo de GridWay Fue nece-sario implementar junto con el equipo de desarrollo del GridWay una versioacuten mejorada delmetaplanificador [33] que manteniendo la compatibilidad con el estaacutendar DRMAA permi-tiese identificar a los usuarios no soacutelo por su cuenta Unix sino tambieacuten por el identificadorpresente en el DC X509

351 Integracioacuten con el sistema de almacenamiento distribuido

El portlet para el enviacuteo de trabajos estaacute totalmente integrado con el Data Grid lo que per-mite por un lado utilizar los datos almacenados en RETELAB como paraacutemetros de entradaen los trabajos de usuario y por otro publicar y compartir los resultados de los trabajos conla comunidad

Test-1

aware

Figura 316 Integracioacuten del espacio de almacenamiento privado del usuario con el portlet de enviacuteo de trabajos

Los paraacutemetros de entrada para un trabajo pueden ser antildeadidos desde el directorio privadode un usuario como puede verse en la Figura 316 o desde el Data Grid

En el caso de que el usuario quiera utilizar los datos almacenados en el Data Grid deberaacutehacer uso de la buacutesqueda dirigida por metadatos Los resultados que obtenga podraacuten ser visua-

35 Gestioacuten y monitorizacioacuten de trabajos 57

lizados a traveacutes del IDV y asiacute confirmar su idoneidad antes de incorporarlos a su trabajo LaFigura 317 muestra la secuencia de buacutesqueda e incorporacioacuten de datos del Data Grid comoparaacutemetros de un trabajo

a

b

Figura 317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos a) Portlet de enviacuteo de trabajos con accesoa la buacutesqueda a traveacutes de la DB virtual b)Resultados de la buacutesqueda y seleccioacuten de los paraacutemetrospara el trabajo

Una vez lanzado el trabajo al Grid RETELAB pone a disposicioacuten del usuario un portletde monitorizacioacuten de tareas (veacutease la Figura 318) en el que puede verse el estado (esperaejecucioacuten error o finalizado) de todos sus trabajos Una vez que el trabajo ha finalizado el

58 Capiacutetulo 3 Proyecto RETELAB

monitor permite acceder a los resultados del mismo visualizarlos e incluso integrarlos en elData Grid (veacutease la Figura 312) en caso de que el usuario quiera compartirlos

Figura 318 Portlet para la monitorizacioacuten de los trabajos de usuario

36 Validacioacuten del laboratorio virtual

Una vez finalizado el desarrollo del laboratorio virtual fue probado desplegando variasaplicaciones desarrolladas en entornos de investigacioacuten en el aacuterea de la oceanografiacutea La in-tegracioacuten de estas aplicaciones sirvioacute para validar el sistema y para proporcionar softwareespecializado a la comunidad Todas las aplicaciones desplegadas estaacuten completamente inte-gradas en el portal por lo que hacen uso del sistema de autenticacioacuten del Data Grid y de lagestioacuten y monitorizacioacuten de trabajos

De entre las aplicaciones que a continuacioacuten se van a describir el Regional Ocean Mo-

del System (ROMS) y el modelo de produccioacuten primaria son aplicaciones desarrolladas porterceros que fueron adaptadas para ser ejecutadas en RETELAB mientras que el proyectoSENTINAZOS es un desarrollo propio concebido para solucionar un problema concreto quepor su entidad alcance y necesidad de investigacioacuten adicional del estado del arte es descritoen detalle en la segunda parte del presente documento

361 ROMS

ROMS [98] es un modelo de circulacioacuten oceaacutenica de nueva generacioacuten especialmente di-sentildeado para simular de manera precisa sistemas oceaacutenicos regionales La Figura 319 muestra

36 Validacioacuten del laboratorio virtual 59

un ejemplo de una simulacioacuten de la temperatura superficial oceaacutenica en la costa noroeste dela peniacutensula Ibeacuterica

Figura 319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten empleando ROMS

ROMS fue desarrollado en Fortran 9095 e implementa ademaacutes del meacutetodo en serie dosmeacutetodos de paralelizacioacuten [114] Message Passing Interface (MPI) y Open Multiprocessing

(OpenMP) mutuamente excluyentes Una caracteriacutestica del modelo es que todas sus entradasy salidas se basan en el formato NetCDF lo que facilita compartir los datos entre los usuariosy otras aplicaciones

El portlet que integra ROMS en el laboratorio fue desarrollado junto con el CESGA ypermite definir y ejecutar instancias del modelo Los usuarios a traveacutes de la interfaz Webpueden configurar los paraacutemetros de las simulaciones seleccionar los datos de entrada a traveacutesdel Data Grid monitorizar el estado de sus trabajos y cuando esteacuten finalizados recuperar losresultados En esta versioacuten es el usuario en el momento de la configuracioacuten quien debeseleccionar el modo de ejecucioacuten de la aplicacioacuten ya sea en serie o en paralelo viacutea OpenMPo MPI

60 Capiacutetulo 3 Proyecto RETELAB

362 Caacutelculo del modelo de produccioacuten primaria

RETELAB debiacutea poder integrar aplicaciones realizadas por los propios centros asociadosal proyecto por lo que se adaptoacute a traveacutes de un portlet un modelo realizado por el ICCMpara el caacutelculo de la Produccioacuten Primaria (PP) oceaacutenica

La PP puede definirse como la generacioacuten de componentes orgaacutenicos a partir del CO2 querealizan los organismos autoacutetrofos a traveacutes de los procesos de fotosiacutentesis o quimiosiacutentesis Esun mecanismo clave que permite a los oceacuteanos a traveacutes del fitoplancton ser los pulmones delplaneta ya que gracias a la PP se genera cerca del 50 de la produccioacuten global de oxiacutegeno yse captura alrededor de la mitad del CO2 mundial El caacutelculo de este paraacutemetro es fundamentalpara comprender el papel que juega el ciclo del carbono en el sistema climaacutetico mundial

Los llamados modelos biooacutepticos son los meacutetodos maacutes utilizados para el caacutelculo a granescala de la PP Estos modelos se basan en informacioacuten obtenida a traveacutes de sateacutelites queincluye entre otros datos informacioacuten sobre las biomasas de fitoplancton y de la luminosidadoceaacutenica En concreto el modelo implementado para RETELAB es una adaptacioacuten del Verti-cally Generalised Production Model (VGPM) desarrollado por Berhefeld y Falkowsky [20]

El portlet implementado permite definir los paraacutemetros de entrada al modelo y ejecutarloen el sistema Grid Los paraacutemetros esperados para un correcto funcionamiento son la tempe-ratura superficial oceaacutenica la concentracioacuten de clorofila y los datos sobre la radiacioacuten dispo-nible para fotosiacutentesis La Figura 320 muestra una composicioacuten que ilustra la visualizacioacutende resultados del caacutelculo de PP una vez lanzada la tarea en el sistema Grid

363 SENTINAZOS

Despueacutes de haber integrado y adaptado aplicaciones desarrolladas por terceros se afrontoacuteel reto de implementar una desde cero que aprovechase el sistema y ademaacutes fuese uacutetil para lacomunidad en un problema de difiacutecil solucioacuten como es la deteccioacuten semiautomaacutetica de con-taminantes marinos basados en hidrocarburos La contaminacioacuten marina es un problema quehabitualmente afecta a nuestras costas y que a menudo se relaciona con grandes cataacutestrofesde petroleros Sin embargo en un mayor porcentaje es originada por pequentildeos derrames quebien sea de forma fortuita debido a pequentildeos accidentes o bien sea de forma premeditada acausa de tareas de mantenimiento se producen diariamente Los centros de vigilancia ma-riacutetima invierten una gran cantidad de recursos en la vigilancia y persecucioacuten de estos actospero cubrir toda la superficie costera es una tarea inabarcable Los sateacutelites aportan la cober-

36 Validacioacuten del laboratorio virtual 61

Figura 320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data Grid y el sistema devisualizacioacuten de IDV

tura necesaria para el estudio y monitorizacioacuten de grandes aacutereas y concretamente estudiosprevios [25] [110] demostraron la viabilidad del uso de las imaacutegenes SAR de sateacutelites en ladeteccioacuten de este tipo de contaminantes

El objetivo es desarrollar una aplicacioacuten que permita el anaacutelisis de imaacutegenes de SAR paradetectar hidrocarburos e integrarla en RETELAB ya que esto proporcionariacutea ciertas ventajascomo

ndash Distribuir el almacenamiento de las imaacutegenes SAR

ndash Compartir las colecciones de imaacutegenes que cada centro disponga con el resto de parti-cipantes del proyecto

ndash Optimizar los algoritmos ya que tienen una gran carga computacional que en granmedida estaacute asociada a los bucles que las analizan y que son candidatos a ser paraleli-zados

ndash Ejecutar diferentes instancias de la aplicacioacuten al mismo tiempo aprovechando los dife-rentes recursos del sistema y asiacute analizar simultaacuteneamente diferentes aacutereas de la costa

62 Capiacutetulo 3 Proyecto RETELAB

Aunque la bibliografiacutea muestra que existen algoritmos similares para la deteccioacuten de ver-tidos eacutestos suelen presentar uno o varios de los siguientes problemas

ndash Requieren la presencia activa de un operador

ndash El coste computacional es demasiado alto para su uso en tiempo real

ndash Las implementaciones se basan en libreriacuteas comerciales con licencias privativas

ndash No tienen en cuenta los efectos de los fenoacutemenos meteoroloacutegicos principalmente elviento en la deteccioacuten de los vertidos

Debido a la complejidad de los algoritmos desarrollados la segunda parte de la tesis estaacutededicada a describirlos en detalle y resaltar el caraacutecter innovador de los mismos

Parte II

Validacioacuten del Laboratorio Virtualavances en la deteccioacuten automaacutetica de

vertidos de hidrocarburos

CAPIacuteTULO 4

ESTADO DEL ARTE

Introduccioacuten

Aunque existen muchos tipos de contaminantes los vertidos de hidrocarburos son pro-bablemente los que maacutes afectan al ecosistema marino A pesar de lo que popularmente esaceptado las grandes cataacutestrofes provocadas por los petroleros suponen una pequentildea parte dedicha contaminacioacuten Un estudio de la Agencia Espacial Europea (ESA) [39] reveloacute que tansoacutelo un 7 de los vertidos pueden ser atribuidos a accidentes mientras que un 45 corres-ponden a derrames que habitualmente se realizan durante operaciones de mantenimiento (porejemplo la limpieza de las sentinas) y que denominaremos sentinazos un 13 proviene defuentes naturales y el 35 restante corresponde a vertidos realizados directamente en los riacuteos

Los vertidos afectan a la economiacutea (turismo pesca etc) y al ecosistema de las regionesdamnificadas por lo que son necesarios sistemas y herramientas para su localizacioacuten Unaraacutepida identificacioacuten permitiriacutea minimizar su impacto e incluso identificar a sus causantesLos sensores que operan en el rango de las microondas comuacutenmente llamados radares handemostrado ser de gran utilidad en la deteccioacuten de vertidos de hidrocarburos

Radar El radar es un sistema de deteccioacuten activo [31] cuyo funcionamiento baacutesicamenteconsiste en el enviacuteo de un pulso de energiacutea en el rango de las microondas hacia la superficieterrestre Este haz es reflejado y retrodispersado por la superficie y parte de la energiacutea esrecogida nuevamente por la antena del radar La intensidad de la sentildeal que vuelve a la antenaes medida y grabada para posteriormente ser utilizada en la construccioacuten de una imagen de la

66 Capiacutetulo 4 Estado del arte

45

7

13

35

Sentinazos

Accidentes

Emanaciones

naturales

Riacuteos

Figura 41 Oriacutegenes de los vertidos de hidrocarburos Imagen adaptada de [39]

zona estudiada Cada piacutexel de la imagen estaacute asociado a un aacuterea sobre el terreno y almacena unvalor que representa la cantidad de energiacutea que regresa al sensor debido a la retrodispersioacuten

Tradicionalmente los buques y los aviones han sido los medios de vigilancia maacutes utili-zados en la lucha contra la contaminacioacuten oceaacutenica Por un lado los buques equipados consistemas de radar son uacutetiles para detectar contaminantes en sus proximidades y obtener mues-tras de los vertidos pero su restringida cobertura limita su eficacia por otro lado los avionesde vigilancia que utilizan sistemas de Radar Lateral Aerotransportado (SLAR) permiten vi-gilar aacutereas maacutes extensas pero su coste hace que sea poco viable emplearlos para monitorizarsuperficies de gran tamantildeo de forma intensiva y simultaacutenea En resumidas cuentas tanto losbuques como los aviones son adecuados como medios de primera intervencioacuten pero seriacuteadeseable un sistema maacutes econoacutemico con mayor cobertura

El uso de sistemas de radar instalados a bordo de sateacutelites permite abarcar aacutereas muchomaacutes extensas y a un coste razonable pero su resolucioacuten espacial no es adecuada para la buacutes-queda de pequentildeos derrames de hidrocarburos La resolucioacuten es la habilidad para distinguirdos objetos separados por la miacutenima distancia posible Si la distancia entre los objetos essuficiente cada uno de ellos estaraacute localizado en una celda de la imagen diferente y seraacuten dis-tinguibles en caso contrario el radar devolveraacute una combinacioacuten de la energiacutea reflejada porlos dos objetos como si fuese uno soacutelo [74] Tanto el radar aerotransportado como el espacialobservan la superficie lateralmente (veacutease la Figura 42) y su resolucioacuten espacial es diferente

67

en la direccioacuten paralela a la trayectoria del sateacutelite tambieacuten denominada resolucioacuten en acimuty en la perpendicular es decir en la direccioacuten al objetivo

En la perpendicular a la trayectoria del sateacutelite el sistema puede discriminar dos objetossi la distancia entre ellos es mayor que la mitad de la anchura del pulso (pulse width) enviadoLa resolucioacuten perpendicular se calcula a traveacutes de la siguiente foacutermula

Rp =c middot τ

2=

c2 middotβ

(41)

siendo c la velocidad de la luz y τ la anchura del pulso Tambieacuten puede expresarse atraveacutes el ancho de banda del pulso (pulse bandwidth) representado por β

Normalmente los radares a bordo de sateacutelites trabajan en anchos de banda que van desdelos 10 a los 40 MHz Este rango generariacutea resoluciones que van desde los 15 a los 37 metrosque son suficientemente buenas para la deteccioacuten de vertidos El problema principal estaacute aso-ciado a la resolucioacuten en acimut es decir en la trayectoria del sateacutelite que se calcula como

Rac =λ middotdLA

(42)

siendo λ la longitud de onda d la distancia del sensor al objetivo y LA la longitud de laantena

d

A

A

B

B

Rac

Rac

800 km

d=1131 km

15deg

45deg

Trayect

oria d

el sa

teacutelit

e

Perpendicular a la trayectoria

Figura 42 Resolucioacuten espacial de un radar a bordo de un sateacutelite

68 Capiacutetulo 4 Estado del arte

Dado que la longitud de onda estaacute situada dentro de un rango determinado de microondasy que no puede haber grandes variaciones de la altura a la que orbita el sateacutelite la resolucioacutenen acimut queda directamente determinada por la longitud de la antena Obtener una oacuteptimaresolucioacuten utilizando sistemas de radar sobre plataformas espaciales implicariacutea el uso de an-tenas de enormes proporciones lo que seriacutea impracticable Empleando los datos de ejemplode la Figura 42 un radar que operase en la Banda C con una longitud de onda de 5 cm y queviajase a bordo de un sateacutelite que orbitase a 800 km de altura necesitariacutea una antena de casi 2km para conseguir una resolucioacuten de 30 m cuando el Aacutengulo de Incidencia (IA) fuese de 45

LA =005 middot1131 middot103

30= 1885m (43)

Para solucionar este haacutendicap surge un tipo especial de radar llamado SAR que permiteobtener resoluciones de pocos metros con antenas de pequentildeas dimensiones Por ejemplo laresolucioacuten del Envisat alcanzaba los 30 m empleando una antena rectangular de 13 m x 10m

SAR Los principios baacutesicos del funcionamiento del SAR solucionan la limitacioacuten deresolucioacuten del radar El SAR montado sobre una plataforma moacutevil analiza y recoge diferentesmedidas de un mismo punto durante su trayecto (Figura 43) Esto permite simular una antenade las mismas proporciones que la distancia entre la primera y la uacuteltima medicioacuten llegando aconseguir resoluciones de tan soacutelo unos pocos metros

Liacutenea de tierra

Traza

Antena virtual

Primera medicioacuten

Uacuteltima medicioacuten

Figura 43 Antena virtual generada por SAR

Las imaacutegenes SAR son complejas y difiacuteciles de interpretar y esto es debido a muacuteltiplesfactores (la superficie es estudiada lateralmente el aacutengulo de emisioacuten e incidencia del haz de

69

energiacutea variacutea la sentildeal de retorno se ve afectada por la distancia entre la antena y la superficieestudiada etc) La Figura 44 muestra un ejemplo de una imagen SAR en la que se apreciacoacutemo la intensidad no es homogeacutenea Las zonas maacutes cercanas al sateacutelite y con menor IA danlugar a niveles de intensidad maacutes altos (representados de forma maacutes clara) mientras que laszonas maacutes alejadas y con aacutengulos mayores son representadas de forma maacutes oscura debido alos bajos niveles de intensidad

Figura 44 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007)

Ademaacutes de la amplia cobertura y buena resolucioacuten que puede conseguirse con el SAR esnecesario destacar que al ser un sensor activo su funcionamiento no depende de la radiacioacutensolar y puede utilizarse durante el diacutea y la noche Ademaacutes el sensor es independiente de lacobertura nubosa ya que su haz de energiacutea en el rango de las microondas le permite atravesarlasin sufrir alteraciones

Un estudio en mayor profundidad de SAR y de sus aplicaciones puede encontrarse en [66]

Imaacutegenes SAR de la superficie oceaacutenica

La superficie del mar en condiciones moderadas de viento presenta cierta rugosidad ge-nerada por las ondas capilares Esta rugosidad provoca una retrodispersioacuten uniforme del hazde energiacutea enviado por el SAR Los vertidos de hidrocarburos asiacute como determinados fe-

70 Capiacutetulo 4 Estado del arte

noacutemenos naturales [63] como las algas el hielo o los vientos de baja intensidad suprimendichas ondas capilares provocando un aplanamiento de la zona (veacutease la Figura 45b) Estasaacutereas tienen un comportamiento especular frente al haz de energiacutea que reduce considerable-mente la cantidad de radiacioacuten retornada al sensor Los piacutexeles que representan a este tipo dezonas almacenan valores de retrodispersioacuten muy bajos lo que provoca que se visualicen comoaacutereas oscuras El efecto provocado por los distintos fenoacutemenos naturales y que es similar alde los vertidos es conocido como look-alike Si el viento que afecta a la zona del vertido essuficientemente fuerte el efecto de laquoaplanamientoraquo de los hidrocarburos es atenuado hacien-do muy difiacutecil o imposible distinguirlo del mar limpio (veacutease la Figura 45c) Por el contrariosi el aacuterea analizada estaacute afectada por vientos de baja intensidad (veacutease la Figura 45a) lasondas capilares desaparecen y el contraste entre el vertido y el mar limpio no es suficientepara distinguirlos por lo que aparecen look-alikes

Diversos estudios [40] [92] [43] han fijado la velocidad del viento miacutenima y necesariapara detectar contaminantes entre 2 y 3 ms El liacutemite superior se encuentra maacutes difuso dadoque depende del tipo de hidrocarburo y del tiempo que ha pasado desde su vertido pero podriacuteaestablecerse que a partir de 10 ms su deteccioacuten es complicada y que una velocidad de entre12 y 15 ms podriacutea ser considerada el umbral maacuteximo para poder identificar un sentinazo Lascondiciones oacuteptimas de viento se encontrariacutean en el rango de 35 a 70 ms [54]

(a) (b) (c)Vientos de baja intensidad lt3 ms Vientos moderados Vientos fuertes gt 15 ms

Figura 45 Efecto del viento en la retrodispersioacuten de un pulso SAR

71

Metodologiacuteas para la deteccioacuten de vertidos de hidrocarburos en imaacutegenes SAR

Inspeccioacuten manual La inspeccioacuten manual de las imaacutegenes SAR para la deteccioacuten desentinazos es la teacutecnica maacutes popular y maacutes sencilla de aplicar Estaacute basada en dos grandesfases

ndash Localizacioacuten de fenoacutemenos sospechosos

ndash Anaacutelisis y asignacioacuten de un grado de probabilidad (alto medio o bajo) de que seansentinazos

Aunque la mayoriacutea de los fenoacutemenos detectados pueden ser clasificados correctamente porun experto basaacutendose soacutelo en la imagen existen algunos maacutes confusos en los que el operadornecesita utilizar informacioacuten externa adicional para su correcta clasificacioacuten como puede serdatos de vientos periodo del antildeo forma caracteriacutesticas del aacuterea de observacioacuten etc

Inspeccioacuten automaacutetica La literatura muestra un gran esfuerzo en el desarrollo de siste-mas automaacuteticos y semiautomaacuteticos para la deteccioacuten de vertidos analizando imaacutegenes SARPuede encontrarse un extenso repaso a los antecedentes bibliograacuteficos tanto en el anaacutelisisde Brekke y Solberg [25] como en el de Topouzelis [110] Dichos trabajos muestran que lamayoriacutea de los sistemas despueacutes de realizar alguacuten tipo de preprocesado sobre las imaacutegenes(calibrado proyeccioacuten filtrado de ruido enmascaramiento de la tierra etc) aplican un algo-ritmo compuesto de 3 grandes fases

ndash Segmentacioacuten el objetivo es localizar aislar y extraer todas las aacutereas susceptibles deser vertidos de hidrocarburos (incluyendo los falsos positivos)

ndash Extraccioacuten de caracteriacutesticas las regiones previamente detectadas son analizadas y ca-racterizadas

ndash Clasificacioacuten analizando las caracteriacutesticas extraiacutedas y a traveacutes de un clasificador seasigna a cada candidato una etiqueta o una probabilidad de ser sentinazo o look-alike

La extraccioacuten de caracteriacutesticas y la clasificacioacuten pueden estar apoyadas por informacioacutencontextual como por ejemplo proximidad a fuentes de vertidos (plataformas petroliacuteferasbarcos etc) o datos meteoroloacutegicos La Figura 46 resume las fases principales de un sistemaautomaacutetico

72 Capiacutetulo 4 Estado del arte

Figura 46 Sistema automaacutetico para la deteccioacuten de sentinazos

Comparativa entre la inspeccioacuten automaacutetica y la inspeccioacuten manual Los sistemasmanuales presentan ciertas desventajas frente a los automaacuteticos su eficiencia depende dela experiencia del experto que analiza las imaacutegenes el ojo humano tiene dificultades paraclasificar aacutereas difusas donde las fronteras entre la mancha y el fondo no estaacuten claras eloperador tiende a sobreseleccionar piacutexeles al delinear los bordes de las manchas el tiempo deprocesamiento es claramente superior al de un sistema automaacutetico etc

La principal desventaja de los sistemas automaacuteticos respecto a los manuales tiene que vercon la confianza en los mismos Los medios de vigilancia in-situ como barcos y aviones soncostosos y limitados y aunque los sistemas automaacuteticos pueden clasificar correctamente lamayoriacutea de los sentinazos existe un pequentildeo nuacutemero de ellos que son clasificados incorrec-tamente Los sistemas de deteccioacuten automaacuteticos suelen utilizarse como una herramienta deapoyo a las decisiones donde un operario tiene la uacuteltima palabra a la hora de movilizar losmedios de vigilancia

Teacutecnicas de deteccioacuten automaacutetica de sentinazos

Los siguientes subapartados profundizan en las teacutecnicas utilizadas para desarrollar lasprincipales fases de los algoritmos de deteccioacuten

Segmentacioacuten Analizando la intensidad de la sentildeal recuperada por el sensor es posibledistinguir ciertos fenoacutemenos oceaacutenicos Como se ha visto anteriormente los sentinazos asiacutecomo otros fenoacutemenos naturales se representan en las imaacutegenes SAR con valores de baja in-

73

tensidad El objetivo de esta fase es detectar todos los posibles sentinazos siendo su resultadouna imagen binaria en la que se destacan todos los candidatos El umbral de intensidad paraque un piacutexel sea segmentado no es constante y depende de factores asociados al aacuterea estudia-da como el IA del haz del sateacutelite o las condiciones meteoroloacutegicas La segmentacioacuten es unafase fundamental dentro del algoritmo dado que si un sentinazo no es aislado en esta fase nopodraacute ser clasificado como tal en fases posteriores

La diferencia de contraste entre los candidatos y el fondo de la imagen sugiere que lasteacutecnicas basadas en umbrales pueden ser adecuadas para la segmentacioacuten por lo que tanto lasteacutecnicas de umbralizacioacuten simple [41] como las de umbralizacioacuten adaptativa [103] [104] [37]han sido ampliamente utilizadas Ademaacutes de las basadas en umbrales han sido empleadasotras teacutecnicas para la segmentacioacuten como son las redes neuronales [108] [54] las teacutecnicasbasadas en texturas [21] [72] o las basadas en deteccioacuten de bordes [29] [81]

Debido a la complejidad de la segmentacioacuten y a las dimensiones de las imaacutegenes SAReacutesta es la fase computacionalmente maacutes costosa La velocidad de ejecucioacuten del algoritmo escrucial para dar una respuesta en tiempo cuasi real Para acelerar la segmentacioacuten algunossistemas reducen la resolucioacuten radiomeacutetrica de la imagen original de 32 bits codificaacutendolaen 8 bits [90] [54] o bien analizan soacutelo pequentildeas Regiones de Intereacutes (ROIs) de la imagenprincipal que previamente han sido seleccionadas por un experto [37] otros en cambio usanfactores de escape en sus algoritmos para no procesar todos los piacutexeles de la imagen [104]

Extraccioacuten de caracteriacutesticas Una vez detectados los candidatos eacutestos son analizadosy caracterizados El vector de caracteriacutesticas deberiacutea recoger la informacioacuten necesaria parauna posterior clasificacioacuten A pesar de que existen algunos trabajos que intentan unificar elnuacutemero y tipo de caracteriacutesticas [109] [111] en general no existen estudios sistemaacuteticos sobrela extraccioacuten de caracteriacutesticas y su influencia en la clasificacioacuten y por ello su eleccioacuten sueleproducirse de forma heuriacutestica No obstante la mayoriacutea de las caracteriacutesticas utilizadas seengloban en las siguientes clases

ndash Caracteriacutesticas geomeacutetricas desde el punto de vista de la composicioacuten quiacutemica del hi-drocarburo la forma no guarda una relacioacuten directa con el vertido no obstante desdeel punto de vista de su origen estudios previos [92] muestran que la forma de los sen-tinazos es caracteriacutestica y pertenece a uno de los tipos mostrados en la Figura 47

ndash Caracteriacutesticas fiacutesicas asociadas al nivel de intensidad de los piacutexeles que forman elcandidato y a los de la superficie circundante

74 Capiacutetulo 4 Estado del arte

ndash Texturas en contraposicioacuten a las caracteriacutesticas obtenidas de cada piacutexel de forma aisla-da las texturas aportan informacioacuten sobre la correlacioacuten espacial de dichos piacutexeles enun aacuterea

ndash Informacioacuten contextual la informacioacuten exclusivamente basada en la mancha puede noser suficiente para una correcta clasificacioacuten de las aacutereas maacutes confusas y es en estepunto donde la informacioacuten contextual como la distancia a una posible fuente del ver-tido [104] o los datos meteoroloacutegicos [40] puede ser de utilidad

Figura 47 Anaacutelisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo durante el antildeo 1999 Figuraadaptada de [92]

Clasificacioacuten El objetivo de esta fase es distinguir cuaacuteles de los candidatos segmentadosson sentinazos y cuaacuteles son look-alikes (falsos positivos) utilizando para ello un clasificadorcuya entrada es el vector de caracteriacutesticas obtenido en la fase anterior La comparacioacuten enteacuterminos de eficiencia entre los distintos clasificadores existentes en la bibliografiacutea resultamuy complicada dado que cada sistema utiliza su propio conjunto de pruebas y las caracte-riacutesticas extraiacutedas de los candidatos son diferentes Es conveniente resaltar que muchos de losconjuntos de prueba utilizados no contienen sentinazos confirmados in-situ sino que han sidodetectados y clasificados por un operador de forma manual En otros muchos casos simple-mente no se especifica la forma en que fueron identificados

75

En la bibliografiacutea podemos encontrar muacuteltiples aproximaciones al problema de la clasifi-cacioacuten Las Red Neuronal Artificial (ANN) [71] y sus diferentes implementaciones han sidomuy utilizadas

ndash Frate et aacutel [37] utilizaron una DB con 600 imaacutegenes ERS de baja resolucioacuten (100 m x100 m) codificadas en 8 bits de la que se extrajeron 139 candidatos (71 sentinazos y 68look-alikes) Utilizando un clasificador basado en una ANN y a traveacutes de una validacioacutencruzada (dejando uno fuera) se clasificoacute correctamente al 82 de los sentinazos y al90 de los look-alikes

ndash Topouzelis et aacutel [108] parten de una DB de 24 imaacutegenes de alta resolucioacuten (25 m x 25m) codificadas en 8 bits De la DB se seleccionaron 159 fragmentos (90 look-alikes y69 sentinazos) La ANN utilizada clasificoacute correctamente el 91 de los sentinazos y el87 de los look-alikes

ndash Oscar Garciacutea-Pineda et aacutel [54] seleccionaron de una DB con 700 imaacutegenes Radarsatcodificadas en 8 bits dos conjuntos de entrenamiento con 14 y 10 imaacutegenes respectiva-mente y dos conjuntos de validacioacuten con 5 imaacutegenes cada uno Un primer clasificadorentrenado para distinguir los piacutexeles con hidrocarburos de los piacutexeles con mar limpiofue aplicado sobre el conjunto de 14 imaacutegenes obtenieacutendose una eficacia del 9822El segundo clasificador entrenado sobre el conjunto de 10 imaacutegenes para clasificar en-tre 3 tipos de piacutexeles (sentinazos mar limpio y bajo viento) obtuvo una eficacia del9774

Otro gran grupo de clasificadores son los basados en modelos probabiliacutesticos

ndash Solberg et aacutel [103] combinaron un modelo estadiacutestico con un sistema basado en reglase incorporaron informacioacuten contextual (datos de vientos y distancia a posibles oriacutegenesdel vertido) Aplicando el algoritmo sobre 84 imaacutegenes SAR (inspeccionadas por unoperador) y usando un meacutetodo de validacioacuten cruzada su eficacia alcanzoacute el 94 en ladeteccioacuten de sentinazos y el 99 en la de look-alikes Este modelo ha sido mejoradoen varias ocasiones

bull Solberg y Brekke [104] trabajaron con un conjunto de entrenamiento consistenteen 56 imaacutegenes del Envisat y 71 imaacutegenes del Radarsat y un conjunto de pruebacon 27 imaacutegenes del Envisat El conjunto de prueba conteniacutea 37 sentinazos con-firmados y 12110 look-alikes (obtenidos de la segmentacioacuten de las imaacutegenes)

76 Capiacutetulo 4 Estado del arte

El 994 de los look-alikes fueron clasificados correctamente mientras que laeficacia en la deteccioacuten de los sentinazos alcanzoacute el 784

bull Brekke y Solberg [26] se basaron en el modelo anterior para desarrollar un sis-tema de deteccioacuten de sentinazos en dos pasos En el primer paso emplearon unclasificador estadiacutestico normalizado con el objetivo de detectar todos los senti-nazos y en un segundo paso aplicaron un estimador de confianza que asignabauna probabilidad a cada sentinazo Su DB se componiacutea de 104 imaacutegenes EnvisatWide Swath Mode (WSM) divididas en tres subconjuntos entrenamiento (56 imaacute-genes) validacioacuten (20 imaacutegenes) y test (27 imaacutegenes) La eficacia del clasificadorfue del 927 sobre los sentinazos y del 897 con los look-alikes

ndash Fiscella et aacutel [41] realizaron una comparativa entre un clasificador de probabilidadcompuesta y uno basado en la distancia de Mahalanobis El conjunto de datos de entre-namiento estaba compuesto por 80 sentinazos y 43 look-alikes mientras que el de testque estaba analizado por un operador teniacutea 11 sentinazos 6 look-alikes y 4 indefinidosEl 818 de los sentinazos y el 100 de los look-alikes fueron correctamente clasifi-cados usando la distancia de Mahalanobis mientras que el clasificador de probabilidadcompuesto identificoacute el 909 de los sentinazos y el 67 de los look-alikes

La eficacia de los diferentes meacutetodos de clasificacioacuten es totalmente dependiente de las fa-ses previas y por tanto es difiacutecil compararlos Es necesario segmentar el candidato para poderclasificarlo siendo clave para su correcta clasificacioacuten las caracteriacutesticas seleccionadas y supoder discriminatorio Es importante tambieacuten destacar que las eficacias de algunos clasifica-dores viene dada a nivel de piacutexel [54] y las de otros a nivel de candidato [103] En generalla eficacia a nivel de piacutexel suele ser maacutes elevada dado que se evaluacutea una muestra mayor y loserrores de clasificacioacuten si son pocos quedan maacutes diluidos

CAPIacuteTULO 5

SISTEMA AUTOMAacuteTICO DE DETECCIOacuteN DE

VERTIDOS EN IMAacuteGENES DE SAR

51 Descripcioacuten del proyecto

Galicia es una regioacuten en el noroeste de Espantildea con maacutes de 1200 km de costa y aproxi-madamente 720 playas donde el mar ha jugado siempre un papel muy importante en la vidade sus habitantes La pesca y la agricultura han sido pilares fundamentales de su economiacutea yactualmente el sector turiacutestico juega tambieacuten un papel esencial Sus costas playas y las bon-dades de su gastronomiacutea particularmente la relacionada con el producto de mar (pescados ymariscos) son en buena parte culpables del incremento turiacutestico Ademaacutes se encuentran enesta regioacuten importantes astilleros y puertos tanto civiles como militares

La situacioacuten geograacutefica de Galicia convierte a sus costas en un paso obligado para buenaparte del traacutefico mariacutetimo europeo El Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF)mostrado en la Figura 51 es utilizado para dirigir y controlar este traacutensito Las viacuteas de circu-lacioacuten estaacuten empezando por la maacutes proacutexima a la costa a 217 millas naacuteuticas (40 km) 283millas naacuteuticas (524 km) 355 millas naacuteuticas (657 km) y 395 millas naacuteuticas (73 km) deCabo Fisterra Las viacuteas C y D del ESTF son usadas para navegar de norte a sur mientras quela A y B se utilizan en sentido contrario Las viacuteas B y D estaacuten reservadas para embarcacionescon mercanciacuteas peligrosas

Cada antildeo miles de buques de mercanciacuteas navegan a lo largo del ESTF y debido a lanormativa internacional todos los barcos tienen que informar de su posicioacuten al servicio de

78 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

7degW8degW9degW10degW

44degN

43degN

42degN

0 30 60 90 12015

Millas naacuteuticas130ordm

75ordm

Cabo Vilaacuten

Cabo Fisterra

Traacutefico

costero

D C B A

Figura 51 Esquema de Separacioacuten de Traacutefico de Fisterra

Traacutefico Mariacutetimo de Fisterra al cruzar las liacuteneas de demora 130 a Cabo Vilaacuten y 75 a CaboFisterra La Tabla 51 muestra el nuacutemero de informes recibidos entre los antildeos 1999 y 2009

Antildeo 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009Buques 41829 44561 44331 43209 43469 42538 43212 41942 42136 42354 40320

Tabla 51 Nuacutemero de embarcaciones identificadas en el ESTF

Este intenso traacutefico tiene graves consecuencias medioambientales en forma de accidentesy vertidos como por ejemplo el del petrolero Urquiola en 1976 o el del Mar Egeo en 1992 Sinembargo la cataacutestrofe maacutes importante y con mayor repercusioacuten ha sido la del buque petroleroPrestige que el 13 de Noviembre del antildeo 2002 sufrioacute un accidente frente a la costa gallegapara acabar hundieacutendose al cabo de seis diacuteas En la Figura 52 se observa la extensioacuten delvertido 5 diacuteas despueacutes de la cataacutestrofe La amplia cobertura cientiacutefica del accidente permitioacuteobtener multitud de datos y de informacioacuten lo que unido a un incremento de los recursoseconoacutemicos tuvo como consecuencia el desarrollo de varios proyectos para la deteccioacuten yseguimiento de grandes vertidos [90] [18] [34]

A pesar de que los medios de vigilancia y prevencioacuten se incrementaron despueacutes de la ca-taacutestrofe se descubren regularmente pequentildeos vertidos (sentinazos) provenientes de las ope-raciones de mantenimiento y limpieza de sentinas Es conveniente recordar que los pequentildeos

51 Descripcioacuten del proyecto 79

vertidos a pesar de no ser tan mediaacuteticos son la fuente de contaminacioacuten por hidrocarburosmaacutes importante (veacutease la Figura 41)

8deg30W9degW9deg30W10degW10deg30W

44degN

43deg30N

43degN

42deg30N

42degN

0 10 20 30 405

Millas naacuteuticas

Figura 52 Imagen SAR del vertido provocado por el accidente del buque petrolero Prestige (17112002)

La Agencia espantildeola de Salvamento y Seguridad Mariacutetima (SASEMAR) es la autoridadpuacuteblica encargada de monitorizar las costas gallegas en general y el ESTF en particular SA-SEMAR como se observa en la Figura 53 cuenta con varias bases de vigilancia en Galiciay con recursos tanto marinos como aeacutereos para efectuar la monitorizacioacuten y la vigilancia Eluso de buques y aviones es costoso y limitado por lo que el acuerdo suscrito con la Agen-cia Europea de Seguridad Mariacutetima (EMSA) para recibir hasta un maacuteximo 12 avisos al mesprovenientes de la inspeccioacuten de imaacutegenes SAR sobre posibles vertidos es especialmente uacutetilEstos avisos son evaluados por el personal de SASEMAR y cuando se considera apropiadoenviacutean sus propios recursos a la zona

En general una nacioacuten costera como es Espantildea y en particular Galicia con su intenso traacute-fico mariacutetimo y su traacutegico historial de cataacutestrofes medioambientales deberiacutea poseer su propiosistema de anaacutelisis de imaacutegenes SAR sin depender de sistemas de terceros Con este aacutenimose desarrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos a partirde imaacutegenes SAR que aunque resulta faacutecilmente adaptable a otras regiones fue optimizadopara su uso en las costas gallegas [79] Se prestoacute especial atencioacuten a su implementacioacuten conel objetivo de dar una respuesta en tiempo cuasi real sin sacrificar la eficiencia Las diferentesherramientas software o libreriacuteas utilizadas para el desarrollo del prototipo estaacuten soportadaspor licencias puacuteblicas lo que permite la libre distribucioacuten del producto final Los siguientes

80 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

A Coruntildea

Porto do Son

Vigo

Recursos de SASEMAR en Galicia

1 avioacuten de vigilancia CESSNA 337-G

1 avioacuten de vigilancia CN235-300

1 helicoacuteptero S61N - Sikorsky

1 helicoacuteptero AW139

3 buques polivalentes

Figura 53 Bases de la SASEMAR en Galicia y recursos asignados a la regioacuten

apartados detallan el desarrollo del algoritmo utilizado y su incorporacioacuten a un prototipo LaSeccioacuten 52 presenta la DB de imaacutegenes usada para el desarrollo y las fuentes de datos uti-lizadas Las particularidades del algoritmo se describen en las Secciones 53 54 55 y 56Por uacuteltimo la Seccioacuten 57 se centra en la descripcioacuten del prototipo implementado y en suintegracioacuten en RETELAB

52 Fuentes de datos

521 Sateacutelite Envisat

En Marzo del 2002 la ESA puso en oacuterbita el sateacutelite de observacioacuten terrestre Envisat [1]Su objetivo principal era dotar a Europa de una mayor capacidad para la observacioacuten de laTierra desde el espacio y dar continuidad a las misiones predecesoras de los sateacutelites ERS-1 y ERS-2 La instrumentacioacuten del Envisat estaba disentildeada para realizar observaciones ymediciones del oceacuteano la tierra el hielo y la atmoacutesfera Estuvo operativo hasta el 8 de Abrildel 2012 diacutea en que se perdioacute el contacto El 9 de Mayo del 2012 la ESA dio por finalizadaoficialmente la misioacuten Algunos de los paraacutemetros orbitales del sateacutelite pueden consultarse enla Tabla 52

La continuidad de las misiones europeas para la observacioacuten de la Tierra estaacute garantizadacon la serie de sateacutelites Sentinel que estaacute siendo desarrollada por la ESA dentro del programa

52 Fuentes de datos 81

de Monitorizacioacuten Global para el Medioambiente y la Seguridad (GMES) Se espera que elprimer sateacutelite Sentinel sea lanzado durante el antildeo 2013

Oacuterbitas por diacutea 143Periodo repeticioacuten de ciclo 35 diacuteasOacuterbitas por ciclo 501Periacuteodo orbital 10059 minVelocidad de la oacuterbita 745 kmsInclinacioacuten orbital 9855

Altitud media 7998 km

Tabla 52 Paraacutemetros orbitales del sateacutelite Envisat

A bordo del Envisat viajaban 10 instrumentos dedicados a la observacioacuten de la Tierra

ndash El instrumento de Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite(DORIS) ofreciacutea datos sobre la oacuterbita del sateacutelite con gran precisioacuten Esta informacioacutenera utilizada para determinar la posicioacuten exacta del sateacutelite

ndash El Espectroacutemetro de Imaacutegenes de Resolucioacuten Media (MERIS) mediacutea la reflectancia dela Tierra en el rango del espectro solar analizando el color de los oceacuteanos y la coberturadel terreno Los mapas de alta resolucioacuten generados con sus datos son utilizados paraevaluar los efectos del cambio climaacutetico

ndash El Radioacutemetro Avanzado de Exploracioacuten Longitudinal (AATSR) permitiacutea medir la tem-peratura de la superficie de la Tierra y de los oceacuteanos a partir de la radiacioacuten teacutermicainfrarroja que emite nuestro planeta

ndash El Altiacutemetro de Radar (RA-2) era capaz de registrar la topografiacutea de la superficie te-rrestre con una precisioacuten de unos pocos centiacutemetros lo que haciacutea posible analizar porejemplo la evolucioacuten temporal del nivel del mar

ndash El objetivo principal del Radioacutemetro de Microondas (MWR) era el de realizar medicio-nes del vapor de agua de la atmoacutesfera y del contenido de agua liacutequida de las nubes

ndash El instrumento para Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Es-trellas (GOMOS) proporcionaba una cartografiacutea global del ozono en altitud y un segui-miento de tendencia de gran precisioacuten

82 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash El Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva (MIPAS) era unespectroacutemetro independiente de la luz solar que serviacutea para realizar mediciones de altaresolucioacuten del espectro de emisiones gaseosas en la atmoacutesfera terrestre

ndash La misioacuten principal del Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes paraCartografiacutea Atmosfeacuterica (SCIAMACHY) era registrar el espectro de rayos solares quepasan a traveacutes de la atmoacutesfera Se utilizaba para encontrar huellas de absorcioacuten espectralproducidas por determinados gases y entre otras utilidades permitiacutea realizar mapasglobales de polucioacuten atmosfeacuterica

ndash El Retrorreflector Laacuteser (LRR) era un sensor pasivo utilizado como reflector de pul-sos laacuteser de alta potencia enviados desde estaciones en tierra y que proporcionaba ladistancia entre el sateacutelite y la estacioacuten

ndash El Radar de Apertura Sinteacutetica Avanzado (ASAR) era un novedoso instrumento SARdel que se obtuvieron los datos utilizados para el desarrollo de SENTINAZOS La si-guiente Seccioacuten profundiza su descripcioacuten

La mayoriacutea de los instrumentos presentados excepto el MWR y el RA-2 teniacutean coberturaglobal y necesitaban entre 1 y 3 diacuteas para completarla

Radar de Apertura Sinteacutetica Avanzado

El ASAR es un sensor activo que opera en el rango de las microondas concretamenteen la banda C con una frecuencia de 5331 GHz En la figura 54 se muestra el espectroelectromagneacutetico ofreciendo mayor detalle en el rango de las microondas

Las caracteriacutesticas particulares del sensor ademaacutes de su independencia de la luz solar yde la cobertura nubosa lo hacen especialmente eficiente en el estudio de temas tan diversoscomo frentes oceaacutenicos oleaje marino deteccioacuten de barcos y contaminantes movimiento yextensioacuten de hielos agricultura estudios urbaniacutesticos desastres naturales etc Dependiendodel aacuterea de estudio se trabajaraacute en uno de los 5 modos de operacioacuten soportados por el sensory que son descritos en la Tabla 53

Envisat Wide Swath Mode

El Envisat Wide Swath Mode (WSM) es el modo de operacioacuten que mejor se adapta a labuacutesqueda de vertidos de hidrocarburos Por un lado gracias a la teacutecnica ScanSAR ofrece una

52 Fuentes de datos 83

Banda

Frecuencia (GHz)

Long onda (cm)

InfrarojoMedio

MicroondasRadar

Radio Bandas Audio AC

UV

GammaRayos X

P L S C X K Q V W

039 155

03 10 30 100 300 1000

56463610957539

100 30 10 3 1 03

Vis

ible

10 10 1010 10 10 10 10 10 10 120 18 16 14 12 10 8 6 4 2

Longitud de onda

Frecuencia Hz

00

3 Å

03

3 Å

30

30

0 Å

03

μm

3 μ

m

30

μm

30

m

03

cm

3 c

m

30

cm

3 m

30

m

30

0 m

3 k

m

30

km

30

0 k

m

Longitud de onda (λ)

04

μm

07

μm

Figura 54 Espectro electromagneacutetico Figura adaptada de la web de la ESA [1]

Modo Trazas Polarizacioacuten Resolucioacuten (m) Cobertura aproxima-da (km)

IA (grados sexagesi-males)

Ruido de fondo (dB)

Image Mode(IM)

IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

AlternatingPolarisation(AP)

IS1 IS2 IS3IS4 IS5 IS6o IS7

HHVVHHHVVVVH

30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

Wide Swath(WS)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 150 400 17minus42 -21 a -26

Global Moni-toring (GM)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 1000 400 17minus42 -32 a -35

Wave (WV) IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 5 15minus45 -20 a -22

Tabla 53 Modos de operacioacuten del sensor ASAR a bordo del Envisat

amplia cobertura de 405 km y una resolucioacuten media de 150 m Por otro lado la relacioacuten entreel ruido de fondo y la retrodispersioacuten es adecuada para la buacutesqueda de sentinazos en casi todaslas condiciones cuando se utiliza la polarizacioacuten vertical-vertical

Polarizacioacuten Los radares pueden transmitir el haz energeacutetico con polarizacioacuten horizon-tal (H) o con polarizacioacuten vertical (V) y recibir la sentildeal retornada nuevamente con polariza-cioacuten horizontal vertical o ambas Esto es interesante debido a que los diferentes materiales

84 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de los que estaacute compuesta la cubierta terrestre reflejan las sentildeales con intensidades diferentesdependiendo de la polarizacioacuten e incluso algunos materiales convierten una polarizacioacuten enotra Dependiendo del objetivo de la investigacioacuten es maacutes adecuado un tipo u otro de pola-rizacioacuten Los productos de Envisat WSM pueden trabajar con dos tipos de polarizacioacuten lavertical-vertical (VV) y la horizontal-horizontal (HH)

Ruido de fondo Los sistemas para la adquisicioacuten de datos y procesamiento de sentildealesestaacuten afectados por diferentes tipos de ruido y de sentildeales no deseadas La suma de todo estoes lo que se define como ruido de fondo o noise floor La intensidad de este ruido situacutea elumbral o medida miacutenima que puede ser tomada e identificada con certeza es decir no sepuede identificar nada cuya intensidad de sentildeal sea inferior al ruido de fondo ya que quedaenmascarado por dicho ruido

La retrodispersioacuten del oceacuteano variacutea dependiendo del IA la polarizacioacuten y la velocidad ydireccioacuten del viento Los productos WSM de Envisat con polarizacioacuten VV poseen un ruidode fondo entre -21 dB y -26 dB que se encuentra por debajo de la media de retrodispersioacutendel oceacuteano en casi todas las condiciones Esta caracteriacutestica permite buscar la presencia dehidrocarburos ya que eacutestos se asocian a valores de retrodispersioacuten inferiores a los generadospor las aacutereas del mar sin presencia de contaminantes La Figura 55 muestra la retrodispersioacutendel oceacuteano obtenida de una imagen SAR que no teniacutea presencia de hidrocarburos Se puedeobservar que la retrodispersioacuten variacutea seguacuten el IA y la velocidad del viento

Aacutengulo de incidencia (grados)

Retr

odis

pers

ioacuten (

dB

)

Vientos 10 msVientos 6 msVientos 4 ms

15 20 25 30 35 40 45

5

0

-5

-10

-15

-20

-25

Figura 55 Retrodispersioacuten media obtenida de una imagen ASAR WSM para vientos de 4 ms 6 ms y 10 ms

52 Fuentes de datos 85

522 Coleccioacuten de datos

Para el desarrollo del sistema se ha contado con una coleccioacuten de 47 imaacutegenes WSM conpolarizacioacuten VV del Envisat obtenidas a traveacutes de un convenio con la ESA Las imaacutegenestomadas entre los antildeos 2007 y 2011 corresponden al noroeste de la Peniacutensula Ibeacuterica estandola mayoriacutea centradas en la costa gallega como puede verse en el mapa de densidad mostradopor la Figura 56

Figura 56 Representacioacuten de la densidad de cobertura de la Base de Datos

La regioacuten de estudio es una ampliacioacuten del ESTF construida tal y como se muestra en laFigura 57

Las imaacutegenes de los antildeos 2007 y 2008 contienen sentinazos detectados por operadoresde la EMSA a los que se les ha asignado una probabilidad (alta baja o media) de ser hidro-carburos El resto de la coleccioacuten contiene sentinazos y look-alikes confirmados a traveacutes demisiones aeacutereas de SASEMAR El nuacutemero de imaacutegenes de la coleccioacuten y cuaacutentas de ellascontienen sentinazos (confirmados o no) se puede ver en la Figura 58a agrupadas por antildeo Laclasificacioacuten de los sentinazos de la coleccioacuten es mostrada en la Figura 58b

La Figura 59 muestra la posicioacuten geograacutefica de los vertidos presentes en la DB Eacutestos secaracterizan por estar agrupados en torno al ESTF lo cual es debido a que es paso obligadopara los buques y en consecuencia sufre en mayor medida el efecto de los sentinazos

86 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 57 Aacuterea de estudio y ESTF

a b

Figura 58 a) Imaacutegenes SAR e imaacutegenes con sentinazos agrupadas por antildeo b) Clasificacioacuten de las manchas de laBase de Datos

53 Preprocesado

531 Calibrado y proyeccioacuten cartograacutefica

La DB utilizada para el desarrollo del proyecto almacena productos Envisat WSM de nivel1 Para que estos productos se adapten a las necesidades del proyecto es necesario aplicar-les varias operaciones de preprocesado por un lado las imaacutegenes son calibradas [95] conel objetivo de conseguir valores que realmente representen la retrodispersioacuten de la superficie

53 Preprocesado 87

Figura 59 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten

estudiada y que puedan ser comparados entre ellos La calibracioacuten aplicada consiste en unaserie de correcciones radiomeacutetricas que permiten comparar imaacutegenes sin importar si fueronobtenidas por el mismo sensor en queacute momento fueron tomadas el modo usado o si fueronprocesadas por diferentes procesadores Por otro lado las imaacutegenes calibradas son proyecta-das a un mismo sistema de referencia de coordenadas

Una vez realizadas estas actividades de preprocesado las imaacutegenes pueden utilizarse co-mo datos de entrada al sistema no obstante se aplicaraacuten otras dos funciones un enmascara-miento de la tierra y un filtrado de ruido antes de proceder a la segmentacioacuten con el objetivode optimizar la informacioacuten contenida en las mismas

532 Maacutescara de tierra

El objetivo del sistema es la deteccioacuten de vertidos de hidrocarburos en la superficie oceaacute-nica Las imaacutegenes utilizadas tienen una cobertura de 400 km x 400 km y al estar centradasen el ESTF contienen habitualmente regiones de tierra que corresponden a la costa noroestede la Peniacutensula Ibeacuterica Para no procesar dichas regiones eacutestas son enmascaradas asignandovalores nulos a los piacutexeles que las forman

88 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Desde el punto de vista espacial la costa gallega es muy compleja debido a la presencia delas riacuteas y otros accidentes geograacuteficos La costa y sobre todo las riacuteas funcionan como parapetoprotegiendo de los vientos a la superficie oceaacutenica y como se ha visto en el Capiacutetulo 4 lasaacutereas marinas dominadas por vientos de baja intensidad se visualizan en las imaacutegenes SARde forma similar a las afectadas por vertidos (falsos positivos) Para evitar estos look-alikes

se ha ampliado la maacutescara de tierra en 3 millas naacuteuticas tal y como puede apreciarse en lafigura 510

5degW6degW7degW8degW9degW10degW11degW

46degN

45degN

44degN

43degN

42degN

Regioacuten de Intereacutes

0 50 100 15025Millas Nauacuteticas

Figura 510 Maacutescara de tierra utilizada La franja roja representa una ampliacioacuten de 3 millas naacuteuticas a partir de laliacutenea de costa

533 Filtro de ruido

Previamente al procesado de las imaacutegenes es necesario aplicar un filtro de mediana conuna ventana de 3 x 3 piacutexeles con el objetivo de eliminarsuavizar el ruido de las imaacutegenesLa Figura 511 muestra un ejemplo de aplicacioacuten del filtro de mediana y coacutemo el valor de unpiacutexel se ve influenciado por los de su entorno

54 Segmentacioacuten

El objetivo de esta fase es detectar sobre la imagen SAR todos los piacutexeles susceptiblesde pertenecer a un vertido de hidrocarburo y generar una imagen binaria donde los candidatosdestaquen de la superficie marina limpia

54 Segmentacioacuten 89

Mediana - valor seleccionado

15 10 11 10 10

13 10 9 10 13

12 11 15 13 14

12 10 13 7 15

16 15 12 13 10

darr 7 9 10 10 10 11 13 13 15

darr

Secuencia ordenada

Figura 511 Ejemplo de uso del filtro de mediana para reducir el ruido de la imagen Imagen adaptada de [35]

Dado que los bajos niveles de intensidad generados por las aacutereas con baja retrodispersioacutenestaacuten asociados a hidrocarburos (ademaacutes de a otros fenoacutemenos naturales) es loacutegico pensar queuna segmentacioacuten basada en umbrales pueda ser el meacutetodo maacutes adecuado La complejidad delas imaacutegenes SAR (por ejemplo la fuerte dependencia del nivel medio de intensidad con el IA) provoca que los umbrales simples no sean adecuados Una funcioacuten de umbral adaptativo quetenga en cuenta el IA del piacutexel analizado ademaacutes de otros factores parece la mejor opcioacuten

541 Establecimiento del umbral adaptativo

Con el objetivo de establecer una funcioacuten de umbral adaptativo se muestrearon 1652 piacute-xeles pertenecientes a zonas afectadas por vertidos de hidrocarburos De cada piacutexel se registroacutesu valor de intensidad y su IA asociado La Figura 512 presenta graacuteficamente los piacutexelesmuestreados agrupados por su IA

En este histograma se observa que los IAs de los piacutexeles seleccionados no estaacuten distribui-dos uniformemente y la razoacuten es que la mayoriacutea de las imaacutegenes de la DB estaacuten centradas enel ESTF por lo que la relacioacuten entre las aacutereas de la imagen y los IAs se mantiene relativa-mente constante El rango de IAs con mayor nuacutemero de piacutexeles muestreados suele coincidircon el aacuterea cubierta por el ESTF que es la zona que contiene la mayor cantidad de vertidosLos piacutexeles de la muestra fueron agrupados de acuerdo con su IA en intervalos de 1 entre los17 y los 42 Para cada intervalo se calculoacute la media y su desviacioacuten tiacutepica y se descartaronlos piacutexeles con valores de intensidad superiores a la suma de los dos valores calculados Paracada intervalo se seleccionaron los valores de intensidad maacuteximos (veacutease Ecuacioacuten 51) y conestos puntos como liacutemite superior se realizoacute un estudio de regresioacuten para obtener una funcioacutenque los aproximase

x = max(B)B = y isin B yle ν(A)+σ(B) (51)

90 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 512 Piacutexeles muestreados agrupados seguacuten su IA

El resultado del anaacutelisis fue que tanto una funcioacuten de cuarto grado (52) como una expo-nencial negativa (53) se ajustaban de forma significativa a los datos de la muestra

y =minus63401 middot10minus6x4 +000073027x3minus0029919x2 +050015xminus26381 (52)

y = 74199eminus018212x (53)

Estas funciones debiacutean representar los valores maacuteximos de intensidad que podiacutea almace-nar un piacutexel en funcioacuten de su IA asociado en caso de que representase un vertido es decirtodo piacutexel con un valor de intensidad igual o menor se considerariacutea vertido Se optoacute por unaaproximacioacuten agresiva ya que es preferible en esta fase de segmentacioacuten obtener algunosfalsos positivos a descartar vertidos

Las pruebas efectuadas aplicando cualquiera de las dos funciones mostraron demasiadosfalsos positivos La obtencioacuten de look-alikes en la fase de segmentacioacuten no es preocupantee incluso es esperada dado que es la fase de clasificacioacuten la que tradicionalmente asumela responsabilidad de seleccionar cuaacuteles son los sentinazos y cuaacuteles no pero seriacutea deseableobtener el miacutenimo posible y asiacute disminuir la responsabilidad del clasificador

Las funciones obtenidas estaban basadas en la intensidad y en el IA pero determinadosestudios previos [40] ponen de manifiesto la importancia de los factores meteoroloacutegicos y

54 Segmentacioacuten 91

particularmente los vientos en la deteccioacuten de sentinazos Dado que el nivel de retrodispersioacutentiene relacioacuten directa con la rugosidad de la superficie (veacutease la Figura 45) y eacutesta se debe ala presencia de viento la funcioacuten adaptativa deberiacutea tener en cuenta los datos del viento de lazona estudiada La Figura 55 muestra la influencia de la velocidad del viento en la intensidadUtilizar datos de viento en la fase de segmentacioacuten permitiraacute realizar una segmentacioacuten maacutesprecisa facilitando el trabajo posterior del clasificador

1 2 3 4 5 6 7 8 9

0

100

10

200

300

400

500

600

Piacutex

ele

s m

uestr

eados

Total piacutexeles 1652

Velocidad del viento (ms)0

Figura 513 Elementos de la muestra agrupados por la velocidad del viento

La forma maacutes directa de acceder a los datos de viento correspondientes a la zona cubiertapor una imagen SAR es a traveacutes de los datos contenidos en la propia imagen CMOD5 [60] esun modelo geofiacutesico desarrollado para datos obtenidos en la banda C que permite relacionarla retrodispersioacuten generada por la rugosidad de la superficie oceaacutenica con la velocidad y di-reccioacuten del viento Utilizando este modelo se obtuvieron los datos de viento correspondientesa las imaacutegenes de la DB Los resultados generados con una resolucioacuten menor que la de laimagen SAR fueron interpolados usando el algoritmo Kriging [88] para obtener la mismaresolucioacuten que la imagen original

La muestra de 1652 piacutexeles fue enriquecida antildeadiendo los datos de velocidad de vientocalculados con el modelo CMOD5 Los piacutexeles de la muestra fueron agrupados seguacuten la velo-cidad del viento (veacutease Figura 513) La mayoriacutea de estos piacutexeles tienen asociadas velocidadesde viento entre los 3 y 7 ms por lo que cubren el rango oacuteptimo para la deteccioacuten de verti-dos [54] Los piacutexeles con vientos mayores a 7 ms se agruparon en un soacutelo intervalo ya que la

92 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

muestra no teniacutea suficientes datos como para realizar maacutes divisiones Cada grupo creado fuenuevamente dividido en subconjuntos en base al IA En cada subconjunto (con al menos 10valores) se calculoacute la media y la desviacioacuten tiacutepica de los valores de intensidad Finalmente seescogioacute el valor de intensidad maacutes alto para cada subconjunto siempre y cuando fuese igual omenor a la suma de la media y el doble de la desviacioacuten tiacutepica de dicho subconjunto Noacuteteseque en esta ocasioacuten al ajustar mejor los valores gracias a los vientos se optoacute por relajar elumbral maacuteximo empleando dos veces la desviacioacuten tiacutepica y no soacutelo una como en el caso de laumbralizacioacuten sin vientos (veacutease Ecuacioacuten 51) El esquema del proceso seguido se muestraen la Figura 514

A=muestra de 1652 piacutexeles

A1= piacutexeles con

viento lt 4 ms

A2= piacutexeles con

viento lt 5 ms

A3= piacutexeles con

viento lt 6 ms

A4= piacutexeles con viento lt 7 ms

A5= piacutexeles con viento gt= 7 ms

A1= piacutexeles con

aacutengulo de incidencia[1718]

A2= piacutexeles con

aacutengulo de incidencia[1819]

A25= piacutexeles con

aacutengulo de incidencia[4142]

x25x2x1

xi=max(Bi) Bi=yisinAi y le A

i + 2σAi

Figura 514 Esquema de acciones realizadas para establecer el umbral adaptativo

El resultado de este proceso es un conjunto de intensidades para cada rango de velocidadestudiado Realizando un anaacutelisis de regresioacuten sobre los datos se comproboacute que al igual queen la primera aproximacioacuten una funcioacuten de cuarto grado y una exponencial negativa se ajus-taban de forma significa a la muestra Estudiando dichas funciones con maacutes detalle y a traveacutesde pruebas de segmentacioacuten se comproboacute que los mejores resultados se obteniacutean usando lafuncioacuten de cuarto grado en los aacutengulos de incidencia menores y la exponencial negativa en losmayores Se establecioacute una funcioacuten definida por partes para el caacutelculo adaptativo del umbralen el que el IA es utilizado para establecer el punto de corte entre las partes La Tabla 54presenta los coeficientes de las funciones adaptados seguacuten la velocidad del viento asiacute comolos puntos de corte establecidos por los IAs

54 Segmentacioacuten 93

Velocidad del viento Funcioacuten de cuarto grado Punto de corte Funcioacuten exponencial negativa

vel lt= 4ms 63662lowast10minus6x4minus000083671x3 +0041262x2minus090719x+75353 378 59169eminus017881x

vel lt= 5ms 30874lowast10minus6x4minus000043845x3 +0023424x2minus055931x+50588 3625 66689eminus017944x

vel lt= 6ms 21022lowast10minus6x4minus000031131x3 +0017414x2minus04365x+41503 3682 57770eminus017217x

vel lt= 7ms 27742lowast10minus6x4minus000039094x3 +002086x2minus050088x+45883 3752 54477eminus016858x

vel gt 7ms 12416lowast10minus6x4minus000019466x3 +0011604x2minus031143x+3182 368 62053eminus017101x

Tabla 54 Coeficientes y puntos de corte para las funciones de umbral adaptativo

Las funciones exponenciales negativas para vientos de 4 ms 6 ms y mayores que 7 msse representan graacuteficamente en la Figura 515

0

005

01

015

02

025

03

20 25 30 35 40

Inte

nsi

da

d

Aacutengulo de incidencia

Viento lt=4 msViento lt=6 msViento gt 7 ms

Figura 515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para distintos valores de lavelocidad del viento

542 Aplicacioacuten del umbral adaptativo

El proceso de segmentacioacuten se aplica sobre todos los piacutexeles de una imagen SAR exceptolos que previamente han sido enmascarados como tierra y los que pertenecen a zonas fueradel aacuterea de alcance del sensor

De cada piacutexel procesado se extrae su intensidad el IA y la velocidad del viento A partirde la velocidad del viento y de los coeficientes presentados en la Tabla 54 se obtienen lasfunciones adecuadas y el punto de corte (IA) entre la funcioacuten polinoacutemica y la exponencialnegativa Seguacuten el IA del piacutexel y tras compararlo con el punto de corte se selecciona una

94 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de las dos funciones y se utiliza el aacutengulo como paraacutemetro La funcioacuten devolveraacute un umbralque identificaraacute el maacuteximo valor de intensidad que podriacutea tener el piacutexel analizado para serconsiderado parte de un sentinazo Si la intensidad es menor o igual al umbral el piacutexel seraacuteetiquetado como candidato y en caso contrario como superficie limpia

543 Filtro de vientos

Dado que existen estudios previos que consideran que es necesaria una velocidad del vien-to de al menos 3 ms para detectar un sentinazo los piacutexeles segmentados que esteacuten afectadospor vientos de intensidad menor que ese umbral son considerados look-alikes y son eliminadosde la imagen segmentada

544 Filtro de aacuterea

Los medios de vigilancia contra la polucioacuten como los buques y aviones tienen un costede uso elevado y son limitados por lo que soacutelo son utilizados cuando la situacioacuten es poten-cialmente dantildeina o el vertido tiene una dimensioacuten considerable Las estructuras formadas porlos piacutexeles segmentados que tengan un aacuterea menor que 50 piacutexeles (equivalente a 03km2) sonconsideradas como falsos positivos o como pequentildeos sentinazos no dantildeinos que pueden sereliminados de la imagen segmentada

55 Extraccioacuten de caracteriacutesticas

El resultado de la fase de segmentacioacuten es una imagen binaria donde aparecen resaltadostodos los sentinazos junto con un gran nuacutemero de look-alikes Es tarea de un clasificador sepa-rar los sentinazos de los falsos positivos y para una correcta clasificacioacuten es necesario obtenerun vector de caracteriacutesticas para cada candidato que pueda ser analizado por el clasificador

El vector de caracteriacutesticas utilizado para el desarrollo de este algoritmo estaacute basado entres tipos de caracteriacutesticas

ndash Caracteriacutesticas de forma la forma puede ser un factor determinante para clasificar uncandidato Estudios anteriores [92] han mostrado que debido a su naturaleza los senti-nazos pueden agruparse en 5 grandes clases desde el punto de vista de su forma (veacuteasela Figura 47)

55 Extraccioacuten de caracteriacutesticas 95

ndash Caracteriacutesticas fiacutesicas se han incorporado caracteriacutesticas asociadas al nivel de intensi-dad de los piacutexeles dado que su importancia y utilidad ha sido refrendada por estudiosprevios [37]

ndash Informacioacuten contextual Los datos de contexto en general y maacutes concretamente los devientos [40] son de gran utilidad a la hora de detectar sentinazos y deben ser incorpora-dos al vector de caracteriacutesticas

Tipo Nombre Descripcioacuten

Forma

APR Aacuterea PeriacutemetroElongacioacuten Eje mayor Eje menor

MPR Eje mayor PeriacutemetroRectangularidad Aacuterea Aacuterea (Min rect engloba)

Circularidad Periacutemetro2 (4 πAacuterea)Thickness Nuacutemero de erosiones necesarias para dividir un objeto

Hu1 (η20 +η02)

Hu2 (η20minusη02)+4η211

Hu3 (η30 +3η12)2 +(3η21minusη03)

2

Hu4 (η30 +η12)2 +(η21 +η03)

2

Hu5 (η30 minus 3η12)(η30 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η21 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Hu6 (η20minusη02)[(η30minusη12)2minus (η21η03)

2]+4η21(η30 +η12)(η21 +η03)

Hu7 (3η21 minus η30)(η00 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η12 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Flusser y Suk - I1 (η20η02minusη211)η4

00

Flusser y Suk - I2 (minusη230η2

03 +6η30η21η12η03minus4η30η312minus4η3

21η03 +3η221η2

12)η1000

Flusser y Suk - I3 (η20η21η03minusη20η212minusη11η30η03 +η11η21η12 +η02η30η12minusη02η2

21)ν700

Flusser y Suk - I4 (minusη320η2

03 + 6η220η11η12η03 minus 3η2

20η02η212 minus 6η20η2

11η21η03 minus 6η20η211η2

12 +12η20η11η02η21η12 minus 3η20η2

02η221 + 2η3

11η30η03 + 6η311η21η12 minus 6η2

11η02η30η12 minus6η2

11η02η221 +6η11η2

02η30η21minusη302η2

30)η1100

Contexto AI IA respecto al centroide de la manchaViento Velocidad del viento en el aacuterea estudiada

Fiacutesicas Intensidad Intensidad media de los piacutexeles contenidos en la mancha candidatoASR Ratio de la intensidad del candidato respecto al aacuterea circundante

Nota ηi j representa a los momentos centrales normalizados

Tabla 55 Vector de caracteriacutesticas

El vector generado (veacutease Tabla 55) estaacute compuesto por 21 componentes de los que 17corresponden a caracteriacutesticas de forma Para disminuir la dimensionalidad del vector se apli-coacute un Anaacutelisis de Componentes Principales (PCA) [67] sobre las caracteriacutesticas de forma LaTabla 56 contiene los porcentajes de varianza explicados por los componentes principalesobtenidos tras el PCA mientras que la Figura 516 muestra graacuteficamente el porcentaje expli-cado por el subconjunto de componentes maacutes representativo Finalmente se sustituyeron las

96 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

17 caracteriacutesticas de forma por los 5 primeros componentes cubriendo asiacute maacutes del 92 de lavarianza y reduciendo considerablemente la dimensionalidad del vector Los coeficientes delos componentes principales seleccionados se muestran en la Tabla 55

PCA1 PCA2 PCA3 PCA4 PCA5

0

10

20

30

40

50

60

70

80

90

0

10

20

30

40

50

60

70

80

90

100 100

Componentes Principales

Vari

anza E

xplicada

Figura 516 Componentes principales y porcentaje de varianza explicado

Componente Principal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17Varianza explicada () 477716 183024 138332 73918 50537 37671 19663 08758 04884 03178 00938 00693 00414 00142 00089 00041 00001

Tabla 56 Componentes principales y porcentaje de varianza explicado

56 Clasificacioacuten

Una vez caracterizados los candidatos es necesario clasificarlos y asignarles una clase(sentinazo o look-alike) El vector de caracteriacutesticas de cada candidato es la entrada para unclasificador cuya salida seraacute una clase o etiqueta identificaacutendolo La eficiencia del clasificadorestaacute directamente relacionada con los datos del vector es decir un buen clasificador no podraacuteclasificar correctamente si las caracteriacutesticas no discriminan suficientemente bien

La maacutexima seguida para el desarrollo de los clasificadores fue la de minimizar el nuacuteme-ro de falsos negativos incluso cuando la consecuencia era incrementar el nuacutemero de falsospositivos Para el sistema es asumible mostrar falsos positivos debido a que o bien el siste-ma es semiautomaacutetico es decir un operador humano filtra los resultados antes de enviar losmedios de vigilancia o bien el sistema es completamente automaacutetico en cuyo caso los siste-mas de vigilancia se activariacutean tras el descubrimiento del look-alike con el consecuente gasto

56 Clasificacioacuten 97

Var1 PCA Var2 PCA Var3 PCA Var4 PCA Var5 PCAAPR -00321 00466 06160 01722 -01237

elongacioacuten 01770 03460 -01469 02321 -01141MPR 02596 00579 03499 00017 -00160

Rectangularidad -01196 -00306 02473 00149 08811Circularidad 03070 -00775 00457 -00321 -02217

Thickness -00013 00530 06099 01626 -02103Hu1 03299 00316 -00735 00802 -00472Hu2 03371 00255 -00683 01573 00767Hu3 03389 -00366 -00237 00670 01383Hu4 02769 03158 -00167 -00164 01338Hu5 02092 04218 -00049 -00343 01185Hu6 02055 04349 -00000 -00842 01202Hu7 -02791 03182 -00151 00583 -01003FS1 02795 -02692 00373 -02175 -00562FS2 00728 -02281 -01329 07528 00772FS3 -02540 02239 -01053 04511 -00382FS4 -02567 03457 -00020 -01540 -00864

Tabla 57 Coeficientes de los componentes principales seleccionados

econoacutemico pero sin consecuencias medioambientales Los falsos negativos por el contrariono podriacutean detectarse ni de forma automaacutetica ni por un operador ya que el sistema no losmostrariacutea y esto conllevariacutea un mayor impacto en el ecosistema dado que no se activariacutean losprotocolos de gestioacuten de forma temprana

Los siguientes apartados describen dos clasificadores desarrollados para identificar loscandidatos generados en la segmentacioacuten Para su desarrollo y entrenamiento se ha utilizadouna DB de candidatos previamente etiquetados con 155 falsos positivos y 80 sentinazos quefueron distribuidos en 3 grandes grupos (veacutease la Figura 517) el 70 de los elementos fuereservado para el entrenamiento un 15 fue utilizado para el conjunto de validacioacuten y el15 restante fue seleccionado para el conjunto de test

Base de datos de candidatos

155 Look-alikes 80 Sentinazos

128 66 27 14

101 52 27 14

Test

Validacioacuten

Datos para el entrenamiento

Entrenamiento

85 15

1570

Figura 517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores

98 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

561 Redes Neuronales Artificiales

Introduccioacuten

Las ANN tratan de emular el comportamiento del cerebro humano y la extraccioacuten de co-nocimiento geneacuterico a partir de un conjunto de datos [71] Las ANNs al igual que el cerebroestaacuten compuestas de procesadores elementales llamados neuronas artificiales o simplementeneuronas que conectadas entre siacute o a entradas externas cooperan para producir un estiacutemulode salida Cuando un conjunto de neuronas recibe todas sus entradas de una misma fuente ytodas sus salidas se dirigen a un mismo destino forman una capa

Una neurona artificial se caracteriza por los siguientes elementos (veacutease la Figura 518)

ndash Estado inicial las neuronas de la red presentan un estado o valor inicial (atminus1) previo arecibir los estiacutemulos externos y que influiraacute en su respuesta a eacutestos

ndash Conexiones neuronales valores de entrada a la neurona j-eacutesima (xi) con unos pesosasociados (wi j)

ndash Funcioacuten de propagacioacuten determina la entrada de la neurona (Net j) Generalmente es elsumatorio de cada uno de sus estiacutemulos externos o entradas (xi) multiplicado por su pesoasociado (wi j) Es habitual que se incluya un teacutermino constante (x0) denominado sesgoLa inclusioacuten de este elemento se deriva del comportamiento de las neuronas bioloacutegicasque poseen umbrales internos de activacioacuten que distorsionan el impacto causado porlos estiacutemulos recibidos El teacutermino suele tener el valor lsquo1rsquo y el valor y signo de su pesoindica su influencia en la funcioacuten

ndash Funcioacuten de activacioacuten o transferencia combina el valor inicial de la neurona (atminus1) conla entrada obtenida por la funcioacuten de propagacioacuten (Net j) para producir un nuevo estadoo valor de la neurona

ndash Funcioacuten de salida transforma el estado de la neurona generado a traveacutes de la funcioacutende transferencia en una sentildeal de salida (y j) que se trasmitiraacute a las siguientes neuronasHabitualmente la funcioacuten de salida coincide con la funcioacuten identidad es decir el valorde salida es en la praacutectica el valor retornado por la funcioacuten de transferencia

Una de las caracteriacutesticas maacutes importantes de las ANNs es su capacidad de generalizara partir de ejemplos lo que permite dar una respuesta correcta ante patrones no presentadospreviamente Las ANNs tienen la capacidad de aprender creando modificando o destruyendo

56 Clasificacioacuten 99

w1j

wdj

wnj

F(aj(t-1)Netj)=aj(t)) f(aj(t))=yj rarr yj

Entradas Pesos Entrada total Func activacioacuten Func salida Salida

X0Sesgo w0j

Netj=sum wkjmiddotxk k=0

n

X1

Xd

Xn

Neurona j-eacutesima

Figura 518 Elementos de una neurona artificial Figura adaptada de [71]

sus conexiones (pesos) entre sus neuronas Existen diferentes algoritmos de aprendizaje perotodos ellos pueden ser englobados en uno de los dos grandes tipos presentados a continuacioacuten

ndash Aprendizaje supervisado se caracteriza por la presencia de un agente que controla elproceso de entrenamiento estableciendo una respuesta correcta para una serie de valo-res de entrada determinados Si la salida de la red no es la salida deseada el supervisormodifica iterativamente los pesos de las neuronas de la red (wi j) con el objetivo de queel resultado tienda al deseado Eacuteste es el tipo de aprendizaje utilizado para desarrollar laANN para la deteccioacuten de los sentinazos y en concreto se usoacute una teacutecnica de aprendi-zaje por correccioacuten de error denominada backpropagation Las teacutecnicas por correccioacutende error ajustan los pesos de las conexiones de la red en base a la diferencia entre lasalida deseada y la obtenida Una de las reglas maacutes sencillas para la correccioacuten es lasiguiente

wt+1i j = wt

i j +∆wi j

∆wi j = α(r jminus y j)x j(54)

Dada una conexioacuten neuronal entre la neurona i-eacutesima y la j-eacutesima con un peso wi j en elinstante t ∆wi j representariacutea la variacioacuten en el peso de la conexioacuten en el instante t +1es decir la correccioacuten del error En el caacutelculo de ∆wi j α es un factor de aprendizaje r j

es la salida deseada ante un determinado patroacuten mientras que y j es la salida realmenteobtenida y finalmente x j es la entrada a la neurona j

100 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash Aprendizaje no supervisado se presenta a la red una serie de patrones sin una respues-ta asociada La red busca particularidades correlaciones o categoriacuteas presentes en losdatos de entrada y los categoriza

Las conexiones neuronales son uno de los elementos fundamentales en el aprendizaje ypueden producirse entre neuronas de una misma capa o entre neuronas de capas diferentessin limitaciones El modelo de ANNs maacutes utilizado en la praacutectica es el Perceptroacuten Multicapa(MLP) que constituye un modelo particular en el que la propagacioacuten de los datos es siemprehacia adelante es decir ninguna salida neuronal constituye la entrada a una neurona de lamisma capa o de una capa anterior Las redes MLP (veacutease la Figura 519) estaacuten compuestaspor una capa neuronas de entrada donde se recogen los datos del exterior una o varias capasde neuronas ocultas y una capa de salida que devuelve los resultados de la red

Figura 519 Estructura de una red neuronal MLP

Algoritmo de retropropagacioacuten de errores

Debido a su sencillez y eficacia el algoritmo de retropropagacioacuten de errores o de backpro-

pagation [58] es uno de los algoritmos de aprendizaje supervisado maacutes extendido para redesMLP Baacutesicamente el algoritmo modifica iterativamente los pesos de las conexiones entre lasneuronas con el objetivo de minimizar el error de la red Partiendo de unos pesos aleatorios yde un conjunto de patrones de entrenamiento correctamente clasificados el algoritmo procesaa traveacutes de la red cada patroacuten El error cometido al procesar un patroacuten es cuantificado paramodificar los pesos en consecuencia La modificacioacuten iterativa de los pesos se realiza con elobjetivo de que el resultado real tienda al deseado La cuantificacioacuten del error medio-total de

56 Clasificacioacuten 101

la red se calcula comoE(w|xr) = 1

2(rminus y)2 (55)

siendo r el resultado deseado para la entrada de un patroacuten a la red e y el resultado real-mente obtenido La modificacioacuten de los pesos trata de minimizar el error de la red siendoel descenso de gradiente el meacutetodo maacutes habitual para ello siempre y cuando la funcioacuten pa-ra calcular el error sea diferenciable Las variaciones de los pesos utilizando el descenso degradiente se obtendriacutean a traveacutes del siguiente caacutelculo

∆wh j =minusαpartE

partwh j(56)

El algoritmo de retropropagacioacuten de errores tiene dos fases principales en una primerafase los patrones de entrenamiento son presentados y analizados por la red y sus salidas soncomparadas con los resultados esperados en una segunda fase se modifican los pesos de la redcalculando el error cometido y propagaacutendolo desde la capa de salida hasta la capa de entrada

x0=1

xj

xn

z0=1

whj vih

zh

zk

w0

sesgo sesgo v0

yi

Figura 520 Ejemplo simplificado de una red MLP

Actualizacioacuten de los pesos Partiendo del ejemplo mostrado en la Figura 520 en el quela funcioacuten de transferencia de las neuronas de la capa oculta es una sigmoide la salida de lared para un determinado patroacuten p se obtiene a traveacutes del siguiente caacutelculo

ypi =

k

sumq=1

viqzq + v0 (57)

102 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

La variacioacuten de los pesos que unen la capa oculta con la capa de salida se calculariacuteatratando de minimizar el error de la red (veacutease Ecuacioacuten 55) a traveacutes del descenso de gradiente(veacutease Ecuacioacuten 56)

∆wh j = α sump(rpminus yp)zp

h (58)

Sin embargo el caacutelculo de los pesos entre la capa de entrada y la oculta no puede hacer-se directamente utilizando el error cuadraacutetico medio ya que se desconoce cuaacutel es la salidadeseada para las neuronas ocultas La solucioacuten estaacute en el uso de la regla de la cadena sobre laEcuacioacuten 56 de la siguiente manera

∆wh j =minusαpartE

partwh j

=minusα sump

partE p

partyppartyp

part zph

partE p

part zph

part zph

partwh j

=minusα sumpminus(rpminus yp)︸ ︷︷ ︸

partE ppartyp

vh︸︷︷︸partyp

part zph

zph(1minus zp

h)xpj︸ ︷︷ ︸

part zph

partwh j

= α sump(rpminus yp)vhzp

h(1minus zph)x

pj

(59)

Teacutermino momento De entre las mejoras desarrolladas sobre el algoritmo claacutesico cabedestacar la que introduce el teacutermino momento Esta mejora consigue que la actualizacioacuten depesos sea proporcional al incremento de la iteracioacuten anterior permitiendo acelerar y estabili-zar el proceso de aprendizaje [96] La actualizacioacuten de pesos utilizando el teacutermino momentose calcula como

Wt+1 =Wt +[∆Wt +β∆Wtminus1] (510)

El teacutermino momento identificado por la constante β suele tomar un valor entre 0 y 1 ygeneralmente su valor es proacuteximo a la cota superior e inversamente proporcional a la tasa deaprendizaje es decir cuanto maacutes pequentildeo es el valor α maacutes grande suele ser β

Tanto la tasa de aprendizaje como el teacutermino momento son seleccionados empiacutericamentedependiendo del problema a resolver

56 Clasificacioacuten 103

Clasificador

Se implementoacute una red neuronal MLP para clasificar los candidatos segmentados Su ar-quitectura y los pesos de sus conexiones fueron establecidos a traveacutes de un proceso de entre-namiento validacioacuten y test utilizando los conjuntos mostrados en la Figura 517

La red desarrollada cuya arquitectura final se muestra en la Figura 522 estaacute compuestade 3 capas de neuronas El nuacutemero de neuronas de la capa de entrada se establecioacute en 9 unapor cada elemento del vector de caracteriacutesticas mientras que en la capa de salida se utilizaron2 neuronas para representar cada una de las posibles clases que se pueden asignar a un candi-dato Una neurona de la capa de salida con valor lsquo0rsquo representa la total incompatibilidad conla clase asignada a dicha neurona y el caso opuesto es representado con el valor lsquo1rsquo Valoresintermedios en el rango (01) representan una cierta probabilidad de pertenencia a la claseLos estiacutemulos externos a la red fueron normalizados en el rango [-11] como paso previo a suprocesamiento

Las neuronas utilizadas tanto en la capa oculta como en la capa de salida siguen el es-quema de la Figura 521 Estas neuronas reciben los valores de salida de las neuronas de lacapa anterior ponderados a traveacutes de los pesos asignados a las conexiones neuronales y unsesgo con valor lsquo1rsquo que se pondera a traveacutes de un peso asignado a cada neurona Una funcioacutende propagacioacuten que unifica y combina los valores de entrada en un uacutenico valor sirve comoentrada para la funcioacuten de activacioacuten de la neurona El resultado de la funcioacuten de activacioacutenrepresenta el valor de salida de la neurona

Netj=sum(ximiddotwi)+w0 aj=f(Netj)=2

[1+exp(Netj)]-1f(aj)=id(aj)=yj

yj

Neurona j-eacutesimax0

x1

x2

xn

Sesgo w0

w1

w2

wn

i=1

n

Figura 521 Esquema de la neuronas empleadas en la ANN desarrollada

El nuacutemero de neuronas de la capa oculta se establecioacute a traveacutes de un proceso comparativoentre diferentes arquitecturas Utilizando el algoritmo de retropropagacioacuten de errores con lavariante del teacutermino momento como proceso de aprendizaje de la red y basaacutendose en la reglaad hoc de que el nuacutemero de neuronas ocultas no deberiacutea ser superior al doble del nuacutemerode neuronas de entrada [106] fueron realizadas diferentes pruebas en las que se emplearon

104 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

hasta un maacuteximo de 18 neuronas En cada prueba los patrones normalizados del conjuntode entrenamiento fueron presentados iterativamente a la red y sus salidas se compararon conlos resultados esperados Cuando las salidas no resultaron satisfactorias los pesos fueronactualizados seguacuten el algoritmo de aprendizaje

Para evitar el sobreentrenamiento de la red es decir que la red aprendiese las particula-ridades propias de los patrones de entrenamiento limitando su capacidad de generalizacioacutense utilizoacute un conjunto de validacioacuten En cada iteracioacuten del proceso de entrenamiento se proboacutela red con el conjunto de validacioacuten y se calculoacute su eficacia Por norma general la eficaciade la red respecto al conjunto de entrenamiento iraacute mejorando en las sucesivas iteraciones delentrenamiento sin embargo la eficacia sobre el conjunto de validacioacuten alcanzaraacute un punto deinflexioacuten en el que la tendencia cambiaraacute La iteracioacuten donde se alcance la eficiencia maacuteximasobre el conjunto de validacioacuten marca el final del entrenamiento Una vez finalizado el en-trenamiento la red entrenada y validada se proboacute nuevamente sobre el conjunto de test paraconfirmar su eficacia con un conjunto independiente

Figura 522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP

Las pruebas de arquitectura fueron realizadas con diferentes inicializaciones de la red ta-sas de aprendizaje valores para el teacutermino momento y funciones de transferencia los mejoresresultados se obtuvieron utilizando 11 neuronas en la capa oculta con una tasa de aprendizajede 03 y un valor de momento de 09 La funcioacuten de propagacioacuten utilizada fue la suma pon-derada de las entradas de cada neurona con los pesos asociadas a ellas (incluyendo el sesgo)

56 Clasificacioacuten 105

mientras que la funcioacuten de transferencia seleccionada fue una sigmoide (tangente hiperboacuteli-ca) Los resultados de la ejecucioacuten de la red sobre los candidatos contenidos en los conjuntosde validacioacuten y test asiacute como su comparativa con el otro clasificador se muestran en detalleen el capiacutetulo 6

562 Aacuterboles de decisioacuten

Descripcioacuten

Un aacuterbol de decisioacuten [14] es un meacutetodo de aprendizaje inductivo supervisado y no para-meacutetrico que puede ser utilizado tanto para la clasificacioacuten como para la regresioacuten Se imple-menta a traveacutes de una estructura jeraacuterquica basada en una estrategia de divide y venceraacutes ygeneralmente se representa como un aacuterbol binario es decir una estructura de datos formadapor nodos en la que cada nodo que no sea final tiene dos hijos Los nodos finales son conoci-dos como hojas mientras que los intermedios son denominados nodos decisioacuten De entre lasdiferentes implementaciones posibles que se pueden encontrar en la literatura el clasificadordesarrollado se basoacute en los Aacuterboles de Clasificacioacuten y Regresioacuten (CART) propuestos porBreiman et aacutel [24]

Construccioacuten y entrenamiento del aacuterbol

El entrenamiento y construccioacuten de un aacuterbol de clasificacioacuten se realiza a partir de un con-junto de patrones de entrenamiento previamente etiquetados en el que se trata de encontrar atraveacutes de sucesivas particiones secciones en su espacio de representacioacuten en las que todos lospatrones presentes pertenezcan a una misma clase o etiqueta Cada particioacuten se representa enel aacuterbol como un nodo decisioacuten en el que se evaluacutea una caracteriacutestica presente en los patronesagrupaacutendose eacutestos acorde al resultado de la evaluacioacuten en uno de los nodos hijo generados

Sea m un nodo del aacuterbol y Nm los patrones o instancias de entrenamiento que llegan a esenodo desde el conjunto inicial N contenido en el nodo raiacutez se considera Ni

m un subconjuntode Nm que contiene patrones asociados a la clase Ci donde

sumi

Nim = Nm (511)

Dado un patroacuten que alcanza el nodo m la probabilidad de que pertenezca a la clase Ci sepuede calcular como

pim =

Nim

Nm(512)

106 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Un nodo se considera puro cuando todos los patrones que llegan a ese nodo pertenecen a unamisma clase lo cual se expresa matemaacuteticamente de la siguiente manera

m = purolArrrArrforalli pim isin 01 (513)

Los nodos puros representan hojas del aacuterbol y se etiquetan con el valor de la clase asignadaa sus patrones Si los dos nodos hijo de una particioacuten son puros dicha particioacuten se considerapura

Aunque lo ideal es realizar particiones puras la mayoriacutea no lo son y las que lo son sesituacutean en la parte inferior del aacuterbol (ramas inferiores) Es necesario establecer un meacutetodopara seleccionar la mejor particioacuten en cada punto del aacuterbol y para ello se debe cuantificar laimpureza de las posibles particiones y seleccionar la que tenga menor valor Existen diferentesmeacutetodos de cuantificar la impureza de una particioacuten siendo el meacutetodo Gini [24] uno de losmaacutes populares y el empleado para desarrollar el clasificador de SENTINAZOS El valor deGini se calcula como

1minussumi(pi

m)2 (514)

En la Figura 523 se muestra un sencillo ejemplo de construccioacuten de un aacuterbol de decisioacutenbinario El conjunto de entrenamiento estaacute formado 20 patrones pertenecientes a 2 tipos dife-rentes de clases diferentes y cada patroacuten contiene medidas para 2 caracteriacutesticas Se observaque no todas las hojas del ejemplo son puras ya que aunque es posible crear un aacuterbol sufi-cientemente grande donde todas sus hojas sean puras lo maacutes probable es que se caiga en elsobreentrenamiento por tanto es necesario utilizar reglas que gestionen el tamantildeo del aacuterbol

01 2 3 4 5 6 7

1

2

3

4

5

6

x

y

yge3

xge37

1010

6410

9 41

a b

Figura 523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario a) Patrones de entrenamiento en base a doscaracteriacutesticas b) Aacuterbol desarrollado a partir de los patrones de entrenamiento

56 Clasificacioacuten 107

Poda

El tamantildeo del aacuterbol generado puede establecerse desde dos estrategias diferentes por unlado se puede definir a priori un umbral que establezca el nuacutemero de patrones miacutenimo quedebe alcanzar un nodo para que se permita crear una nueva particioacuten lo cual implica que elaacuterbol dejaraacute de crecer en el momento en que los patrones sean inferiores a ese umbral Otraestrategia consiste en desarrollar completamente el aacuterbol hasta conseguir que todas sus hojassean puras o hasta que los patrones asociados sean inferiores a un umbral y a continuacioacutenpodarlo

El proceso de poda trata de encontrar las secciones del aacuterbol (subaacuterboles) que no apor-tan ventajas y se asocian al sobreentrenamiento Existen diferentes estrategias de poda y enel caso concreto del clasificador desarrollado la estrategia utilizada fue la de seleccionar lapoda que mejor clasificaba un conjunto de validacioacuten Utilizando un grupo independiente depatrones o conjunto de validacioacuten y de forma incremental desde las hojas hacia el nodo raiacutezse sustituyoacute cada posible subaacuterbol por una hoja etiquetada con la clase asociada a la mayoriacuteade los patrones de entrenamiento que clasificaba ese subaacuterbol Si la eficiencia del nuevo aacuterbolno era peor que la del original la poda se llevaba a cabo pues la mayor complejidad no sejustificaba

La estrategia de poda obtiene mejores resultados que la estrategia basada en detener elcrecimiento del aacuterbol ya que la poda permite que un subaacuterbol de un nodo permanezca mien-tras que su laquohermanoraquo desaparece y esto seriacutea imposible con una estrategia de parada ya queel crecimiento se detendriacutea por ambas ramas Por otro lado la estrategia de poda es maacutes lentay compleja ya que es necesario analizar los diferentes subaacuterboles de los que estaacute compuestoel aacuterbol original y encontrar la mejor poda

Clasificador

Se desarrolloacute un clasificador basado en un aacuterbol de decisioacuten binario para clasificar loscandidatos resultantes de la fase de segmentacioacuten Al igual que para la ANN presentada enla Seccioacuten 561 para el entrenamiento y desarrollo del clasificador se utilizaron 3 conjuntossiguiendo el mismo esquema de la Figura 517 el 70 de los elementos fueron utilizadospara entrenar el aacuterbol un 15 fue utilizado para podarlo (conjunto de evaluacioacuten) y el 15restante fue empleado en el test del clasificador resultante El meacutetodo Gini ha sido el empleadopara cuantificar la impureza de las particiones en el proceso de desarrollo del aacuterbol

108 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

El aacuterbol con hojas puras y generado uacutenicamente a traveacutes del entrenamiento se muestra enla Figura 524 se puede observar que el tamantildeo del aacuterbol es considerable y se le presuponeun sobreentrenamiento A traveacutes de un proceso de poda en el que se calculoacute la eficacia de losdiferentes subaacuterboles sobre el conjunto de validacioacuten se establecioacute que el mejor clasificadorera el subaacuterbol presentado en la Figura 525 Para confirmar su eficacia se utilizoacute el conjuntode test Los resultados del clasificador sobre los candidatos contenidos tanto en el conjunto detest como en el de validacioacuten se presentan en el Capiacutetulo 6

Ratio intensidad lt 204183

Sentinazo Look-alike

PCA3 lt 949121

AI lt 249877

Viento lt 298174

PCA4 lt 237383

Intensidad lt 00748946

PCA1 lt 107964

Intensidad lt 000383156 Ratio intensidad lt 249859

Viento lt 349681

PCA1 lt 532078

PCA1 lt 185418

Sentinazo Look-alike

Sentinazo

Look-alikeSentinazo

PCA5 lt -145036

PCA1 lt 491891 PCA1 lt 713184

SentinazoLook-alikeSentinazo

Ratio intensidad 160946 PCA4 lt 312993

PCA4 lt 318744

PCA1 lt 23493

PCA5 lt -377764

PCA2 lt 219814

Viento lt 563786

SentinazoLook-alike

Look-alike

Sentinazo

Look-alike

Sentinazo Look-alike

Sentinazo Look-alike

Sentinazo

Sentinazo

SentinazoLook-alike

Siacute No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

Siacute

SiacuteSiacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Figura 524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el proceso de entrenamiento

Ratio intensidad lt 204183

Sentinazo

Look-alike

PCA3 lt 949121

Sentinazo

No

NoSiacute

Siacute

Figura 525 Aacuterbol de decisioacuten binario podado

57 Validacioacuten del sistema de deteccioacuten de vertidos 109

57 Validacioacuten del sistema de deteccioacuten de vertidos

571 Desarrollo de un software de escritorio

La necesidad de evaluar los algoritmos presentados en las secciones anteriores condujoal desarrollo de un software de escritorio La implementacioacuten del prototipo se basoacute en soft-ware de coacutedigo libre y abierto con el objetivo de que pudiese ser libremente distribuido y asiacutepromover la colaboracioacuten entre la comunidad cientiacutefica

Visualizacioacuten

Para facilitar el trabajo con los datos SAR se implementoacute un visor especiacutefico que permi-tiese visualizar e interactuar (navegar aumentar y reducir) con las imaacutegenes asiacute como repre-sentarlas sobre un mapa de contexto mundial para mejorar la interpretacioacuten de los resultadosEl visor (veacutease la Figura 526) tambieacuten se disentildeoacute para acceder a los metadatos contenidos enlas cabeceras de las imaacutegenes

Figura 526 Pantalla principal del software de escritorio

110 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Identificacioacuten de sentinazos

El prototipo implementado contiene las diferentes funciones y meacutetodos de deteccioacuten desentinazos presentados en los apartados anteriores Existen dos formas de ejecutarlo por unlado automaacuteticamente a traveacutes de los paraacutemetros filtros y funciones por defecto por otrolado haciendo uso de una personalizacioacuten que permite configurar yo modificar el procesadode la imagen

ndash Filtro de ruido la aplicacioacuten dispone de un filtro de mediana un filtro de Gauss y unfiltro bilateral

ndash Filtro de aacuterea el usuario puede seleccionar el valor maacuteximo del filtro del aacuterea que seaplicaraacute a la imagen

ndash Clasificadores la aplicacioacuten permite emplear los diferentes clasificadores a traveacutes de suconfiguracioacuten por defecto o cargando una nueva base de conocimiento

El resultado de cada accioacuten ejecutada sobre la imagen es mostrado en el visor lo quepermite evaluar sus efectos La Figura 527 muestra un ejemplo del resultado obtenido trasprocesar una imagen SAR empleando los paraacutemetros por defecto maacutescara de tierra (veacutease laSeccioacuten 532) filtro de mediana de 3x3 (veacutease la Seccioacuten 533) segmentacioacuten por umbra-lizacioacuten adaptativa en base a los vientos (veacutease la Seccioacuten 541) filtro de vientos menores a3 ms (veacutease la Seccioacuten 543) filtro de aacutereas inferiores a 03 Km2 (veacutease la Seccioacuten 544) yclasificacioacuten empleando la ANN (veacutease la Seccioacuten 561)

572 Integracioacuten en RETELAB

Una vez finalizado y validado el sistema de deteccioacuten de vertidos de hidrocarburos se pro-cedioacute a su integracioacuten en RETELAB Al contrario que el prototipo de escritorio que permitiacuteair visualizando el efecto de ejecutar diferentes acciones sobre los datos SAR la versioacuten Gridde SENTINAZOS fue pensada para ser ejecutada en modo no interactivo de forma que elusuario debe seleccionar en un primer momento los paraacutemetros de la tarea y a continuacioacutenprocesarla y esperar a los resultados finales

A pesar de la limitacioacuten en cuanto a la interaccioacuten las ventajas que proporciona la compu-tacioacuten Grid al sistema SENTINAZOS son importantes

57 Validacioacuten del sistema de deteccioacuten de vertidos 111

Figura 527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de los paraacutemetros por defectoy un clasificador ANN

ndash Permite compartir los datos (vientos datos SAR etc) entre los diferentes centros par-ticipantes

ndash Los resultados obtenidos pueden ser distribuidos y utilizados para nuevos estudios porel resto de los participantes de la red por ejemplo para realizar predicciones de laevolucioacuten de los vertidos o para ejecutar algoritmos de backtracking con el objetivo dedetectar su fuente

ndash El entorno de RETELAB permite ejecutar diferentes instancias de SENTINAZOS y asiacuteprocesar diferentes aacutereas simultaacuteneamente

ndash La presencia de recursos computacionales de gran potencia puede aportar una mayorvelocidad de procesamiento

El portlet para la deteccioacuten de sentinazos permite seleccionar diferentes acciones a rea-lizar sobre los datos SAR como por ejemplo segmentar clasificar una imagen previamentesegmentada o segmentar y clasificar Para la clasificacioacuten se permite escoger uno de los dosclasificadores implementados (ANN o aacuterboles de decisioacuten) y los paraacutemetros escogidos tantopara los filtros (ruido aacuterea vientos) como para los clasificadores estaacuten prefijados

112 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Al igual que el resto de los portlets eacuteste ha sido integrado con el Data Grid (veacutease laSeccioacuten 33) tanto para poder acceder y utilizar los datos de la DB virtual como para compartirlos resultados generados Ademaacutes el portlet tambieacuten se ha integrado con el monitor de tareaspara realizar un seguimiento del estado de las tareas y acceder a los resultados que generen

La Figura 528 muestra el portlet desarrollado para SENTINAZOS y su integracioacuten en ellaboratorio de RETELAB

Figura 528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en el laboratorio virtual

CAPIacuteTULO 6

RESULTADOS

61 Eficacia

Los clasificadores presentados en las secciones 561 y 562 han sido desarrollados uti-lizando la DB de candidatos presentada en la Figura 517 es decir se han utilizado los mis-mos conjuntos para entrenar validar y probar los clasificadores lo que permitioacute realizar unacomparativa entre ellos en teacuterminos de eficacia (veacutease Tabla 61) Los datos relativos al rendi-miento del aacuterbol de decisioacuten original (sin podar) son meramente ilustrativos ya que reflejancoacutemo el sobreentrenamiento afecta a la clasificacioacuten de otros conjuntos que no sean el deentrenamiento En la praacutectica soacutelo el aacuterbol podado y la red MLP han sido utilizados comoclasificadores

Validacioacuten TestSentinazos Look-alikes Sentinazos Look-alikes

Red MLP 857 852 929 963Aacuterbol decisioacuten original 500 889 357 889Aacuterbol decisioacuten podado 929 852 929 926

Tabla 61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten y test

La eficacia de los clasificadores fue comprobada directamente sobre las imaacutegenes SARal ser eacutestos implementados como parte del prototipo descrito en la seccioacuten 571 La Figu-ra 61 muestra una composicioacuten realizada soacutelo con el objeto de facilitar la visualizacioacuten de2 imaacutegenes SAR (Figura 61a) y su correspondiente segmentacioacuten (Figura 61b) asiacute comolos resultados obtenidos por los clasificadores (Figura 61c y Figura 61d) Enmarcados en

114 Capiacutetulo 6 Resultados

color rojo se identifican varios sentinazos confirmados a traveacutes de misiones de vigilancia deSASEMAR que se detallan en la Figura 62 junto al resultado de clasificarlos mediante la redMLP

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

a b9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

c d

Figura 61 a) Composicioacuten a efectos de visualizacioacuten de 2 imaacutegenes SAR La imagen lsquo1rsquo fue obtenida el28032011 y la imagen lsquo2rsquo el 14102011 b) Composicioacuten formada por la segmentacioacuten de lasimaacutegenes SAR c) Montaje formado por los resultados de aplicar el clasificador basado en el aacuterbol dedecisioacuten a las imaacutegenes segmentadas d) Montaje formado por los resultados de aplicar el clasificadorbasado en la red MLP a las imaacutegenes segmentadas

Se puede observar que los resultados obtenidos a traveacutes del clasificador basado en el aacuterbolde decisioacuten son muy similares a los ofrecidos por el que utiliza la red MLP (sobre todo desdeel punto de vista de la deteccioacuten de sentinazos) si bien la ANN (veacutease la Figura 61d) generauna menor cantidad de falsos positivos

61 Eficacia 115

A

10deg30W10deg40W

43deg40N

0 1 2 305Millas Naacuteuticas

B

9deg50W10degW10deg10W10deg20W10deg30W

43degN

42deg50N

42deg40N

0 4 8 122Millas Naacuteuticas

C

9deg40W9deg50W10degW

42deg10N

42degN

0 2 4 61Millas Naacuteuticas

Figura 62 A la izquierda detalle de los sentinazos confirmados e identificados en la Figura 61 a la derecharesultados obtenidos a traveacutes del clasificador basado en una red MLP

116 Capiacutetulo 6 Resultados

62 Tiempo de procesamiento

El tiempo requerido para el procesamiento de las imaacutegenes en la buacutesqueda de vertidos dehidrocarburos es criacutetico y por ello los algoritmos presentados en las secciones anteriores hansido desarrollados con el objetivo de minimizarlo pero sin sacrificar su eficacia sobre todoen cuanto a la no deteccioacuten de sentinazos (falsos negativos) Ademaacutes de tener un especialcuidado en el disentildeo e implementacioacuten del software el coacutedigo se desarrolloacute pensando enobtener el mejor rendimiento de los microprocesadores multinuacutecleo presentes en la mayoriacuteade las computadoras actuales Para la implementacioacuten se empleoacute el API de OpenMP [36] quepermite adaptar y paralelizar automaacuteticamente la ejecucioacuten del coacutedigo entre los diferentesnuacutecleos de los que disponga el procesador donde se ejecuta la aplicacioacuten y asiacute obtener elmaacuteximo rendimiento

Fueron probadas dos versiones del algoritmo (claacutesica y optimizada) utilizando un nodode computacioacuten Core 2 Duo - 213 Ghz con 3 GB de RAM y despueacutes de 100 iteracionessobre una imagen de 8088 x 6481 piacutexeles la versioacuten optimizada empleoacute una media de 194segundos por ejecucioacuten mejorando un 296 el tiempo de ejecucioacuten del algoritmo claacutesico

CAPIacuteTULO 7

DISCUSIOacuteN

Debido a las condiciones tanto geograacuteficas como climatoloacutegicas de la costa gallega (aacutereade estudio) los vientos de baja intensidad generan la mayor parte de los falsos positivos olook-alikes El algoritmo desarrollado los filtra en su mayor parte en la fase de segmentacioacutenal introducir una umbralizacioacuten basada en la velocidad del viento Una de las consecuenciasde este proceso de segmentacioacuten es que algunos vertidos pueden quedar parcialmente ocultosen la salida si se encuentran situados en aacutereas afectadas por vientos de baja intensidad Modi-ficar el umbral de viento miacutenimo mejora la segmentacioacuten en algunos de los casos pero a costade incrementar notablemente el nuacutemero de falsos positivos Es muy complicado detectar sen-tinazos en aacutereas con vientos de baja intensidad debido a que la superficie del mar no genera elbrillo suficiente en la imagen SAR para que se produzca un contraste entre la superficie afec-tada por el sentinazo y el mar limpio y ademaacutes la intensidad de la sentildeal retrodispersada quellega al sateacutelite se aproxima al ruido de fondo (veacutease la Seccioacuten 521) dificultando discernirlos fenoacutemenos presentes en la superficie

A pesar de que la utilizacioacuten de los datos de viento mejoroacute considerablemente la segmen-tacioacuten eacutesta podriacutea ser maacutes precisa si se utilizasen medidas reales o provenientes de modelosde vientos maacutes precisos que el CMOD5 que trabaja directamente con los datos SAR El mo-delo CMOD5 es bastante exacto cuando se trata de velocidades de viento inferiores a 15 msy empeora con vientos de mayor intensidad [62] El error producido por el modelo aunquesea pequentildeo podriacutea ser clave para que una zona sea identificada como look-alike sobre todosi no alcanza el umbral miacutenimo de viento

118 Capiacutetulo 7 Discusioacuten

Otro de los inconvenientes que se presentan al emplear un modelo basado en los pro-pios datos SAR es la dificultad para calcular los datos de viento en las aacutereas proacuteximas a lacosta CMOD5 soacutelo calcula la velocidad del viento en la superficie oceaacutenica y necesita unalaquoventanaraquo de datos alrededor del aacuterea de estudio por lo que la presencia de la costa puededistorsionar los resultados La propia costa tambieacuten genera muchos falsos positivos al pro-teger del viento a la superficie marina generando aacutereas de baja intensidad Para evitar estosinconvenientes se ha usado una maacutescara de tierra extendida (veacutease la Seccioacuten 532) pero losresultados siguen mostrando una mayor cantidad de look-alikes en las aacutereas maacutes cercanas ala costa Aumentar la maacutescara para reducir el efecto de la costa obtendriacutea mejores resultadosdesde el punto de vista de los look-alikes pero a costa de ocultar posibles sentinazos que sehayan desplazado y que puedan ser potencialmente peligrosos para el medioambiente

La comparativa entre los diferentes sistemas de deteccioacuten de sentinazos presentes en laliteratura es especialmente complicada debido a que cada uno utiliza su propia DB para entre-nar y para validar se basa en diferentes tipos y resoluciones de imaacutegenes SAR usa diferentesvectores de caracteriacutesticas etc Ademaacutes es habitual que las DB contengan imaacutegenes con ver-tidos que solamente han sido identificados por expertos y directamente sobre la propia imagenpero sin confirmacioacuten in situ Los porcentajes de eficacia de los diferentes sistemas deben sertomados a modo de referencia pero de ellos no puede extrapolarse ninguna conclusioacuten defi-nitiva Algunos de los sistemas de deteccioacuten de hidrocarburos presentes en la literatura asiacutecomo sus porcentajes de eficacia son mostrados en la Tabla 7

Ref DB Clasificador Eficacia[37] 71 Sentinazos 68 Look-alikes Red MLP (validacioacuten

cruzada)82 Look-alikes 90 Sentinazos

[108] 34 Sentinazos 45 Look-alikes Red MLP 91 Look-alikes 87 Sentinazos[103] 71 Sentinazos 6980 Look-alikes Modelo estadiacutestico +

Sist basado en reglas99 Look-alikes 94 Sentinazos

[104] 37 Sentinazos 12110 Look-alikes Modelo estadiacutestico +Sist basado en reglas

994 Look-alikes 784 Sentinazos

[26] 41 Sentinazos 12245 Look-alikes Modelo estadiacutestico +Sist basado en reglas+ Estimador de con-fianza

897 Look-alikes 9207 Sentinazos(sin aplicar el estimador de confianza)

[41] 11 Sentinazos 6 Look-alikes 4Desconocidos

Distancia de Mahala-nobis

100 Look-alikes 82 Sentinazos 0Desconocidos

Clasificador probabi-liacutestico

67 Look-alikes 909 Sentinazos 50Desconocidos

[54] 1915 piacutexeles (552 Sentinazos 557Bajo viento 806 Superficie limpia)

Red MLP 9825 Look-alikes 9702 Sentinazos

Tabla 71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia en la clasificacioacuten

119

Los resultados de los clasificadores implementados (veacutease Tabla 61) son muy promete-dores a la vista de los porcentajes de eficacia obtenidos por los clasificadores presentes enla literatura No obstante es sorprendente que un clasificador tan sencillo como el aacuterbol dedecisioacuten binario obtenga unos resultados comparables a la mayoriacutea de clasificadores siendoeacutestos en general mucho maacutes complejos Esto puede ser debido a varios factores por un ladola mayoriacutea de los look-alikes son filtrados gracias al empleo de datos meteoroloacutegicos en lafase de segmentacioacuten por otro lado la mayoriacutea de los candidatos segmentados pueden serclasificados basaacutendose soacutelo en una de las variables del vector (ratio entre la intensidad de lospiacutexeles de la mancha respecto al aacuterea circundante) mientras que el uso de las otras varia-bles del vector permitiraacute discernir los casos maacutes problemaacuteticos siendo esto lo que marca ladiferencia entre la red neuronal implementada y el aacuterbol

La mayoriacutea de los sistemas dan sus porcentajes de eficacia en funcioacuten de la clasificacioacutende los candidatos pero en otros casos como Oacutescar Garcia-Pineda et aacutel [54] se presentala eficacia en funcioacuten de la correcta clasificacioacuten a nivel de piacutexel En general se espera unaeficacia mayor a nivel de piacutexel dado que las DB suelen estar formadas por un mayor nuacutemero derepresentantes y los errores si son pocos quedan maacutes diluidos en los porcentajes Ademaacutessi se analizan imaacutegenes completas la cantidad de piacutexeles que representan hidrocarburos esclaramente inferior a la que representa superficie limpia por lo que se espera un porcentajede eficacia media muy alto de piacutexeles correctamente etiquetados

El tiempo de procesamiento es criacutetico en un sistema que debe dar respuesta en tiempocuasi real pero la mayoriacutea de los sistemas de deteccioacuten de hidrocarburos presentes en la lite-ratura lo relegan a un segundo plano en pos de la eficacia Sin embargo una raacutepida deteccioacutenpuede marcar la diferencia a la hora de ser efectivos gestionando un vertido o incluso en labuacutesqueda de los responsables Teniendo en cuenta que en la praacutectica la mayoriacutea de los siste-mas funcionan de forma semiautomaacutetica es decir que un operador suele revisar los resultadosantes de enviar los medios de vigilancia se hace maacutes plausible que el sistema se desarrollecon el objetivo de detectar sentinazos en el intervalo de tiempo maacutes breve posible incluso sipara ello se sacrifica eficacia en la eliminacioacuten de los falsos positivos o look-alikes El sistemapresentado con una media de 194 s de tiempo de procesamiento representa una importantemejora respecto a otros sistemas como el TCNNA (65 min) el cual se aplica a imaacutegenescompletas Solberg et aacutel [104] (145 min) que utiliza factores de escape en su algoritmo parano procesar completamente la imagen es decir no utiliza todos los datos con el consecuenteriesgo de no conseguir los mejores resultados o Topouzelis et aacutel [108] (2-5 min) que utiliza

120 Capiacutetulo 7 Discusioacuten

subsecciones de la imagen de entre 4 y 16 MB previamente seleccionadas por un operadorEn otros casos se opta por reducir la resolucioacuten radiomeacutetrica y trabajar soacutelo con 256 nivelesde grises [90] [54] lo que conlleva un incremento en la velocidad de procesamiento de lasimaacutegenes pero a costa de perder informacioacuten

Es importante tener en cuenta que los datos presentados en cuanto al tiempo de procesa-miento estaacuten iacutentimamente relacionados con las caracteriacutesticas de la computadora utilizada esdecir que podriacutean ser faacutecilmente mejorados disponiendo de un hardware con mayor poten-cia y aunque esto pueda parecer obvio para cualquier software en el caso presentado cobramayor relevancia puesto que fue desarrollado para adaptarse automaacuteticamente y utilizar losdiferentes nuacutecleos disponibles

Epiacutelogo

CAPIacuteTULO 8

RESULTADOS Y CONCLUSIONES

En este trabajo se ha planteado el desarrollo despliegue y validacioacuten de un laboratorio vir-tual oceanograacutefico Partiendo de unos requisitos iniciales ambiciosos en los que se abordarondiferentes liacuteneas de investigacioacuten se desarrolloacute un entorno de trabajo basado en computacioacutenGrid enfocado a la ejecucioacuten de aplicaciones de oceanografiacutea Para validar el entorno se desa-rrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos en la superficieoceaacutenica a traveacutes de datos de sateacutelite

Las principales aportaciones del presente trabajo han sido

ndash Desarrollo de un laboratorio virtual de altas prestaciones se ha presentado un en-torno de trabajo unificado y versaacutetil que permite a los investigadores realizar una granparte de su trabajo sin necesidad de otras herramientas Como si de un laboratorio realse tratase el entorno permite

bull Administrar el acceso de los usuarios

bull Gestionar analizar y visualizar datos

bull Procesar datos utilizando recursos computacionales de altas prestaciones

bull Distribuir y compartir los resultados de los proyectos con la comunidad

ndash Desarrollo de una interfaz amigable tanto la arquitectura del sistema como su inter-faz han sido disentildeadas para abstraer a los usuarios finales de la tecnologiacutea subyacenteInternet es un entorno coacutemodo y familiar para la mayor parte de los usuarios y porello se escogioacute un portal Web como medio de acceso al sistema Grid El portal fue

124 Capiacutetulo 8 Resultados y conclusiones

implementado empleando GridSphere que proporciona un entorno de desarrollo deportales Web basado en portlets El uso de portlets permite desplegar aplicaciones inde-pendientes del middleware Grid utilizado en el sistema asiacute como reutilizarlas en otrosportales La solucioacuten tecnoloacutegica desarrollada permite al usuario centrar sus esfuerzosen el desarrollo de sus trabajos y no en el aprendizaje de las herramientas

ndash Sistema de autenticacioacuten y autorizacioacuten simplificado buscando una solucioacuten bienequilibrada entre seguridad y facilidad de uso se disentildeoacute y desarrolloacute un sistema deautenticacioacuten y autorizacioacuten integrando y mejorando diferentes tecnologiacuteas El sistemade registros de usuarios PURSe fue desplegado para abstraer a los usuarios del usode los DCs Tanto PURSe como GridSphere fueron modificados para gestionar rolesde usuarios a traveacutes de ACs y asiacute poder emplearlos como medio de autorizacioacuten enel Grid El uso de un sistema de autorizacioacuten del tipo RBAC en un Grid simplifica laadministracioacuten de los recursos y por esta razoacuten en RETELAB se integroacute el softwarePERMIS que permite gestionar poliacuteticas de seguridad basadas en roles

ndash Despliegue de un sistema de autenticacioacuten SSO los usuarios que pertenezcan a cen-tros incluidos en la red de confianza de RETELAB pueden acceder al portal sin nece-sidad de registrarse a traveacutes del sistema de autenticacioacuten de sus centros Para realizareste proceso se integroacute Shibboleth y se desarrollaron procedimientos que generan deforma temporal DCs y ACs para los usuarios externos Los datos necesarios para losdiferentes certificados son proporcionados por las organizaciones en el proceso de au-tenticacioacuten

ndash Despliegue de un sistema de almacenamiento distribuido basado en metadatosse ha disentildeado y desplegado un sistema de almacenamiento distribuido que permitea la comunidad de RETELAB compartir los datos de sus investigaciones Esta DBvirtual que soporta formatos estaacutendar en oceanografiacutea estaacute dirigida por metadatos parafacilitar el etiquetado y descripcioacuten de los datos almacenados y asiacute mejorar los sistemasde buacutesquedas Para unificar el uso de los metadatos se ha seleccionado el estaacutendar paradescribir informacioacuten geograacutefica ISO 19115

ndash Despliegue de un metaplanificador y un monitor de trabajos se ha disentildeado una in-terfaz de ejecucioacuten y monitorizacioacuten de trabajos que permite a los usuarios configurarejecutar y monitorizar sus trabajos sin que sea necesario que conozcan la infraestruc-tura hardware Para ello se ha desplegado una versioacuten mejorada del metaplanificador

125

GridWay que se encarga de gestionar en nombre del usuario la ejecucioacuten de las tareasEl monitor permite visualizar el estado de las tareas y acceder a los resultados una vezque hayan finalizado Tanto la versioacuten del GridWay utilizada como la interfaz de ejecu-cioacuten y monitorizacioacuten de los trabajos ha sido realizada por el CESGA en el marco delproyecto RETELAB

ndash Validacioacuten y distribucioacuten de los resultados utilizando la interfaz de monitorizacioacutenel usuario puede acceder a los resultados de las tareas ejecutadas Desde la interfazde resultados el usuario puede descargar los ficheros generados o compartirlos con lacomunidad publicaacutendolos previa descripcioacuten a traveacutes de metadatos en la DB virtuallo que realimenta el sistema El entorno cuenta con una herramienta avanzada para lavisualizacioacuten y validacioacuten de los datos llamada IDV (desarrollada por Unidata) Estesoftware se descarga e instala en el puesto de trabajo del usuario de forma temporal ytransparente y se ejecuta con los datos seleccionados por el usuario

ndash Desarrollo de un sistema de deteccioacuten de vertidos de hidrocarburos el laboratoriovirtual se ha validado a traveacutes del despliegue de varias aplicaciones y entre ellas porsu entidad alcance y necesidad de investigacioacuten adicional del estado del arte destacaSENTINAZOS Eacuteste es un sistema de deteccioacuten de vertidos de hidrocarburos en lasuperficie oceaacutenica que fue desarrollado con el doble propoacutesito de validar el sistema yde encontrar una solucioacuten para un problema diario de nuestras costas Las principalesaportaciones de este sistema son

bull Desarrollo de un procedimiento de segmentacioacuten adaptativo basado en la ve-locidad del viento partiendo de una DB de imaacutegenes SAR enriquecida tanto condatos de viento como con informacioacuten de vertidos de hidrocarburos se implemen-toacute un segmentador basado en una umbralizacioacuten adaptativa El establecimiento deeste umbral tiene como base el estudio de centenares de datos muestreados en losque se analizoacute la velocidad del viento el IA del sateacutelite respecto al punto mues-treado y su valor de intensidad Tras el estudio de la muestra se constatoacute que siel IA era similar las muestras asociadas a hidrocarburos teniacutean valores de intensi-dad menores a las que representaban superficie limpia pero ademaacutes se comproboacuteque estos valores teniacutean una relacioacuten directa con el viento que afectaba a la zonaEmpleando estos datos se establecioacute una funcioacuten definida por partes que repre-sentaba el umbral de intensidad del hidrocarburo seguacuten el IA y la velocidad del

126 Capiacutetulo 8 Resultados y conclusiones

viento Este procedimiento de segmentacioacuten obtiene un menor nuacutemero de falsospositivos que otras alternativas lo que permite facilitar el trabajo del clasificadory obtener mejores resultados

bull Caracterizacioacuten de los candidatos a traveacutes de la forma diferentes estudios hanconstatado que los sentinazos adquieren formas que siguen patrones singularesdebido a su origen y a su antiguumledad Partiendo de la hipoacutetesis de que la formaes un elemento diferenciador se desarrolloacute un procedimiento para caracterizar loscandidatos que generaba un vector dominado por las caracteriacutesticas relacionadascon la forma La dimensionalidad de dicho vector fue reducida a traveacutes de unPCA siendo el resultado utilizado como entrada para el clasificador

bull Sistema semiautomaacutetico de deteccioacuten de vertidos se desarrollaron y analizarondos clasificadores para separar los falsos positivos de los sentinazos Tanto la ANNcomo el aacuterbol de decisioacuten obtuvieron resultados muy prometedores El uso de unsegmentador optimizado permite emplear clasificadores maacutes sencillos por lo quese reduce el tiempo de procesamiento sin sacrificar la tasa de aciertos

bull Disminucioacuten del tiempo de procesamiento empleando un paradigma de pro-gramacioacuten paralela con memoria compartida se ha implementado un sistema quepermite procesar completamente un producto SAR en un tiempo considerable-mente inferior al usado por aplicaciones similares encontradas en la literatura Es-ta mejora en el tiempo de procesamiento permite emplear el sistema de deteccioacutencomo una herramienta de ayuda a la toma de decisiones en tiempo casi real

CAPIacuteTULO 9

TRABAJO FUTURO

91 Trabajo futuro en el proyecto RETELAB

El futuro del laboratorio virtual puede verse desde dos puntos de vista por un lado la evo-lucioacuten del propio entorno que se centraraacute en el anaacutelisis de los posibles puntos de confluenciaentre la computacioacuten Grid y la Cloud Por otro el del desarrollo y mejora de las aplicacionesdesplegadas en particular la mejora de los algoritmos para la deteccioacuten de vertidos asiacute comola adaptacioacuten de eacutestos para trabajar con datos provenientes de fuentes diferentes al Envisatcomo por ejemplo el futuro sateacutelite Sentinel-1

911 Computacioacuten Cloud

La computacioacuten Cloud es un nuevo paradigma de computacioacuten distribuida que ha surgidocon fuerza estos uacuteltimos antildeos Al igual que ocurrioacute con la computacioacuten Grid su definicioacutenha sido objeto de debate tanto en el mundo empresarial como entre la comunidad cientiacuteficaLa literatura presenta multitud de definiciones pero en general se observa que las que provie-nen del mundo empresarial se centran en la perspectiva del usuario final y su experiencia deuso mientras que desde la comunidad cientiacutefica se incluyen tambieacuten aspectos relativos a suarquitectura Foster et aacutel [48] definen la computacioacuten Cloud como

laquoUn paradigma de computacioacuten distribuida de gran envergadura dirigido por economiacuteas

de escala en el que un conjunto administrado de recursos (procesamiento almacenamiento

entornos y aplicaciones) abstractos virtualizados y dinaacutemicamente escalables se proporcio-

nan bajo demanda a clientes viacutea Internetraquo

128 Capiacutetulo 9 Trabajo futuro

La computacioacuten Cloud es un paradigma de computacioacuten distribuida altamente especiali-zado que presenta las siguientes diferencias respecto a anteriores paradigmas [48]

ndash Es altamente escalable

ndash Puede ser encapsulado como una entidad abstracta y proporcionar diferentes niveles deservicios a los clientes finales

ndash Estaacute dirigido por economiacuteas de escala

ndash Los servicios son proporcionados bajo demanda y pueden ser configurados dinaacutemica-mente a traveacutes de la virtualizacioacuten

Su arquitectura puede dividirse en capas [48] y eacutestas mantienen una estrecha relacioacuten conlos servicios proporcionados (veacutease la Figura 91)

ndash Capa de infraestructura contiene los recursos hardware maacutes baacutesicos como son los recur-sos computacionales los de almacenamiento o los relacionados con la infraestructurade red

ndash Capa de recursos unificados empleando los recursos baacutesicos se encapsulan a traveacutesde la virtualizacioacuten nuevos recursos maacutes complejos que pueden ser proporcionados alas capas superiores o directamente a los usuarios finales

ndash Capa de plataforma proporciona a los recursos unificados herramientas especializadasmiddleware y servicios Su finalidad es preparar un entorno de desarrollo o de desplie-gue que pueda ser utilizado por la capa de aplicaciones o proporcionado como servicioa los usuarios

ndash Capa de aplicaciones contiene aplicaciones que son ejecutadas en el Cloud y expuestascomo servicios para ser utilizadas por los usuarios finales

Los Clouds en general proporcionan bajo demanda hasta tres tipos de servicios a los queel usuario puede acceder a traveacutes de un navegador Web o de un API bien definida [105]

ndash Infraestructura como Servicio (IaaS) proporciona recursos computacionales (procesa-miento y almacenamiento) virtualizados Esto permite que los usuarios puedan obtenerrecursos con unas determinadas caracteriacutesticas (nuacutemero de procesadores memoria es-pacio en disco etc) para cubrir unas necesidades concretas

91 Trabajo futuro en el proyecto RETELAB 129

ndash Plataforma como Servicio (PaaS) los servicios de plataforma estaacuten pensados para pro-porcionar a los usuarios entornos especiacuteficos bien sea para desarrollar software o biensea para desplegarlo permitiendo que los usuarios se abstraigan del hardware yo con-figuraciones

ndash Sofware como Servicio (SaaS) proporciona software especiacutefico para que sea accesibleremotamente por los clientes a traveacutes de Internet

Figura 91 Arquitectura del Cloud relacionada con los servicios que proporciona Figura adaptada de [105]

912 Integracioacuten de la computacioacuten Cloud en RETELAB

La integracioacuten de la computacioacuten Cloud en el proyecto RETELAB podriacutea proporcionaruna mayor flexibilidad al laboratorio Existen varias liacuteneas de futuro interesantes para desa-rrollar

ndash Agregacioacuten de recursos bajo demanda los recursos proporcionados por RETELAB es-taacuten limitados tanto en su nuacutemero como en sus caracteriacutesticas Si la demanda de recursospor parte de los usuarios excede la capacidad del laboratorio ya sea porque la cantidadde trabajos ejecutados es mayor de la que puede absorber porque los trabajos requie-ren recursos con caracteriacutesticas superiores (nuacutemero de procesadores memoria etc) oporque necesitan de un determinado entorno de ejecucioacuten que no estaacute disponible elCloud podriacutea proporcionar una solucioacuten raacutepida y puntual Aprovechando que el Cloud

130 Capiacutetulo 9 Trabajo futuro

proporciona IaaS podriacutean agregarse bajo demanda los recursos necesarios y graciasal PaaS seriacutea posible obtener recursos con una determinada configuracioacuten La tarea deinstanciar los recursos recaeriacutea sobre el metaplanificador GridWay del que existe unplugin (Broker GW-SLA) que permite negociar con entidades externas para incorporarrecursos al Grid y que ya fue utilizado con eacutexito en proyectos previos [55]

ndash Modificacioacuten dinaacutemica de los recursos el uso de la computacioacuten Cloud tambieacuten seriacuteauacutetil para gestionar los propios recursos de RETELAB ya que podriacutea optimizar su usoCuando se ejecuta un trabajo en el laboratorio el metaplanificador necesita conocer susnecesidades para poder gestionar su ejecucioacuten Puede darse el caso de que un trabajosea asignado a un recurso libre y lo infrautilice ya que no necesita de todo su potencial(procesadores memoria etc) Mientras tanto puede llegar a la cola un trabajo queaunque realmente necesite mejores condiciones para que su ejecucioacuten sea oacuteptima po-driacutea aprovechar la parte ociosa del recurso a la espera de mejores recursos Desplegandoun Cloud sobre los recursos disponibles podriacutean virtualizarse y optimizarse generandorecursos laquoa medidaraquo Asociando a cada cada tarea informacioacuten sobre cuaacuteles seriacutean losrequisitos miacutenimos y cuaacuteles los deseados para su ejecucioacuten se podriacutea virtualizar y asig-nar un recurso en el momento en que estuviesen disponibles los recursos miacutenimos Amedida que los recursos base fuesen quedando ociosos se aprovechariacutea la escalabilidaddinaacutemica del Cloud para mejorar el recurso virtual asignado a la tarea hasta alcanzar losrequisitos deseados El metaplanificador seriacutea el encargado de gestionar este procesopor lo que seriacutea necesario extender el JSDL para soportar dicha informacioacuten

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS

921 Fuentes de datos

Los algoritmos desarrollados para localizar vertidos de hidrocarburos estaacuten basados endatos obtenidos por el sateacutelite Envisat a traveacutes del modo de operacioacuten WSM A pesar de quela base de los algoritmos es vaacutelida para otras fuentes de datos es cierto que eacutestos deberiacutean seradaptados para ajustarse a sus particularidades como por ejemplo a las diferentes resolucio-nes espaciales La adaptacioacuten de los algoritmos para trabajar con diferentes fuentes siemprefue considerado como un trabajo futuro que actualmente y debido a la peacuterdida de contactocon el sateacutelite Envisat ha cobrado mayor relevancia A corto plazo los algoritmos deberiacuteanser adaptados para analizar datos provenientes del Radarsat mientras que a medio plazo seriacutea

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 131

interesante adaptarlos para trabajar con los datos que provengan del Sentinel-1 sateacutelite cuyolanzamiento estaacute previsto para el antildeo 2013

922 Mejora de los algoritmos

Existen varias liacuteneas de trabajo que podriacutean conducir a una mejora de los algoritmos ac-tuales para la deteccioacuten de vertidos

ndash Informacioacuten contextual dado que los sentinazos son generados habitualmente por bu-ques que transitan por el ESTF o por sus cercaniacuteas seriacutea interesante antildeadir informacioacutencontextual respecto a su entorno como por ejemplo la proximidad a una posible fuentedel vertido o su localizacioacuten respecto al ESTF Esta informacioacuten podriacutea ser obtenidaempleando los propios datos SAR ya que es posible utilizarlos para detectar embarca-ciones [89] y al estar georreferenciados tambieacuten es posible posicionar los sentinazosrespecto al ESTF

ndash Incorporacioacuten de datos provenientes de los Sistemas Automaacuteticos de Identificacioacuten(AISs) de buques la Organizacioacuten Internacional Mariacutetima (IMO) requiere que la ma-yor parte de las embarcaciones posean un sistema AIS para identificarlos y localizarlosEstos sistemas enviacutean sus datos a estaciones receptoras que almacenan y procesan lainformacioacuten SASEMAR ha implantado cobertura para AIS a lo largo de toda la cos-ta espantildeola por lo que la informacioacuten recogida podriacutea ser utilizada en el sistema dedeteccioacuten para acotar los posibles causantes del vertido

ndash Incorporacioacuten de nuevos datos de viento unos pocos informes de las misiones aeacutereasa las que tuvo acceso SASEMAR conteniacutean medidas de la velocidad del viento de laszonas en las que fueron detectados vertidos Estas medidas no se ajustaban correcta-mente a las obtenidas por el modelo CMOD5 y aunque la comparacioacuten es complicadadebido a que las misiones aeacutereas eran enviadas despueacutes de obtener y procesar la imagenSAR (no correspondiacutean al mismo momento) se considera que una posible liacutenea futuraes incorporar datos reales o de otros modelos que puedan ser maacutes precisos y asiacute podercomparar los resultados con los obtenidos actualmente

ndash Anaacutelisis de nuevos clasificadores a pesar de que los resultados obtenidos con las ANNsy con los aacuterboles de decisioacuten son satisfactorios seriacutea deseable analizar otros clasifica-dores con el objetivo de alcanzar un mejor porcentaje de aciertos De entre las diferentes

132 Capiacutetulo 9 Trabajo futuro

posibilidades las Maacutequinas de Soporte Vectorial (SVM) resultan especialmente intere-santes ya que en problemas tanto de clasificacioacuten como de regresioacuten tratan de definirun hiperplano en un espacio n-dimensional que separe las posibles clases de una formaestricta desde el punto de vista matemaacutetico Otras opciones posibles seriacutean las redesfuncionales o los clasificadores basados en loacutegica borrosa

Bibliografiacutea

[1] European Space Agency (ESA) httpsearthesain

[2] PURSE Portal-based User Registration Service httpwwwGrids-centerorgsolutionspurse (Retrieved October 2012)

[3] Sakai project Web Page httpwwwsakaiprojectorg (Retrieved October 2012)

[4] The Apache Velocity Project httpvelocityapacheorg (Retrieved October 2012)

[5] Tupelo Web Page httptupeloprojectncsauiucedu (Retrieved October 2012)

[6] Xen Web page httpwwwxenorg (Retrieved October 2012)

[7] ISO 191152003 Geographic information - Metadata Technical report InternationalOrganization for Standardization 2003

[8] The Grid 2 Second Edition Blueprint for a New Computing Infrastructure MorganKaufmann 2 edition December 2003

[9] Ahmar Abbas Grid computing a practical guide to technology and applications Char-les River Media 2004

[10] A Abdelnur and S Hepper JSR 168 Portlet Specification Tech-nical report Sun Microsystems October 2003 Also available onlinehttpwwwjcporgenjsrdetailid=168 (Retrieved Sept 2012)

[11] International Energy Agency Medium-Term Oil and Gas

Markets IEA Publications 2011 Also available onlinehttpwwwieaorgpublicationsfreepublicationspublicationMTOGM2011_Unsecuredpdf(Retrieved Sept 2012)

134 Bibliografiacutea

[12] Jay Alameda Marcus Christie Geoffrey Fox Joe Futrelle Dennis Gannon MihaelHategan Gopi Kandaswamy Gregor von Laszewski Mehmet A Nacar Marlon Pier-ce Eric Roberts Charles Severance and Mary Thomas The Open Grid ComputingEnvironments collaboration portlets and services for science gateways Concurrency

Computat Pract Exper 19(6)921ndash942 2007

[13] William Allcock John Bresnahan Rajkumar Kettimuthu Michael Link Catalin Dumi-trescu Ioan Raicu and Ian Foster The Globus Striped GridFTP Framework and ServerIn Proceedings of the 2005 ACMIEEE conference on Supercomputing volume 0 of SC

rsquo05 Washington DC USA 2005 IEEE Computer Society

[14] Ethem Alpaydin Introduction to Machine Learning (Adaptive Computation and Ma-chine Learning series) chapter 9 pages 185ndash208 The MIT Press second editionDecember 2009

[15] A Andronico R Barbera A Falzone G Lo Re A Pulvirenti and A Rodolico GE-NIUS a web portal for the grid Nuclear Instruments and Methods in Physics Research

Section A Accelerators Spectrometers Detectors and Associated Equipment 502(2-3)433ndash436 April 2003

[16] A Anjomshoaa F Brisard M Drescher D Fellows A Ly S McGough D Pul-sipher and A Savva ob submission description language (jsdl) specification ver-sion 10 Technical report Open Grid Forum November 2005 Also available onlinehttpwwwogforgdocumentsGFD56pdf (Retrieved October 2012)

[17] Mario Antonioletti Malcolm Atkinson Rob Baxter Andrew Borley Neil PChue Hong Brian Collins Neil Hardman Alastair C Hume Alan Knox Mike Jack-son Amy Krause Simon Laws James Magowan Norman W Paton Dave PearsonTom Sugden Paul Watson and Martin Westhead The design and implementation ofGrid database services in OGSA-DAI Concurrency Computat Pract Exper 17(2-4)357ndash376 2005

[18] C F Balseiro P Carracedo B Goacutemez P C Leitatildeo P Montero L Naranjo E Pena-bad and V Peacuterez-Muntildeuzuri Tracking the Prestige oil spill An operational experiencein simulation at MeteoGalicia Weather 58(12)452ndash458 2003

[19] R Barbera A Falzone and A Rodolico The genius grid portal In Computing in

High Energy and Nuclear Physics volume 24 page 28 2003

Bibliografiacutea 135

[20] M J Behrenfeld and P G Falkowski A consumerrsquos guide to phytoplankton primaryproductivity models Limnology and Oceanography 1997

[21] G Benelli and A Garzelli Oil-spills detection in SAR images by fractal dimensionestimation In Geoscience and Remote Sensing Symposium 1999 IGARSS amp03999

Proceedings IEEE 1999 International volume 1 pages 218ndash220 vol1 IEEE 1999

[22] Fran Berman Geoffrey Fox and Tony Hey The Grid Past Present Future In Grid

Computing pages 9ndash50 John Wiley amp Sons Ltd 2003

[23] D Bernholdt S Bharathi D Brown K Chanchio M Chen A Chervenak L Cinqui-ni B Drach I Foster P Fox and Others The earth system grid Supporting the nextgeneration of climate modeling research Proceedings of the IEEE 93(3) 2005

[24] Leo Breiman J H Friedman R A Olshen and C J Stone Classification and Re-

gression Trees Wadsworth 1984

[25] Camilla Brekke and Anne H S Solberg Oil spill detection by satellite remote sensingRemote Sensing of Environment 95(1)1ndash13 March 2005

[26] Camilla Brekke and Anne H S Solberg Classifiers and Confidence Estimation for OilSpill Detection in ENVISAT ASAR Images IEEE Geoscience and Remote Sensing

Letters 5(1)65ndash69 January 2008

[27] D Chadwick A Otenko and E Ball Role-based access control with X509 attributecertificates Internet Computing IEEE 7(2)62ndash69 March 2003

[28] David W Chadwick and Alexander Otenko The PERMIS X509 role based privile-ge management infrastructure Future Generation Computer Systems 19(2)277ndash289February 2003

[29] C F Chen K S Chen L Y Chang and A J Chen The use of satellite imagery formonitoring coastal environment in Taiwan In Geoscience and Remote Sensing 1997

IGARSS rsquo97 Remote Sensing - A Scientific Vision for Sustainable Development 1997

IEEE International volume 3 pages 1424ndash1426 vol3 IEEE August 1997

[30] R Chinnici J J Moreau A Ryman and S Weerawarana Web Services DescriptionLanguage (WSDL) Version 20 Part 1 Core Language Technical report W3C June2007

136 Bibliografiacutea

[31] E Chuvieco Radar In Teledeteccioacuten ambiental chapter 3 pages 108ndash116 ArielPublications 1 edition May 2002

[32] P Cornillon J Gallagher and T Sgouros OPeNDAP Accessing data in a distributedheterogeneous environment Data Science Journal 2164ndash174 2003

[33] Carmen Cotelo Andreacutes Goacutemez J Ignacio Loacutepez David Mera Joseacute M Cotos J Peacute-rez Marrero and Constantino Vaacutezquez Retelab A geospatial grid web laboratoryfor the oceanographic research community Future Generation Computer Systems26(8)1157ndash1164 October 2010

[34] Joseacute M Cotos and Alejandro Tobar Teledeteccioacuten de la marea negra del petroleroPrestige In Teledeteccioacuten de pesqueriacuteas y prediccioacuten de mareas toacutexicas chapter 9pages 177ndash182 Netbiblo first edition 2002

[35] L da Fontoura Costa and R M Cesar Shape analysis and classification theory and

practice CRC 2001

[36] L Dagum and R Menon OpenMP an industry standard API for shared-memoryprogramming IEEE Computational Science and Engineering 5(1)46ndash55 January1998

[37] F Del Frate A Petrocchi J Lichtenegger and G Calabresi Neural networks for oilspill detection using ERS-SAR data IEEE Transactions on Geoscience and Remote

Sensing 38(5)2282ndash2287 September 2000

[38] Dietmar Erwin and David Snelling UNICORE A Grid Computing Environment InRizos Sakellariou John Gurd Len Freeman and John Keane editors Euro-Par 2001

Parallel Processing volume 2150 of Lecture Notes in Computer Science pages 825ndash834 Springer Berlin Heidelberg 2001

[39] Esa Oil pollution monitoring in ERS and its applications Marine Technical report1998

[40] H A Espedal Satellite SAR oil spill detection using wind history information Inter-

national Journal of Remote Sensing 20(1)49ndash65 January 1999

Bibliografiacutea 137

[41] B Fiscella A Giancaspro F Nirchio P Pavese and P Trivero Oil spill detectionusing marine SAR images International Journal of Remote Sensing 21(18)3561ndash3566 2000

[42] FAO Fisheries and Aquaculture Dept The state of world fisheries and aquaculture

2012 Food and Agriculture Organization of the United Nations 2012

[43] J Fortuny-Guasch Improved Oil Slick Detection and Classification with PolarimetricSAR In Applications of SAR Polarimetry and Polarimetric Interferometry volume 529of ESA Special Publication April 2003

[44] I Foster J Geisler B Nickless W Smith and S Tuecke Software infrastructure forthe I-WAY high-performance distributed computing experiment In High Performance

Distributed Computing 1996 Proceedings of 5th IEEE International Symposium onIEEE 1996

[45] I Foster and C Kesselman Globus A metacomputing infrastructure toolkit Interna-

tional Journal of High Performance Computing Applications 11(2) 1997

[46] I Foster and C Kesselman Computational Grids In The grid blueprint for a new

computing infrastructure chapter 2 pages 15ndash53 Morgan Kaufmann 1998

[47] I Foster and C Kesselman The Globus project A status report Future Generation

Computer Systems 15(5) 1999

[48] I Foster Y Zhao I Raicu and S Lu Cloud computing and grid computing 360-degree compared In Grid Computing Environments Workshop 2008 GCErsquo08 Ieee2008

[49] Ian Foster What is the Grid - a three point checklist GRIDtoday 1(6) July 2002

[50] Ian Foster and Carl Kesselman Concepts and Architecture In The Grid 2 Second Edi-

tion Blueprint for a New Computing Infrastructure chapter 4 pages 37ndash63 MorganKaufmann 2 edition December 2003

[51] Ian Foster Carl Kesselman Jeffrey M Nick and Steven Tuecke The physiology of thegrid In Grid Computing Making The Global Infrastructure a Reality pages 217ndash249John Wiley amp Sons Ltd 2003

138 Bibliografiacutea

[52] Ian Foster Carl Kesselman and Steven Tuecke The Anatomy of the Grid EnablingScalable Virtual Organizations Int J High Perform Comput Appl 15(3)200ndash222August 2001

[53] Ian Foster Veronika Nefedova Mehran Ahsant Rachana Ananthakrishnan Lee Li-ming Ravi Madduri Olle Mulmo Laura Pearlman and Frank Siebenlist Streamli-ning Grid Operations Definition and Deployment of a Portal-based User RegistrationService Journal of Grid Computing 4(2)135ndash144 June 2006

[54] O Garcia-Pineda B Zimmer M Howard W Pichel Li XiaoFeng and I R MacDo-nald Using SAR images to delineate ocean oil slicks with a texture-classifying neuralnetwork algorithm (TCNNA) Canadian Journal of Remote Sensing 35(5)411ndash4212009

[55] A Goacutemez Remote Conputational Tools for Radiotherapy Cancer Treatment PlanningIn K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud compu-

ting a business perspective on technology and applications chapter 9 pages 147ndash158Springer Publishing Company Incorporated 2009

[56] W W Gregg M E Conkright P Ginoux J E OrsquoReilly and N W Casey Oceanprimary production and climate Global decadal changes Geophys Res Lett30(15)1809 2003

[57] Andrew S Grimshaw Wm and CORPORATE The Legion Team The Legion visionof a worldwide virtual computer Commun ACM 40(1)39ndash45 January 1997

[58] Hecht-Nielsen Theory of the backpropagation neural network In International Joint

Conference on Neural Networks pages 593ndash605 vol1 IEEE June 1989

[59] S Hepper Comparing the JSR 168 Java Portlet Specification

with the IBM Portlet API December 2003 Also available onlinehttpwwwibmcomdeveloperworkswebspherelibrarytecharticles0312_hepperhepperhtml(Retrieved Sept 2012)

[60] H Hersbach A Stoffelen and S de Haan An improved C-band scatterome-ter ocean geophysical model function CMOD5 Journal of Geophysical Research112(C3)C03006 March 2007

Bibliografiacutea 139

[61] S Hesmer P Fischer T Buckner and I Schuster Portlet de-

velopment guide 1 edition April 2002 Also available onlineftpftpsoftwareibmcomsoftwarewebserverportalV41PortletDevelopmentGuidepdf(Retrieved Sept 2012)

[62] J Horstmann and W Koch Measurement of ocean surface winds using synthetic aper-ture radars Oceanic Engineering IEEE Journal of 30(3)508ndash515 July 2005

[63] H A Hovland J A Johannessen and G Digranes Slick detection in SAR images InProceedings of IGARSS rsquo94 - 1994 IEEE International Geoscience and Remote Sensing

Symposium pages 2038ndash2040 IEEE 1994

[64] Eduardo Huedo Ruben S Montero and Ignacio M Llorente A framework for adap-tive execution in grids Softw Pract Exper 34(7)631ndash651 2004

[65] Eduardo Huedo Rubeacuten S Montero and Ignacio M Llorente A modular meta-scheduling architecture for interfacing with pre-WS and WS Grid resource manage-ment services Future Generation Computer Systems 23(2)252ndash261 February 2007

[66] C Jackson and J Apel editors Synthetic Aperture Radar Marine Userrsquos Manual USDepartement of Commerce National Oceanic and Atmospheric Administration 1stedition April 2005 Also available online httpwwwsarusersmanualcom (RetrievedMay 2012)

[67] I T Jolliffe and MyiLibrary Principal component analysis volume 2 Wiley OnlineLibrary 2002

[68] Maozhen Li and Mark Baker Applications In The grid core technologies pages377ndash400 Wiley May 2005

[69] Maozhen Li and Mark Baker Grid Portals In The grid core technologies pages335ndash376 Wiley May 2005

[70] Maozhen Li and Mark Baker Grid Security In The grid core technologies pages124ndash152 Wiley May 2005

[71] R F Loacutepez and J M F Fernaacutendez Las Redes Neuronales Artificiales Netbiblo Sl2008

140 Bibliografiacutea

[72] Maged Marghany RADARSAT for oil spill trajectory model Environmental Mode-

lling and Software 19(5)473ndash483 2004

[73] J M M Mariacuten and S B Caacutemara Evolucioacuten de las tecnologiacuteas Grid de la informacioacutenIn Las tecnologiacuteas Grid de la informacioacuten como nueva herramienta empresarial pages87ndash111 Septem 2008

[74] S W McCandless and C Jackson Principles of Synthetic Aperture Radarchapter 1 pages 1ndash23 US Department of Commerce National Oceanic andAtmospheric Administration 1st edition April 2005 Also available onlinehttpwwwsarusersmanualcom (Retrieved May 2012)

[75] David Mera Joseacute Cotos Joaquiacuten Trinanes and Carmen Cotelo An Integrated Solutionto Store Manage and Work with Datasets Focused on Metadata in the Retelab GridProject In Sigeru Omatu Miguel Rocha Joseacute Bravo Florentino Fernaacutendez EmilioCorchado Andreacutes Bustillo and Juan Corchado editors Distributed Computing Arti-

ficial Intelligence Bioinformatics Soft Computing and Ambient Assisted Living volu-me 5518 of Lecture Notes in Computer Science chapter 71 pages 491ndash494 SpringerBerlin Heidelberg Berlin Heidelberg 2009

[76] David Mera Joseacute Cotos Joseacute Viqueira and Joseacute Varela A User Management Web Sys-tem Based on Portlets for a Grid Environment Integrating Shibboleth PURSe PERMISand Gridsphere In Juan Corchado Sara Rodriacuteguez James Llinas and Joseacute Molinaeditors International Symposium on Distributed Computing and Artificial Intelligence

2008 (DCAI 2008) volume 50 of Advances in Soft Computing chapter 3 pages 19ndash23Springer Berlin Heidelberg Berlin Heidelberg 2009

[77] David Mera Joseacute M Cotos Pedro Saco and Andreacutes Goacutemez An integrated Solutionto the Security User Access in the RETELAB Grid Project using a Web System basedon Portlets and a RBAC Model by means of User Attribute Certificates and PKI InFernando Silva Gaspar Barreira and Ligia Ribeiro editors 2nd Iberian Grid Infras-

tructure Conference Proceedings pages 296ndash307 2008

[78] David Mera Joseacute M Cotos Joseacute Varela Carmen Cotelo and J Ignacio Loacutepez AnIntegration of Several Technologies in the Architecture Definition and Deployment ofa Geospatial Grid Web Portal In Hamid R Arabnia and George A Gravvanis editors

Bibliografiacutea 141

Proceedings of the 2009 International Conference on Grid Computing and Applica-

tions pages 86ndash91 CSREA Press 2009

[79] David Mera Joseacute M Cotos Joseacute Varela-Pet and Oscar Garcia-Pineda Adaptive thres-holding algorithm based on SAR images and wind data to segment oil spills along thenorthwest coast of the Iberian Peninsula Marine Pollution Bulletin 64(10)2090ndash2096October 2012

[80] David Mera Joseacute M Cotos Joseacute R R Viqueira and Carmen Cotelo Software Inte-gration in the Development of a Spatial Data Grid Prototype based on Metadata InVicente H Garciacutea Gaspar Barreira Ignacio B Espert and Jorge Gomes editors 3rd

Iberian Grid Infrastructure Conference Proceedings pages 305ndash314 2009

[81] M Migliaccio M Tranfaglia and S A Ermakov A physical approach for the obser-vation of oil spills in SAR images Oceanic Engineering IEEE Journal of 30(3)496ndash507 July 2005

[82] Daniel Minoli A networking approach to grid computing Wiley 2005

[83] R L Morgan Scott Cantor Steven Carmody Walter Hoehn and Ken KlingensteinFederated Security The Shibboleth Approach EDUCAUSE Quarterly 27(4)12ndash172004

[84] D Murray J McWhirter S Wier and S Emmerson The Integrated Data Viewermdashaweb-enabled application for scientific analysis and visualization In 19th Intl Conf on

IIPS for Meteorology Oceanography and Hydrology 2003

[85] J Novotny The grid portal development kit Concurrency and Computation Practice

and experience 14(13-15) 2002

[86] J Novotny S Tuecke and V Welch An online credential repository for the GridMyProxy In High Performance Distributed Computing 2001 Proceedings 10th IEEE

International Symposium on pages 104ndash111 IEEE 2001

[87] Jason Novotny Michael Russell and Oliver Wehrens GridSphere a portal frameworkfor building collaborations Concurrency Computat Pract Exper 16(5)503ndash5132004

142 Bibliografiacutea

[88] M A Oliver and R Webster Kriging a method of interpolation for geographical infor-mation systems International journal of geographical information systems 4(3)313ndash332 July 1990

[89] R B Olsen and T Wahl The ship detection capability of ENVISATrsquos ASAR InIGARSS 2003 2003 IEEE International Geoscience and Remote Sensing Symposium

Proceedings (IEEE Cat No03CH37477) pages 3108ndash3110 IEEE 2003

[90] J M Torres Palenzuela L Gonzaacutelez Vilas and M Sacau Cuadrado Use of ASARimages to study the evolution of the Prestige oil spill off the Galician coast Internatio-

nal Journal of Remote Sensing 27(10)1931ndash1950 2006

[91] Joon S Park Ravi Sandhu and Gail J Ahn Role-based access control on the webACM Trans Inf Syst Secur 4(1)37ndash71 February 2001

[92] P Pavlakis D Tarchi and A Sieber On the monitoring of illicit vessel dischargesusing spaceborne sar remote sensing - a reconnaissance study in the Mediterraneansea Annals of Telecommunications 56(11)700ndash718 November 2001

[93] R Rew and G Davis NetCDF an interface for scientific data access Computer

Graphics and Applications IEEE 10(4)76ndash82 July 1990

[94] M Romberg The UNICORE architecture seamless access to distributed resources InHigh Performance Distributed Computing 1999 Proceedings The Eighth Internatio-

nal Symposium on pages 287ndash293 IEEE 1999

[95] Betlem Rosich and Peter Meadows Absolute Calibration of ASAR Level 1 ProductsGenerated with PF-ASAR Technical Report Iss 1 rev 5 ESA October 2004

[96] D E Rumelhart G E Hintont and R J Williams Learning representations by back-propagating errors Nature 323(6088) 1986

[97] M Russell J Novotny and O Wehrens Gridspherersquos Grid Portlets Computational

Methods In Science and Technology 12(1) 2006

[98] Alexander F Shchepetkin and James C McWilliams The regional oceanic modelingsystem (ROMS) a split-explicit free-surface topography-following-coordinate ocea-nic model Ocean Modelling 9(4)347ndash404 January 2005

Bibliografiacutea 143

[99] J Shiers The worldwide LHC computing grid (worldwide LCG) Computer physics

communications 177(1) 2007

[100] G Singh S Bharathi A Chervenak E Deelman C Kesselman M Manohar S Patiland L Pearlman A Metadata Catalog Service for Data Intensive Applications InSupercomputing 2003 ACMIEEE Conference page 33 IEEE November 2003

[101] J Sirott J Callahan and S Hankin Inside the live access server In 17th Intl Conferen-

ce on Interactive Information and Processing Systems for Meteorology Oceanography

and Hydrology AMS 2001

[102] Chris Smith and Ian Lumb The Open Grid Services Architecture In Grid computing

a practical guide to technology and applications chapter 9 pages 159ndash187 CharlesRiver Media 2004

[103] A H S Solberg G Storvik R Solberg and E Volden Automatic detection of oilspills in ERS SAR images IEEE Transactions on Geoscience and Remote Sensing37(4)1916ndash1924 July 1999

[104] Anne H S Solberg Camilla Brekke and Per O Husoy Oil Spill Detection in Radarsatand Envisat SAR Images IEEE Transactions on Geoscience and Remote Sensing45(3)746ndash755 March 2007

[105] K Stanoevska-Slabeva and T Wozniak Cloud Basics- An introduction to Cloud Com-puting In K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud

computing a business perspective on technology and applications Springer PublishingCompany Incorporated 2009

[106] Kevin Swingler Applying Neural Networks A Practical Guide chapter 323 pages53ndash56 Morgan Kaufmann papdsk edition May 1996

[107] M Thomas S Mock M Dahan K Mueller D Sutton and J R Boisseau TheGridPort toolkit a system for building Grid portals In High Performance Distributed

Computing 2001 Proceedings 10th IEEE International Symposium on pages 216ndash227 IEEE 2001

[108] K Topouzelis V Karathanassi P Pavlakis and D Rokos Detection and discrimi-nation between oil spills and look-alike phenomena through neural networks ISPRS

Journal of Photogrammetry and Remote Sensing 62(4)264ndash270 September 2007

144 Bibliografiacutea

[109] K Topouzelis D Stathakis and V Karathanassi Investigation of genetic algorithmscontribution to feature selection for oil spill detection Int J Remote Sens 30(3)611ndash625 January 2009

[110] Konstantinos Topouzelis Oil Spill Detection by SAR Images Dark Formation De-tection Feature Extraction and Classification Algorithms Sensors 8(10)6642ndash6659October 2008

[111] Konstantinos Topouzelis and Apostolos Psyllos Oil spill feature selection and classifi-cation using decision tree forest on SAR image data ISPRS Journal of Photogrammetry

and Remote Sensing 68135ndash143 March 2012

[112] P Troumlger R Brobst D Gruber M Mamonski and D Templeton Distributed Resour-ce Management application API Version 2 (DRMAA) Technical report Open Grid Fo-rum January 2012 Also available online httpwwwogforgdocumentsGFD194pdf(Retrieved October 2012)

[113] G Von Laszewski I Foster J Gawor and P Lane A Java commodity grid kit Con-

currency and Computation practice and experience 13(8-9) 2001

[114] Ping Wang Y Tony Song Yi Chao and Hongchun Zhang Parallel Computation ofthe Regional Ocean Modeling System International Journal of High Performance

Computing Applications 19(4)375ndash385 2005

[115] Barry Wilkinson System Infrastructure II Grid Computing Services In Grid compu-

ting techniques and applications pages 201ndash222 CRC Press 2010

[116] Chongjie Zhang Ian Kelley and Gabrielle Allen Grid portal solutions a comparisonof GridPortlets and OGCE Concurrency Computat Pract Exper 19(12)1739ndash17482007

Anexos

145

ANEXO A

COacuteDIGO FUENTE

A1 Procedimiento para el registro de una JCE

Un error no corregido del JCE Cryptix impide su uso en el caso de que alguacuten otro JCE searegistrado despueacutes de su utilizacioacuten El orden de registro de los proveedores funciona comouna lista Last In First Out (LIFO) por lo que se desarrolloacute un procedimiento para cambiar elorden de la lista en caso de que eacuteste no fuese el adecuado Una explicacioacuten maacutes detallada delproblema se presenta en la Seccioacuten 321

Cambiando Proveedores

RetelabSigningUtility signingUtility = new RetelabSigningUtility()

if (javasecuritySecuritygetProviders()lengthgt1 ampamp javasecuritySecurity

getProviders()[0]getName()equals(new String(IAIK)))

javasecurityProvider provider_iaik=javasecuritySecuritygetProvider(IAIK)

javasecuritySecurityremoveProvider(IAIK)

javasecuritySecurityinsertProviderAt(provider_iaik javasecuritySecurity

getProviders()length)

Coacutedigo A1 Modificacioacuten del orden de los proveedores JCE para evitar el bug del proveedor Cryptix

148 Anexo A Coacutedigo Fuente

A2 Gestioacuten de certificados y roles desde la interfaz de Grid-Sphere

GridSphere gestiona la autorizacioacuten de los usuarios a los portlets a traveacutes de roles mien-tras que la integracioacuten de PERMIS en RETELAB permitioacute hacer lo propio sobre los recursosdel Grid En el caso del PERMIS los roles son gestionados a traveacutes de ACs por lo que pa-ra simplificar la administracioacuten se implementaron varias modificaciones sobre el coacutedigo deGridSphere para que eacuteste pudiese gestionar los roles de los usuarios viacutea ACs y asiacute ser admi-nistrados desde un punto uacutenico Una explicacioacuten maacutes detallada del desarrollo se presenta enla Seccioacuten 321

private void saveUserRole(FormEvent event User user)

logdebug(Entering saveUserRole())

PortletRequest req = eventgetPortletRequest()

Get selected role

PortletRole selectedRole = getSelectedUserRole(event)

reqsetAttribute(role selectedRole)

If super role was chosen

if (selectedRoleequals(PortletRoleSUPER))

logdebug(Granting super role)

Grant super role

thisaclManagerServicegrantSuperRole(user)

else

Revoke super role (in case they had it)

thisaclManagerServicerevokeSuperRole(user)

Create appropriate access request

Set groups = portalConfigServicegetPortalConfigSettings()getDefaultGroups

()

Iterator it = groupsiterator()

GroupRequest groupRequest

while (ithasNext())

PortletGroup group = (PortletGroup) itnext()

GroupEntry ge = aclManagerServicegetGroupEntry(user group)

if (ge = null)

groupRequest = thisaclManagerServiceeditGroupEntry(ge)

else

groupRequest = thisaclManagerServicecreateGroupEntry()

groupRequestsetUser(user)

groupRequestsetRole(selectedRole)

groupRequestsetGroup(group)

logdebug(Granting + selectedRole + role in gridsphere)

Submit changes

A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 149

thisaclManagerServicesaveGroupEntry(groupRequest)

Start Retelab Code

String path= reqgetRealPath()

logdebug(Save Role PATH +path)

String ldapBaseDN=

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

LdapConnector ldap_conector= new LdapConnector()

try

logdebug(Fichero de propiedades +path+FileseparatorChar+WEB-INF+File

separatorChar+permis_ldapproperties)

FileInputStream file_properties =new FileInputStream(path+FileseparatorChar

+WEB-INF+FileseparatorChar+permis_ldapproperties)

logdebug(Cargando Fichero de Propiedades)

cargamos las propiedades del LDAP y de los certificados de atributos de

ficheros de propiedades

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12)

int year=new Integer(retelab_propertiesgetProperty(validityperiodbefore

year))intValue()

int month=new Integer(retelab_propertiesgetProperty(validityperiodbefore

month))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiodbefore

day))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiodafteryear

))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiodafter

month))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiodafterday))

intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

port=new Integer(retelab_propertiesgetProperty(ldapport))intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

150 Anexo A Coacutedigo Fuente

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(selectedRolegetName())

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

Eliminamos el certificado anterior

ArrayList atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttribute))

int tipo_modificacion=10=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

Creamos el nuevo certificado

atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttributecertificate

))

tipo_modificacion=00=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no encontrado

+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

End Retelab Code

logdebug(Exiting saveUserRole())

Coacutedigo A2 Integracioacuten del sistema RBAC con GridSphere Ejemplo de alta de usuarios

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS

A continuacioacuten se muestra un ejemplo de coacutemo utilizar PERMIS para gestionar a traveacutesde los roles la autorizacioacuten de un usuario para ejecutar una tarea en un recurso del Gridconcreto

ltsecurityConfig xmlns=httpwwwglobusorggt

ltmethod name=createManagedJobgt

ltauth-methodgt

ltGSITransportgt

ltGSISecureMessagegt

ltGSISecureConversationgt

ltauth-methodgt

ltmethodgt

ltauthz value=permisAuthzissrggt4PermisPDP gridmapgt

ltreject-limited-proxy value=truegt

ltsecurityConfiggt

Coacutedigo A3 Modificacioacuten de la poliacutetica de autorizacioacuten del meacutetodo createManagedJob para integrar unsistema RBAC

A4 Integracioacuten de Shibboleth en el sistema

RETELAB cuenta con un sistema de autenticacioacuten SSO soportado por el software Shibbo-leth El acceso al laboratorio de usuarios externos y sin registrar trae consigo dificultades paragestionar su autorizacioacuten ya que RETELAB se basa en DCs y ACs para administrar el usode los recursos Fue necesario desarrollar procedimientos para generar certificados tempora-les para los usuarios de Shibboleth A continuacioacuten se muestran los meacutetodos implementadospara la creacioacuten de los DCs (Coacutedigo A4) y de los ACs (Coacutedigo A5) para los usuarios deShibboleth

private void createCertificate4Shibboleth(String nameString mailString password)

Variables Autoridad Certificadora

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

152 Anexo A Coacutedigo Fuente

String ca_dir=new String()

String ca_hash=new String()

variables MyProxy

String binDir_=new String()

String hostName_=new String()

int portNumber_=0

String dn_=new String()

String dir_=new String()

int expirationLeadTime_=0

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

try

FileInputStream file_properties =new FileInputStream(path+

WEB-INF+FileseparatorChar+permis_ldapproperties)

Cargando Fichero de Propiedades de la CA y MyProxy

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

simpleCA Properties

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

MyProxy Properties

binDir_=retelab_propertiesgetProperty(myProxyBin)

hostName_=retelab_propertiesgetProperty(myProxyHost)

portNumber_=IntegerparseInt(retelab_propertiesgetProperty(

myProxyPort))

dn_=retelab_propertiesgetProperty(myProxyDn)

dir_=retelab_propertiesgetProperty(myProxyDir)

expirationLeadTime_=IntegerparseInt(retelab_properties

getProperty(expirationLeadTime))

Opciones generales de la CA

CertificateGenerationOptions cert_options= new

CertificateGenerationOptions(bin_dirtmp_dirca_dir

ca_hash)

UserCertificateGenerationinitialize(cert_options)

String certDir=null

A4 Integracioacuten de Shibboleth en el sistema 153

certDir = UserCertificateGenerationgenerate(namemail

password)

logdebug(-----gtCertificado Generadolt-------)

Use CA to sign the certs

UserCertificateGenerationsignCerts(certDir password_ca)

logdebug(-----gtCertificado Firmadolt-------)

MyProxy options

MyProxyOptions myProxyOpts= new MyProxyOptions(binDir_

hostName_portNumber_dn_ dir_ expirationLeadTime_)

MyProxyManagerinitialize(myProxyOpts)

Cambiar orden de los providers JCE debido al bug de

Cryptix

changeProviders()

Upload creds to MyProxy

MyProxyManagerstoreRemoteCredential(namepasswordtmp_dir+

+name+)

logdebug(-----gtCertificado Subido a MyProxylt-------)

Delete local certificates

RegisterUtildeleteCerts(certDir)

logdebug(-----gtEliminados certificados localeslt-------)

file_properties=null

retelab_properties=null

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(MyProxyAccessException myExc)Systemoutprintln(Error

subiendo las credenciales a MyProxy+myExc)

catch(CertificateGenerationException certExp)Systemoutprintln(

Error creando las credenciales para el usuario+certExp)

catch(Exception e)Systemoutprintln(Excepcion no controlada +e

+ End)

Coacutedigo A4 Meacutetodo para crear y almacenar DCs para los usuarios de Shibboleth

private void createAttributeCertificate4Shibboleth(SportletUser userString role)

String ldapBaseDN=

String defaultUser=null

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

154 Anexo A Coacutedigo Fuente

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

String defaultGridsphereUser=

String pathGridMap=

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

String ca_dir=new String()

String ca_hash=new String()

LdapConnector ldap_conector= new LdapConnector()

generate certificate

try

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

Cargando el fichero de propiedades del LDAP y de los Certificados

de atributos

FileInputStream file_properties =new FileInputStream(path+WEB-INF+

FileseparatorChar+permis_ldapproperties)

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12

)

int year=new Integer(retelab_propertiesgetProperty(validityperiod

beforeyear))intValue()

int month=new Integer(retelab_propertiesgetProperty(validity

periodbeforemonth))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiod

beforeday))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiod

afteryear))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiod

aftermonth))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiod

afterday))intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

A4 Integracioacuten de Shibboleth en el sistema 155

port=new Integer(retelab_propertiesgetProperty(ldapport))

intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

defaultGridsphereUser=retelab_propertiesgetProperty(gridsphere

defaultuser)

defaultUser=retelab_propertiesgetProperty(globusdefaultuser)

pathGridMap=retelab_propertiesgetProperty(globusgridmappath)

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

file_properties=null

retelab_properties=null

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

LDAPAttributeSet attributeSet = new LDAPAttributeSet()

attributeSetadd( new LDAPAttribute(objectclass new String[]top

organizationalPersoninetOrgPersonpmiUser))

attributeSetadd( new LDAPAttribute(cnusergetUserName()))

attributeSetadd( new LDAPAttribute(givennamenew String[]user

getUserName()usergetFullName() ))

attributeSetadd( new LDAPAttribute(sn usergetFamilyName()))

attributeSetadd( new LDAPAttribute(mailusergetEmailAddress()))

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(role)

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

attributeSetadd(new LDAPAttribute( attributeCertificateAttribute

generatormakeCertificate()))

ldap_conectoraddEntry(attributeSet dn)

Creamos un certificado para el usuario y lo subimos a MyProxy

createCertificate4Shibboleth(usergetUserName()usergetEmailAddress

()(String)hsgetAttribute(shibbolethuserpassword))

anhadir usuario al GRIDMAP

String entry=new String()

156 Anexo A Coacutedigo Fuente

entry= convertDnToGridMapEntry(dndefaultUser)

if (entry=)

logdebug(Adding user to Grid-mapFile +entry)

addEntryToFile (pathGridMapentry)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

Coacutedigo A5 Meacutetodo para crear y almacenar ACs para los usuarios Shibboleth

A5 Despliegue del sistema de almacenamiento distribuido

El sistema de almacenamiento de datos de RETELAB se construyoacute utilizando como baseel RLS de GT4 y el MCS La integracioacuten de estos servicios con la interfaz Web no fue inme-diata y fue necesario realizar ciertas modificaciones Tal y como se describe en los detalle deimplementacioacuten de la Seccioacuten 33 la clase GenericserviceFetcher fue modificada para hacerimpliacutecita la clase necesaria para establecer la conexioacuten con el servicio de datos

private String getWSDL(final URL url) throws IOException

Start Retelab

URL url2 = new URL(url(javanetURLStreamHandler)new orgglobusnet

protocolhttpsHandler())

InputStreamReader input = new InputStreamReader(url2openConnection()

getInputStream())

End Retelab

InputStreamReader input = new InputStreamReader(urlopenStream())

StringBuffer buf = new StringBuffer()

char[] charArray = new char[1024]

int readBytes

A5 Despliegue del sistema de almacenamiento distribuido 157

while ((readBytes = inputread(charArray)) gt= 0)

bufappend(charArray 0 readBytes)

String wsdl = buftoString()

return wsdl

Coacutedigo A6 Modificacioacuten de la clase GenericserviceFetcher para permitir la conexioacuten con el servicio demetadatos

La integracioacuten del servicio RLS con la interfaz Web implicoacute cambiar ligeramente el modode autenticar los usuarios del portal En lugar de utilizar el proxy del usuario como un paraacute-metro de un meacutetodo de autenticacioacuten del servicio fue necesario descargarlo de la sesioacuten delportal y almacenarlo local y temporalmente para que el servicio pudiese laquoencontrarloraquo ya queno soportaba el paso por variable

private DataGridWorker conectarWorker( String username) throws orgietfjgss

GSSException

GSSCredential proxy

GlobusCredential globusCred = null

proxy=ProxyManagergetDefaultProxy(username)

if(proxy instanceof orgglobusgsigssapiGlobusGSSCredentialImpl)

globusCred = ((GlobusGSSCredentialImpl)proxy)

getGlobusCredential()

Ruta para almacenar el CD

String proxyfoldername=SystemgetProperty(userhome)+

SystemgetProperty(fileseparator)+propiedades

getProperty(PATHUSERPROXIES)

String proxyfilename=proxyfoldername+SystemgetProperty(

fileseparator)+activeproxy+username

FileOutputStream out =null

File file=null

try

boolean create=true

file=new File(proxyfoldername)

if (fileexists())

create=filemkdir()

158 Anexo A Coacutedigo Fuente

if (create)

file=new File(proxyfilename)

if (fileexists())

create=filecreateNewFile()

if(create)

out = new FileOutputStream(file)

Since Java does not provide an API for setting the permissions of a file the

JGlobus module will attempt to execute the binchmod program

in the background to set the permissions of the given file If that program cannot

be executed for any reason or fails to execute correctly

a proxy file might end up with incorrect file permissions (depending on umask

setting)

Usually a warning will be displayed if that occurs (especially on Windows since bin

chmod is not supported on that platform)

if (orgglobusutilUtilsetFilePermissions

(proxyfilename 600))

Systemerrprintln(Por favor

compruebe que los permisos de

su archivo de proxy son de

solo lectura para el

propietario)

globusCredsave(out)

outclose()

catch(IOException io)ioprintStackTrace()

finally

out=null

file=null

GlobusGSSCredentialImpl gssci = new GlobusGSSCredentialImpl(

globusCredGSSCredentialINITIATE_AND_ACCEPT)

GlobusCredentialsetDefaultCredential(gsscigetGlobusCredential())

Creamos el DataGridWorker Ya dispone todos los datos necesarios

para autenticar al usuario

return new DataGridWorker(propiedadesgetProperty(METADATACATALOG

GRIDSERVICE)username)

Coacutedigo A7 Procedimiento para autenticar a un usuario en el servicio RLS

A5 Despliegue del sistema de almacenamiento distribuido 159

Listado de acroacutenimos

AATSR Radioacutemetro Avanzado de Exploracioacuten Longitudinal 81

AC Certificado de Atributos 39ndash41 43 44 56 124 148 151 156

AI Inteligencia Artificial 13

AIS Sistema Automaacutetico de Identificacioacuten 131

ANN Red Neuronal Artificial 75 98ndash100 103 107 110 111 114 126 131

API Application Programming Interface 24 26ndash28 55 116 128

ASAR Radar de Apertura Sinteacutetica Avanzado 82ndash84

AZTI Centro Tecnoloacutegico del Mar y los Alimentos del Paiacutes Vasco 11

CA Autoridad Certificadora 35 39

CART Aacuterboles de Clasificacioacuten y Regresioacuten 105

CERN Organizacioacuten Europea para la Investigacioacuten Nuclear 28

CESGA Centro de Supercomputacioacuten de Galicia 11 33 34 54 59 125

CLI Interfaz de Liacutenea de Comandos 8 21 55

CoG Java Commodity Grid Kit 24 27

DB Base de Datos 3 5 7 44 46ndash49 52 53 57 75 76 80 85 86 89 91 97 112 113118 119 124 125

162 Listado de acroacutenimos

DC Certificado Digital 29 35ndash44 49 56 124 151 153

DORIS Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite 81

DRMAA Distributed Resource Management Application 55 56

EMSA Agencia Europea de Seguridad Mariacutetima 79 85

ESA Agencia Espacial Europea 65 80 83 85

ESG Earth System Grid 29

ESTF Esquema de Separacioacuten de Traacutefico de Fisterra 77ndash79 85ndash87 89 131

GMES Monitorizacioacuten Global para el Medioambiente y la Seguridad 81

GOMOS Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Estrellas 81

GPDK Grid Portal Development Kit 23

GPIR GridPort Information Repository 27

GSI Security Grid Infrastructure 35ndash37

GT Globus Toolkit 18ndash20 23 24 28 32 34 35 37 41 45ndash49 156

GWSDL Grid Web Service Definition Language 19

HPC Computacioacuten de Alto Rendimiento 11

HTC Computacioacuten de Altas Prestaciones 6 11

IA Aacutengulo de Incidencia 68 69 73 83 84 89 90 92 93 95 125

IaaS Infraestructura como Servicio 128 130

ICCM Instituto Canario de Ciencias del Mar 11 60

IDV Integrated Data Viewer 53 54 57 61 125

IMO Organizacioacuten Internacional Mariacutetima 131

Listado de acroacutenimos 163

JAR ARchivo Java 40 47

JavaWS Java Web Start 30 53

JCE Extensioacuten Criptograacutefica de Java 41 147

JNLP Java Networking Launching Protocol 53

JRE Entorno de Ejecucioacuten de Java 53

JSDL Job Submission Description Language 55 130

JSP Java Server Pages 23 24 28

LAS Live Access Server 52 53

LDAP Lightweight Directory Access Protocol 39ndash41

LFN Nombre Loacutegico de Fichero 45 46 49

LHC Large Hadron Collider 3 28

LIFO Last In First Out 147

LRC Local Replica Catalog 46

LRR Retrorreflector Laacuteser 82

MAMS Meta Access Management System 43 44

MCS Metadata Catalog System 46 48 156

MEC Ministerio de Educacioacuten y Ciencia 10

MERIS Espectroacutemetro de Imaacutegenes de Resolucioacuten Media 81

MIPAS Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva 82

MLP Perceptroacuten Multicapa 100 101 103 104 113ndash115 118

MPI Message Passing Interface 59

MWR Radioacutemetro de Microondas 81 82

164 Listado de acroacutenimos

NetCDF Network Common Data Form 51 54 59

OGCE Open Grid Computing Environments 27 28

OGSA Open Grid Service Architecture 19 20 46

OGSI Open Grid Services Infrastructure 19

OpenMP Open Multiprocessing 59 116

PaaS Plataforma como Servicio 129 130

PCA Anaacutelisis de Componentes Principales 95 126

PDP Policy Decision Point 41 42

PFN Nombre Fiacutesico de Fichero 45 46

PKI Public Key Infrastructure 9 35

PP Produccioacuten Primaria 2 51 60

PURSe Portal-based User Registration Service 29 30 38ndash40 124

RA-2 Altiacutemetro de Radar 81 82

RBAC Control de Acceso Basado en Roles 9 11 37 39 41 124 150 151

RETEMAR Red Espantildeola de Teledeteccioacuten Marina 8 31

RLI Replica Location Index 46

RLS Replica Location Service 45 49 156ndash158

ROI Regioacuten de Intereacutes 73

ROMS Regional Ocean Model System 58 59

SaaS Sofware como Servicio 129

SAR Radar de Apertura Sinteacutetica 12 50 61 68ndash73 77 79 82 84 86 88 89 91 93 109ndash111 113 114 117 118 125 126 131

Listado de acroacutenimos 165

SASEMAR Agencia espantildeola de Salvamento y Seguridad Mariacutetima 79 80 85 114 131

SCIAMACHY Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes para CartografiacuteaAtmosfeacuterica 82

SLAR Radar Lateral Aerotransportado 66

SSO Single-Sign On 43 44 124 151

SVM Maacutequinas de Soporte Vectorial 132

UDC Universidad de la Coruntildea 12

UNICORE Uniform Interface to Computing Resources 18 23

USC Universidad de Santiago de Compostela 11 12 33

VGPM Vertically Generalised Production Model 60

VO Organizacioacuten Virtual 3ndash5 7 17 20 37

WSDL Web Services Description Language 19 48

WSM Wide Swath Mode 76 82 84ndash86 130

WSRF Web Service Resource Framework 19 20

Iacutendice alfabeacutetico

Aacuterbol de decisioacuten 105ndash108 113 114 119126 131

Nodo decisioacuten 105Nodo hoja 105ndash108Poda 107 108

ASAR 82ndash84Autoridad certificadora 35 39

Caracterizacioacuten 12 71 73 94 126Certificado de atributos 39ndash41 43 44 56

124 148 151 156Certificado digital 29 35ndash40 42ndash44 49

56 124 151 153Clasificacioacuten 10 13 71 73ndash75 90 96

111 126Clasificadores probabiliacutesticos 75CMOD5 91 117 118 131CoG 24 27Computacioacuten Cloud 127ndash130Computacioacuten distribuida 1ndash3 17 127 128Contenedor de portlets 24

EMSA 79 85Envisat 68 69 75 76 80ndash86 127 130ESA 65 80 83 85

ESG 29Espectro electromagneacutetico 82 83ESTF 77ndash79 85ndash87 89 131

Filtro de aacuterea 94 110Filtro de mediana 88 89 110Filtro de ruido 87 88 110Filtro de viento 94 110

Genius Grid Portal 28Globus Toolkit 8 18ndash20 22 23 28 30

32 45ndash49 156GPDK 23Grid 3ndash6 9 11 17ndash21 23 24 28ndash30 32

35 36 42 44ndash46 52 54 56 57110 124 130 148 151

Aplicaciones 6 19 27 28Computacioacuten 2 3 5ndash7 9 11 17ndash19

22 23 25 29 32 44 110 123127

Interfaz 21Middleware 8 22 23 124Portal 22ndash25 27ndash30 32 33 37 46

123Primera generacioacuten 22 29

168 Iacutendice alfabeacutetico

Segunda generacioacuten 24Servicios 19 20 25 27 28 41 42Sistema 4ndash6 8 11 19ndash23 27 28

30 33 35 41 54 55 60 123Tecnologiacutea 4 5 17ndash19 28

GridFTP 47GridPort 23 27GridPortlets 27 28GridSphere 25ndash28 30 32 40 41 43 44

124 148 150GridWay 11 55 56 125 130GSI 35ndash37GWSDL 19

I-WAY 17 18IDV 53 54 57 61 125ISO 19115 46 49 124

JCE 41 147

LAS 52 53Legion 18Look-alike 70 71 74ndash76 85 88 90 94

96 117ndash119LRC 46

Maacutescara de tierra 87 88 110 118MCS 46 48 156Metadatos 11 44 46 47 49 50 56 109

124Metaplanificador 11 55 56 124 130MyProxy 29 36 37 39 49

Noise floor veacutease Ruido de fondo

OGCE 27 28

OGSA 19 20 46OGSI 19Organizacioacuten virtual 3ndash5 7 17 20 21 37

P-Grade 30PCA 95 126PERMIS 40ndash42 124 148 151Polarizacioacuten 83ndash85Portlet 13 22 24ndash27 32 38 41ndash43 47

49ndash51 53 55ndash57 59 60 111112 124 148

Portlet Grid 25ndash27Prestige 78 79PURSe 29 38ndash40 124

Radar 65 66 68Radarsat 75 130RBAC 9 11 37 39 41 124 150 151Red neuronal artificial 75 98 99 103 107

110 111 114 119 126 131Backpropagation 99ndash101 103Perceptroacuten multicapa 100 103 104

113 114Resolucioacuten espacial 66 67 130RETELAB 10ndash13 26 27 30 31 33 34

36 38 39 41ndash44 46 49ndash58 6061 80 110 111 124 125 127129 130 148 151 156

Data Grid 44 47 49 50 56ndash58 61112 124

Monitor de tareas 55 112 125RLI 46RLS 45 49 156ndash158Ruido de fondo 83 84 117

Iacutendice alfabeacutetico 169

SAR 12 50 61 68ndash73 77 79 82 84 8688 89 91 93 109ndash111 113 114117 118 125 131

Segmentacioacuten 10 12 71ndash73 75 88 9193 107 110 117 125 126

Sentinazo 12 13 65 71ndash76 78 85 8690 91 94ndash96 99 110 111 114ndash119 126 131

SENTINAZOS 58 60 82 106 110ndash112125 130

Sentinel 80 81 127 131Servicios Web 19Shibboleth 43 44 124 151 153 156SLAR 66SSO 43 44 124 151

Teledeteccioacuten 2 11 31 44

Umbral adaptativo 10 73 89 92 93 110117 125

Umbral simple 73UNICORE 18 23

Vector de caracteriacutesticas 10 73 74 94ndash96 118 126

Caracteriacutesticas de forma 73 94 95Caracteriacutesticas fiacutesicas 73 95Informacioacuten contextual 74 95Texturas 74

Vertidos de hidrocarburo 10 12 60 6265 66 69 71 78 79 82 84 8587ndash89 110 116 123 125 130131

WebSphere 25 26

WSDL 19 48WSM 76 82 84ndash86 130

  • Portada
  • Iacutendice general
  • Iacutendice de figuras
  • Iacutendice de tablas
  • Introduccioacuten
    • Computacioacuten Grid
      • Aplicaciones Grid
        • Motivacioacuten
        • Objetivos
          • Objetivos concretos
            • Estructura de la memoria
              • Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica
                • Evolucioacuten de la Computacioacuten Grid
                  • Estandarizacioacuten de las tecnologiacuteas Grid
                  • Arquitectura de un sistema Grid
                  • Interfaces Grid
                    • Portales Grid primera generacioacuten
                    • Portales Grid segunda generacioacuten
                    • Portales Grid casos de estudio
                        • Proyecto RETELAB
                          • Descripcioacuten del proyecto
                            • Arquitectura general del sistema
                              • Registro y acceso de los usuarios
                                • Autenticacioacuten y autorizacioacuten
                                  • Sistema de almacenamiento distribuido
                                    • Almacenamiento de datos
                                      • Visualizacioacuten de los datos
                                        • Live Access Server
                                        • Integrated Data Viewer
                                          • Gestioacuten y monitorizacioacuten de trabajos
                                            • Integracioacuten con el sistema de almacenamiento distribuido
                                              • Validacioacuten del laboratorio virtual
                                                • ROMS
                                                • Caacutelculo del modelo de produccioacuten primaria
                                                • sentinazos
                                                  • Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacutetica de vertidos de hidrocarburos
                                                    • Estado del arte
                                                    • Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de SAR
                                                      • Descripcioacuten del proyecto
                                                      • Fuentes de datos
                                                        • Sateacutelite envisat
                                                        • Coleccioacuten de datos
                                                          • Preprocesado
                                                            • Calibrado y proyeccioacuten cartograacutefica
                                                            • Maacutescara de tierra
                                                            • Filtro de ruido
                                                              • Segmentacioacuten
                                                                • Establecimiento del umbral adaptativo
                                                                • Aplicacioacuten del umbral adaptativo
                                                                • Filtro de vientos
                                                                • Filtro de aacuterea
                                                                  • Extraccioacuten de caracteriacutesticas
                                                                  • Clasificacioacuten
                                                                    • Redes Neuronales Artificiales
                                                                    • Aacuterboles de decisioacuten
                                                                      • Validacioacuten del sistema de deteccioacuten de vertidos
                                                                        • Desarrollo de un software de escritorio
                                                                        • Integracioacuten en retelab
                                                                            • Resultados
                                                                              • Eficacia
                                                                              • Tiempo de procesamiento
                                                                                • Discusioacuten
                                                                                  • Epiacutelogo
                                                                                    • Resultados y conclusiones
                                                                                    • Trabajo futuro
                                                                                      • Trabajo futuro en el proyecto RETELAB
                                                                                        • Computacioacuten Cloud
                                                                                        • Integracioacuten de la computacioacuten Cloud en retelab
                                                                                          • Evolucioacuten de las aplicaciones desplegadas SENTINAZOS
                                                                                            • Fuentes de datos
                                                                                            • Mejora de los algoritmos
                                                                                                • Bibliografiacutea
                                                                                                • Anexos
                                                                                                • Coacutedigo Fuente
                                                                                                  • Procedimiento para el registro de una JCE
                                                                                                  • Gestioacuten de certificados y roles desde la interfaz de GridSphere
                                                                                                  • Gestioacuten de la ejecucioacuten de las tareas usando PERMIS
                                                                                                  • Integracioacuten de Shibboleth en el sistema
                                                                                                  • Despliegue del sistema de almacenamiento distribuido
                                                                                                    • Listado de acroacutenimos
                                                                                                    • Iacutendice alfabeacutetico
Page 2: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …

Dr D Joseacute Manuel Cotos Yaacutentildeez Profesor Titular de Universidad del Aacuterea de Lenguajes ySistemas Informaacuteticos de la Universidad de Santiago de Compostela

Dr D Joseacute Varela Pet Profesor Contratado Doctor de Universidad del Aacuterea de Lenguajesy Sistemas Informaacuteticos de la Universidad de Santiago de Compostela

HACEN CONSTAR

Que la memoria titulada DESARROLLO DESPLIEGUE Y VALIDACIOacuteN DE UN LA-BORATORIO VIRTUAL OCEANOGRAacuteFICO BASADO EN COMPUTACIOacuteN GRIDha sido realizada por D David Mera Peacuterez bajo nuestra direccioacuten en el marco del Programade Doctorado Interuniversitario de Investigacioacuten en Tecnologiacuteas de la Informacioacuten del De-partamento de Electroacutenica e Computacioacuten de la Universidade de Santiago de Compostela yconstituye la Tesis que presenta para optar al tiacutetulo de Doctor

Este trabajo ha sido desarrollado en los siguientes centros de investigacioacuten de la Universidadde Santiago de Compostela

ndash Centro Singular de Investigacioacuten en Tecnoloxiacuteas da Informacioacuten (CITIUS)

ndash Instituto de Investigacioacutens Tecnoloacutexicas (IIT)

Noviembre de 2012

Dr D Joseacute Manuel Cotos YaacutentildeezDirector de la tesis

Dr D Joseacute Varela PetCodirector de la tesis

D David Mera PeacuterezAutor de la tesis

The Answer to the Great Question of Life the

Universe and Everything [] Forty-two said Deep

Thought with infinite majesty and calm [] That

quite definitely is the answer I think the problem

to be quite honest with you is that yoursquove never

actually known what the question is

The Hitchhikerrsquos Guide to the Galaxy

Agradecimentos

Parece que fue ayer cuando me embarqueacute en este viaje pero la realidad es que ya hapasado bastante tiempo y sobre todo muchas horas de trabajo Es el momento de echar lavista atraacutes y pensar en todo el apoyo recibido de mis compantildeeros de trabajo amigos familiay organizaciones sin el cual esto nunca hubiese llegado a buen puerto

En primer lugar agradecer al Dr Joseacute Manuel Cotos Yaacutentildeez y al Dr Joseacute Varela Petdirectores del presente trabajo la oportunidad de emprender esta aventura junto a ellos y porla confianza depositada en miacute desde el comienzo Gracias por apoyarme guiarme y dedicarmetantas horas de vuestro tiempo para sacar esto adelante

A mis compantildeeros de trabajo del Instituto de Investigaciones Tecnoloacutegicas con los quehe pasado la mayor parte de este tiempo que me han aconsejado y ayudado siempre que lo henecesitado

A Carmen Cotelo Queijo mi compantildeera de armas en el proyecto de RETELAB por echar-me una mano desinteresada siempre que me ha hecho falta

Al Dr Pablo Garciacutea Rodriacuteguez por sus conocimientos y consejos pero especialmente porsu apoyo y aacutenimos durante todo el trabajo

Al Dr Oacutescar Garciacutea Pineda de la Universidad Estatal de Florida por su tiempo y conoci-mientos e indicarme el camino cuando eacuteste estaba poco claro

A mis amigos por aguantar mis laquorollos frikisraquo por darme siempre aacutenimos y sobre todopor estar siempre ahiacute aunque los tenga abandonados

VIII

A Leticia laquomi vidaraquo por todas las horas que le he robado y que no podreacute devolverle Nosabriacutea como expresar lo importante que has sido Gracias por estar siempre a mi lado y por tuapoyo incondicional Sin ti esto no seriacutea posible

A mi familia y en especial a mis padres por todo el carintildeo y apoyo recibido durante todami vida y por confiar en que yo era capaz de cualquier cosa y animarme siempre a luchar ya esforzarme al maacuteximo en todos los aspectos de la vida Sin vosotros yo no seriacutea quien soyGracias por todo

Y a tantos otros que no he nombrado pero que llevo en la cabeza y en el corazoacuten

iexclGRACIAS A TODOS

IX

Este trabajo no habriacutea sido posible sin el apoyo yo colaboracioacuten de las siguientes institu-ciones

ndash Sociedad de Salvamento y Seguridad Mariacutetima (SASEMAR) concretamente el Cen-tro de Coordinacioacuten de Salvamento de Finisterre que nos facilitoacute los datos sobre losvertidos detectados en la costa gallega durante los uacuteltimos antildeos

ndash Ministerio de Educacioacuten y Ciencia a traveacutes de la financiacioacuten del proyecto laquoLaboratorioVirtual para la Red Nacional de Teledeteccioacuten Oceanograacuteficaraquo con referencia ESP2006-13778-C04

ndash Xunta de Galicia a traveacutes de la financiacioacuten del proyecto laquoAnaacutelise e interpretacioacuten deimaxes de sateacutelite a partires de teacutecnicas de intelixencia artificial aplicacioacuten a contami-nantes no medio marintildeoraquo con referencia PGIDIT08SIN001236PR

ndash Universidad de Santiago de Compostela mediante el laquoPrograma de Contratos Predoc-torales de la Universidad de Santiago de Compostela 2010raquo

Iacutendice general

Iacutendice de figuras XV

Iacutendice de tablas XIX

1 Introduccioacuten 111 Computacioacuten Grid 3

111 Aplicaciones Grid 612 Motivacioacuten 713 Objetivos 8

131 Objetivos concretos 914 Estructura de la memoria 10

I Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica 15

2 Evolucioacuten de la Computacioacuten Grid 1721 Estandarizacioacuten de las tecnologiacuteas Grid 1722 Arquitectura de un sistema Grid 2023 Interfaces Grid 21

231 Portales Grid primera generacioacuten 22232 Portales Grid segunda generacioacuten 24233 Portales Grid casos de estudio 28

3 Proyecto RETELAB 3131 Descripcioacuten del proyecto 31

XII Iacutendice general

311 Arquitectura general del sistema 3232 Registro y acceso de los usuarios 34

321 Autenticacioacuten y autorizacioacuten 3733 Sistema de almacenamiento distribuido 44

331 Almacenamiento de datos 4934 Visualizacioacuten de los datos 52

341 Live Access Server 52342 Integrated Data Viewer 53

35 Gestioacuten y monitorizacioacuten de trabajos 54351 Integracioacuten con el sistema de almacenamiento distribuido 56

36 Validacioacuten del laboratorio virtual 58361 Regional Ocean Model System (ROMS) 58362 Caacutelculo del modelo de produccioacuten primaria 60363 SENTINAZOS 60

II Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacuteticade vertidos de hidrocarburos 63

4 Estado del arte 65

5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de Radar deApertura Sinteacutetica (SAR) 7751 Descripcioacuten del proyecto 7752 Fuentes de datos 80

521 Sateacutelite Envisat 80522 Coleccioacuten de datos 85

53 Preprocesado 86531 Calibrado y proyeccioacuten cartograacutefica 86532 Maacutescara de tierra 87533 Filtro de ruido 88

54 Segmentacioacuten 88541 Establecimiento del umbral adaptativo 89542 Aplicacioacuten del umbral adaptativo 93

Iacutendice general XIII

543 Filtro de vientos 94544 Filtro de aacuterea 94

55 Extraccioacuten de caracteriacutesticas 9456 Clasificacioacuten 96

561 Redes Neuronales Artificiales 98562 Aacuterboles de decisioacuten 105

57 Validacioacuten del sistema de deteccioacuten de vertidos 109571 Desarrollo de un software de escritorio 109572 Integracioacuten en RETELAB 110

6 Resultados 11361 Eficacia 11362 Tiempo de procesamiento 116

7 Discusioacuten 117

Epiacutelogo 123

8 Resultados y conclusiones 123

9 Trabajo futuro 12791 Trabajo futuro en el proyecto RETELAB 127

911 Computacioacuten Cloud 127912 Integracioacuten de la computacioacuten Cloud en RETELAB 129

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 130921 Fuentes de datos 130922 Mejora de los algoritmos 131

Bibliografiacutea 133

Anexos 145

A Coacutedigo Fuente 147A1 Procedimiento para el registro de una Extensioacuten Criptograacutefica de Java (JCE) 147A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 148

XIV Iacutendice general

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151A4 Integracioacuten de Shibboleth en el sistema 151A5 Despliegue del sistema de almacenamiento distribuido 156

Listado de acroacutenimos 161

Iacutendice alfabeacutetico 167

Iacutendice de figuras

11 Ejemplo de un sistema Grid 5

21 Evolucioacuten de las tecnologiacuteas Grid 1822 Arquitectura Grid basada en capas y construida sobre los principios del

modelo de laquoreloj de arenaraquo 2123 Ejemplo de un portal Web desarrollado a traveacutes de portlets 25

31 Arquitectura general del sistema RETELAB 3332 Recursos aportados por el Centro de Supercomputacioacuten de Galicia (CESGA) 3433 Arquitectura del sistema de registro y acceso de usuarios de RETELAB 3834 Esquema simplificado del registro y acceso de usuarios al sistema 3935 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles 4036 Esquema del control de acceso basado en roles de RETELAB 4237 Arquitectura del Data Grid desplegado en RETELAB 4538 Secuencia resumida de acciones para buscar y acceder a los datos almacenados 4739 Diagrama de clases simplificado en el que se presentan las clases utilizadas

para desarrollar las operaciones sobre la Base de Datos (DB) virtual 48310 Portlet para el almacenamiento de datos locales en RETELAB 50311 Portlet para la integracioacuten de datos externos en el sistema 51312 Portlet para el almacenamiento de los resultados generados tras la ejecucioacuten

de un trabajo 52313 Integracioacuten del Live Access Server en RETELAB 53314 Integracioacuten del Integrated Data Viewer (IDV) en RETELAB 54

XVI Iacutendice de figuras

315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten detrabajos en RETELAB 55

316 Integracioacuten del espacio de almacenamiento privado del usuario con el portletde enviacuteo de trabajos 56

317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos 57318 Portlet para la monitorizacioacuten de los trabajos de usuario 58319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten

empleando ROMS 59320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data

Grid y el sistema de visualizacioacuten de IDV 61

41 Oriacutegenes de los vertidos de hidrocarburos 6642 Resolucioacuten espacial de un radar a bordo de un sateacutelite 6743 Antena virtual generada por SAR 6844 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007) 6945 Efecto del viento en la retrodispersioacuten de un pulso SAR 7046 Sistema automaacutetico para la deteccioacuten de sentinazos 7247 Analisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo

durante el antildeo 1999 74

51 Esquema de Separacioacuten de Traacutefico de Fisterra 7852 Imagen SAR del vertido provocado por el accidente del buque petrolero

Prestige (17112002) 7953 Bases de la Agencia espantildeola de Salvamento y Seguridad Mariacutetima

(SASEMAR) en Galicia y recursos asignados a la regioacuten 8054 Espectro electromagneacutetico 8355 Retrodispersioacuten media obtenida de una imagen Radar de Apertura Sinteacutetica

Avanzado (ASAR) Wide Swath Mode (WSM) para vientos de 4 ms 6 ms y10 ms 84

56 Representacioacuten de la densidad de cobertura de la Base de Datos 8557 Aacuterea de estudio y Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF) 8658 DB de imaacutegenes con sentinazos utilizada para el proyecto SENTINAZOS 8659 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten 87510 Maacutescara de tierra utilizada en SENTINAZOS 88

Iacutendice de figuras XVII

511 Ejemplo de uso del filtro de mediana 89512 Piacutexeles muestreados agrupados seguacuten su Aacutengulo de Incidencia (IA) 90513 Elementos de la muestra agrupados por la velocidad del viento 91514 Esquema de acciones realizadas para establecer el umbral adaptativo 92515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para

distintos valores de la velocidad del viento 93516 Componentes principales y porcentaje de varianza explicado 96517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores 97518 Elementos de una neurona artificial 99519 Estructura de una red neuronal Perceptroacuten Multicapa (MLP) 100520 Ejemplo simplificado de una red MLP 101521 Esquema de la neuronas empleadas en la Red Neuronal Artificial (ANN)

desarrollada 103522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP 104523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario 106524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el

proceso de entrenamiento 108525 Aacuterbol de decisioacuten binario podado 108526 Pantalla principal del software de escritorio 109527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de

los paraacutemetros por defecto y un clasificador ANN 111528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en

el laboratorio virtual 112

61 Composicioacuten de dos imaacutegenes SAR y resultados generados por los diferentesclasificadores 114

62 Detalle de los sentinazos detectados por la ANN 115

91 Arquitectura del Cloud relacionada con los servicios que proporciona 129

Iacutendice de tablas

51 Nuacutemero de embarcaciones identificadas en el ESTF 7852 Paraacutemetros orbitales del sateacutelite Envisat 8153 Modos de operacioacuten del sensor ASAR a bordo del Envisat 8354 Coeficientes y puntos de corte para las funciones de umbral adaptativo 9355 Vector de caracteriacutesticas 9556 Componentes principales y porcentaje de varianza explicado 9657 Coeficientes de los componentes principales seleccionados 97

61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten ytest 113

71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia enla clasificacioacuten 118

CAPIacuteTULO 1

INTRODUCCIOacuteN

Las necesidades computacionales de la sociedad actual son cada vez mayores Determi-nadas aacutereas de investigacioacuten como la fiacutesica de altas energiacuteas las ciencias de la Tierra o lameteorologiacutea ven limitado su desarrollo por la necesidad de maacutes y mejores recursos compu-tacionales Aunque el desarrollo tecnoloacutegico es la primera barrera que se encuentran los in-vestigadores tambieacuten lo es el acceso a la propia tecnologiacutea ya que a menudo la tecnologiacuteamaacutes puntera es econoacutemicamente inaccesible o su uso requiere de extensos conocimientos quelimitan su generalizacioacuten

La computacioacuten distribuida surge con el objetivo de permitir la colaboracioacuten y comparti-cioacuten de recursos para reducir costes y maximizar la capacidad de almacenamiento y procesa-miento Su raacutepida evolucioacuten permitioacute a los investigadores resolver problemas complejos quehasta hace poco eran inasumibles y afrontar retos maacutes ambiciosos incluso cuando los mediosde los que disponiacutean eran escasos

La observacioacuten remota de la Tierra es un claro ejemplo en el que las necesidades compu-tacionales avanzan a un ritmo difiacutecil de igualar por el desarrollo tecnoloacutegico Desde que en1957 el Sputnik Sovieacutetico fuese el primer sateacutelite en ser enviado al espacio han sido muchaslas misiones tanto civiles como militares que se han llevado a cabo para observar remotamentela Tierra Antildeo tras antildeo el nuacutemero de misiones espaciales asiacute como el nuacutemero de proyectosde investigacioacuten relacionados con eacutestas se ha ido incrementando y al menos en un futuroa corto y medio plazo la poliacutetica a este respecto seraacute continuista ya que seguacuten un informede Euroconsult Satellite-Based Earth Observation Market Prospects to 2017 se espera quecerca de 200 nuevos sateacutelites esteacuten operativos en el 2017

2 Capiacutetulo 1 Introduccioacuten

Gracias a los avances tecnoloacutegicos las misiones se han vuelto cada vez maacutes sofisticadasy cuentan con instrumentacioacuten maacutes especializada generando un gran volumen de informa-cioacuten sobre nuestro planeta que es necesario almacenar y procesar La observacioacuten remota dela Tierra o teledeteccioacuten se ha convertido en una teacutecnica imprescindible en el seguimiento yestudio de determinados procesos ambientales criacuteticos para nuestro planeta como por ejem-plo el cambio climaacutetico el deshielo o el deterioro de la capa de ozono Del mismo modo lateledeteccioacuten tambieacuten es esencial en el seguimiento de desastres tanto naturales como provo-cados por el hombre como son los incendios los terremotos o los vertidos contaminantes Enparticular la teledeteccioacuten es una herramienta fundamental en el estudio de los oceacuteanos y susfenoacutemenos asociados

Los oceacuteanos cubren cerca de las tres cuartas partes del planeta y albergan al 97 de lasespecies pero a pesar de estas cifras a menudo no somos conscientes de su importancia einfluencia por ejemplo son el pulmoacuten del planeta ya que maacutes de la mitad de la captura mun-dial de CO2 y de la produccioacuten de oxiacutegeno se realizan a traveacutes del mecanismo conocido comoProduccioacuten Primaria (PP) [56] las actividades relacionadas con el mar sustentan al 10-12de la poblacioacuten mundial [42] y nuestra dependencia energeacutetica hacia ellos es incuestionablepuesto que aproximadamente la mitad de la produccioacuten mundial de gas natural y el 30 dela de petroacuteleo se extrae de los yacimientos presentes en el lecho marino [11]

El estudio de los oceacuteanos es una tarea interdisciplinar en el que grupos tan heterogeacuteneoscomo los de los bioacutelogos fiacutesicos meteoroacutelogos oceanoacutegrafos o informaacuteticos deben traba-jar juntos para abordar problemas de naturaleza compleja y obtener los mejores resultadosA menudo dichos grupos se encuentran dispersos y pertenecen a centros diferentes lo quesupone un problema tanto organizativo como de seguridad y en muchos casos este tipo dedificultades puede obstaculizar la buena marcha de los proyectos o directamente imposibi-litarlos Ademaacutes la gran cantidad de datos obtenidos a traveacutes de la observacioacuten remota ynecesarios para la investigacioacuten genera grandes dificultades en cuanto a su almacenamientoprocesamiento y distribucioacuten Los centros necesitan disponer tanto de recursos de compu-tacioacuten de altas prestaciones como de almacenamiento masivo acordes a las necesidades delos proyectos pero esto no siempre es posible

La computacioacuten Grid paradigma de la computacioacuten distribuida se posiciona como la tec-nologiacutea maacutes adecuada para cubrir las demandas tecnoloacutegicas de la investigacioacuten oceanograacuteficay proporcionar un acceso aacutegil y eficiente a los datos almacenados La computacioacuten Grid per-mite desplegar entornos dedicados a compartir recursos entre diferentes centros a traveacutes de la

11 Computacioacuten Grid 3

red y ademaacutes permite administrar grupos virtuales de usuarios que se forman en el marco deun proyecto para maximizar sus posibilidades en torno a objetivos comunes

11 Computacioacuten Grid

Tradicionalmente los grupos y las organizaciones para la investigacioacuten han trabajado deforma local con sus propios recursos (computadores sensores bases de datos etc) y a me-nudo la heterogeneidad de los recursos asiacute como la ausencia en el uso de estaacutendares hadificultado tanto la colaboracioacuten con otros centros como la comparticioacuten de la informacioacutenEste modelo de trabajo queda obsoleto desde el momento en que se afrontan problemas inter-disciplinares interorganizativos y que demandan cantidades ingentes de recursos que ninguacutencentro puede asumir por siacute solo Un ejemplo de ello es el proyecto Large Hadron Collider

(LHC) que genera alrededor de 15 Petabytes de datos cada antildeo [99] los cuales deben ser al-macenados procesados y distribuidos Proyectos de tal envergadura que normalmente englo-ban a multitud de grupos hacen necesario modificar la forma de trabajar y buscar alternativasque permitan compartir recursos para adaptarse a las necesidades de los proyectos

La colaboracioacuten entre grupos interdisciplinares y dispersos geograacuteficamente es una piezaclave en este nuevo modelo de trabajo ya que deja obsoleto el concepto tradicional de orga-nizacioacuten y da paso a las llamadas Organizaciones Virtuales (VOs) donde diferentes grupos seunen durante un periacuteodo de tiempo determinado y comparten sus recursos para acometer unasactividades concretas La comparticioacuten de recursos en VOs debe entenderse en el sentido maacutesgeneral es decir acceso remoto a software Bases de Datos (DBs) sensores computadorasy cualquier otro tipo de medio tanto fiacutesico como loacutegico por lo que se hacen indispensablesmeacutetodos adaptados para su gestioacuten

Durante la deacutecada de los 90 aparece una nueva aproximacioacuten denominada computacioacutenGrid que nace con los objetivos de solucionar las demandas computacionales de la sociedad yde facilitar la adaptacioacuten a los nuevos conceptos organizativos La computacioacuten Grid suponeun nuevo paradigma de computacioacuten distribuida que permite agregar y compartir recursosheterogeacuteneos y geograacuteficamente distribuidos entre diferentes organizaciones

En uno de los primeros esfuerzos por concretar el teacutermino Grid Ian Foster y Carl Kessel-man [46] lo definen como

laquoUna infraestructura hardware y software que proporciona un acceso fiable consistente

generalizado y de bajo coste a capacidades computacionales de alta calidadraquo

4 Capiacutetulo 1 Introduccioacuten

Profundizando en la descripcioacuten tenemos que

ndash Por infraestructura Foster y Kesselman se refieren a un conjunto de recursos hetero-geacuteneos que incluye datos sensores ciclos de computacioacuten etc asiacute como al hardwarenecesario para la interconexioacuten de los recursos y el software utilizado para su monito-rizacioacuten y gestioacuten

ndash El acceso es considerado fiable si proporciona a los usuarios unos niveles de rendimien-to altos predecibles y estables

ndash Por acceso consistente se entiende que se proporcionan servicios a traveacutes de interfa-ces estaacutendar y utilizando paraacutemetros normalizados El uso de estaacutendares beneficia a lageneralizacioacuten del paradigma y al desarrollo de aplicaciones de usuario

ndash Se consideraraacute que el acceso es generalizado si el usuario cuenta con un nuacutecleo deservicios geneacutericos sea cual sea el sistema Grid al que se conecta

ndash El acceso a bajo coste es determinante para su aceptacioacuten ya que su uso deberaacute ser maacutesrentable que el de sus alternativas

A medida que la tecnologiacutea Grid fue evolucionando la definicioacuten anterior fue manifes-taacutendose insuficiente e incluso se dudoacute de la necesidad de este nuevo paradigma por elloFoster et aacutel [52] redefinen el concepto y lo asocian a un problema sin resolver

laquoEl problema real que subyace tras el concepto Grid es la coordinacioacuten de organizaciones

virtuales dinaacutemicas y multiinstitucionales en la resolucioacuten de problemas y la comparticioacuten de

recursosraquo

En la definicioacuten anterior se entiende por una VO un conjunto de personas yo institucionesque se agrupan a traveacutes de una poliacutetica de comparticioacuten de recursos Las VOs pueden variaren gran medida en cuanto a su propoacutesito aacutembito tamantildeo duracioacuten y localizacioacuten

Los autores justifican la necesidad de este nuevo paradigma por no existir hasta ese mo-mento una tecnologiacutea de computacioacuten distribuida que permitiese gestionar recursos compar-tidos basaacutendose en relaciones tan flexibles como las de las VOs con sofisticados controlesde acceso que incluyesen una gestioacuten desde el punto de vista maacutes especiacutefico al maacutes generalcon delegacioacuten de credenciales o que integrase el uso de poliacuteticas tanto locales como globalesy que ademaacutes ofreciera un alto rendimiento calidad de servicio planificacioacuten de las tareasmuacuteltiple asignacioacuten de recursos monitorizacioacuten y bajo coste

11 Computacioacuten Grid 5

La Figura 11 muestra un ejemplo de un sistema Grid y del uso de los recursos compartidospor parte de dos VOs En este ejemplo tres centros ponen a disposicioacuten de la comunidadparte de sus recursos pero gestionados por una poliacutetica de acceso que filtra por la VO a laque pertenecen los usuarios Cada centro estaacute etiquetado con los recursos que comparte y lapoliacutetica de seguridad que se les aplica

Centro B

Centro C

Centro AParticipantes en la VO-Ciclos pueden utilizar potencia computacional siempre y cuando no esteacute en uso por el centro propietario

Participantes en la VO-Aeronaacuteutica pueden acceder a la BD1 y BD2

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW1

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW2 y SW3

Figura 11 Ejemplo baacutesico de un sistema Grid formado por 3 centros que comparten parte de sus recursos con dosVOs (VO-Aeronaacuteutica y VO-Ciclos) Los participantes en la VO-Ciclos aprovechan la potenciacomputacional (ciclos) de los recursos compartidos por los centros lsquoArsquo y lsquoCrsquo Los participantes de laVO-Aeronaacuteutica pueden ejecutar aplicaciones que han sido compartidas por los centros lsquoArsquo y lsquoBrsquo yacceder a las DBs del centro lsquoBrsquo Elaboracioacuten propia a partir de [52]

A medida que las tecnologiacuteas Grid se fueron popularizando el teacutermino Grid se empezoacute aexplotar comercialmente diluyeacutendose su significado y utilizaacutendose como eslogan para captarnuevos clientes Las empresas incluyeron el teacutermino en muchos productos que difiacutecilmentepodiacutean encajar dentro de su definicioacuten En un intento de delimitar el concepto Ian Foster [49]publicoacute una lista con 3 puntos baacutesicos que recogen la esencia del concepto y que en una pu-blicacioacuten posterior junto con Carl Kesselman [8] agrupoacute para proponer una nueva definicioacuten

6 Capiacutetulo 1 Introduccioacuten

laquoUn Grid es un sistema que coordina recursos distribuidos a traveacutes de protocolos e inter-

faces abiertas estaacutendar y de propoacutesito general con el objetivo de proporcionar una calidad

de servicio no trivialraquo

Los elementos clave de la definicioacuten anterior y que formaban la lista de tres puntos baacutesicosse detallan a continuacioacuten

ndash Integracioacuten y gestioacuten de recursos heterogeacuteneos y distribuidos

ndash Uso de protocolos e interfaces estaacutendar abiertos y de propoacutesito general Un sistemaGrid gestiona un entorno formado por recursos heterogeacuteneos por lo que la implemen-tacioacuten de protocolos estaacutendar y libres permitiraacute que cualquier producto o aplicacioacutentanto open-source como comercial pueda interoperar con el resto de componentes delsistema

ndash Garantiacutea de calidad de servicio en cuanto a tiempo de respuesta disponibilidad seguri-dad muacuteltiple asignacioacuten de recursos etc

111 Aplicaciones Grid

En general la computacioacuten Grid se adapta a cualquier aplicacioacuten que por su complejidadno pueda ejecutarse de forma local y que potencialmente posea un alto grado de paraleli-zacioacuten Foster y Kesselman [46] identifican 5 tipos de aplicaciones que pueden obtener elmaacuteximo rendimiento de la computacioacuten Grid pero esperan la incorporacioacuten de otros tipos amedida que la computacioacuten Grid evolucione

ndash Computacioacuten distribuida aplicaciones con problemas de alta complejidad que utilizanla computacioacuten Grid para incorporar potentes recursos computacionales

ndash Computacioacuten de Altas Prestaciones (HTC) se trata de aplicaciones que presentan pro-blemas que requieren la ejecucioacuten de tareas secuenciales con baja interdependencia

ndash Computacioacuten bajo demanda se trata de aplicaciones que utilizariacutean las capacidades dela computacioacuten Grid para satisfacer necesidades puntuales de recursos Son aplicacio-nes dirigidas por una poliacutetica de costes y no de rendimiento

ndash Computacioacuten intensiva de datos este tipo de aplicaciones se centran en sintetizar nuevainformacioacuten a traveacutes del anaacutelisis de grandes cantidades de datos Los datos son divididos

12 Motivacioacuten 7

en segmentos que pueden ser procesados de forma independiente por los diferentesrecursos del sistema Posteriormente se deberaacuten unificar las salidas parciales en unresultado final

ndash Computacioacuten colaborativa aplicaciones centradas en permitir y mejorar las interaccio-nes entre los usuarios a menudo utilizando un espacio virtual comuacuten y compartiendorecursos computacionales

La computacioacuten Grid aporta una serie de beneficios claros para los centros de investiga-cioacuten que tambieacuten pueden trasladarse a la empresa privada [82] como por ejemplo

ndash Permite compartir recursos heterogeacuteneos a traveacutes de VOs (DBs ciclos de computacioacutensoftware etc)

ndash Provee un acceso transparente a recursos remotos

ndash Reduce el nuacutemero de servidores necesarios en las organizaciones

ndash Permite agregar recursos bajo demanda Ante una eventual emergencia su flexibilidadpermitiriacutea alquilar y agregar recursos externos por un tiempo limitado

ndash Optimiza el uso de recursos organizativos compartieacutendolos cuando esteacuten infrautiliza-dos

ndash Reduce el tiempo de ejecucioacuten de aplicaciones complejas

ndash Provee tolerancia a fallos

ndash Permite la virtualizacioacuten de centros de datos

ndash Permite balancear la carga entre los diferentes recursos

12 Motivacioacuten

Como se ha visto en los apartados anteriores el estudio de los oceacuteanos es de vital im-portancia y aglutina disciplinas con poca o ninguna relacioacuten En el pasado soacutelo los grandescentros de investigacioacuten podiacutean contar con equipos multidisciplinares y recursos locales sufi-cientes para afrontar cierto tipo de proyectos La computacioacuten Grid facilitoacute la colaboracioacuten yla comparticioacuten de recursos de altas prestaciones entre centros maacutes modestos

8 Capiacutetulo 1 Introduccioacuten

Desde el punto de vista de las tecnologiacuteas a menudo los usuarios finales son reacios a uti-lizar herramientas o sistemas software que a pesar de ser adecuados para su trabajo presentenuna interfaz de usuario complicada o simplemente diferente a lo que estaacuten acostumbrados

Los middleware Grid como por ejemplo Globus permiten desplegar sistema distribuidosGrid con relativa rapidez y facilidad pero muy limitados en cuanto a usabilidad y basados enuna Interfaz de Liacutenea de Comandos (CLI) poco intuitiva y amigable lo que puede llevar areducir su grado de aceptacioacuten

Seriacutea deseable disponer de un sistema Grid enfocado a la investigacioacuten oceanograacutefica quepermita compartir recursos y posibilite la colaboracioacuten entre diferentes grupos pero desarro-llado desde la sencillez y la usabilidad ya que debido a la heterogeneidad de los grupos losconocimientos tecnoloacutegicos no seraacuten los mismos entre todos los integrantes

13 Objetivos

El presente trabajo nace con el propoacutesito de cubrir las necesidades de la Red Espantildeolade Teledeteccioacuten Marina (RETEMAR) en materia de computacioacuten de altas prestaciones Es-ta Red auna investigadores y tecnoacutelogos de diferentes centros con el objetivo de maximizarrecursos y conocimientos y dirigirlos hacia la consecucioacuten de objetivos comunes en el marcodel desarrollo de proyectos de investigacioacuten El desarrollo de un laboratorio virtual asiacute co-mo de aplicaciones y herramientas enfocadas a la investigacioacuten oceanograacutefica es clave en labuacutesqueda de la cooperacioacuten entre los diferentes socios de RETEMAR

La Red permite afrontar proyectos de mayor envergadura de la que podriacutea abarcarse demanera independiente De entre los objetivos comunes cabe destacar el intereacutes mutuo en lalucha contra la contaminacioacuten marina que desgraciadamente afecta diariamente a las costasespantildeolas

Este trabajo presenta dos objetivos principales

ndash El desarrollo y despliegue de un laboratorio virtual a traveacutes de un entorno de compu-tacioacuten distribuida que permita a los investigadores colaborar y realizar proyectos deforma conjunta

ndash Desarrollar e integrar en el laboratorio un sistema de deteccioacuten de vertidos de hidrocar-buros en el mar a partir del anaacutelisis de imaacutegenes de sateacutelite

13 Objetivos 9

El laboratorio deberaacute permitir a los investigadores acceder a recursos y datos distribuidosasiacute como a la potencia computacional y espacio de almacenamiento necesarios para desarro-llar sus trabajos El acceso deberaacute ser amigable y concebido para que los cientiacuteficos puedancentrar sus esfuerzos en la investigacioacuten y no en el aprendizaje yo utilizacioacuten de las herra-mientas

Dado que los recursos seraacuten interorganizativos la seguridad deberaacute ser una de las bases dela plataforma pero sin ser un impedimento para el trabajo por lo que las poliacuteticas de seguridaddeberiacutean ser transparentes para los usuarios finales

Para validar el uso de la plataforma se desarrollaraacute un sistema de deteccioacuten de vertidosde hidrocarburos que permita monitorizar la costa a traveacutes de imaacutegenes de sateacutelite y de formasemiautomaacutetica identificar y georreferenciar los vertidos

131 Objetivos concretos

Se propone el desarrollo de un entorno colaborativo y distribuido que constituya un labo-ratorio virtual para el desarrollo de proyectos de investigacioacuten interdisciplinares relacionadoscon la teledeteccioacuten oceanograacutefica Para ello se deberaacuten alcanzar los siguientes subobjetivos

1 Despliegue de un sistema de computacioacuten Grid que permita compartir recursos hetero-geacuteneos y distribuidos

2 Desarrollo de una interfaz de usuario amigable como medio de acceso al Grid quepermita a los usuarios finales centrarse en sus trabajos y no en las herramientas

3 Implementacioacuten de un sistema de acceso y registro de usuarios basado en Public Key

Infrastructure (PKI) y Control de Acceso Basado en Roles (RBAC)

4 Despliegue de un sistema de almacenamiento distribuido gestionado por metadatos

5 Implementacioacuten de un sistema de enviacuteo y ejecucioacuten de trabajos optimizado para selec-cionar de forma dinaacutemica y transparente al usuario el mejor recurso Grid para ejecutarla tarea

6 Desarrollo de un sistema de monitorizacioacuten que permita visualizar el estado de cadatarea enviada al Grid

7 Integracioacuten de herramientas de visualizacioacuten que permitan al usuario acceder a las co-lecciones de datos almacenadas en el laboratorio

10 Capiacutetulo 1 Introduccioacuten

8 Despliegue e integracioacuten de herramientas y aplicaciones del aacutembito oceanograacutefico parala validacioacuten del laboratorio

Con el doble propoacutesito de validar el laboratorio y de desarrollar un sistema de apoyo ala lucha contra la contaminacioacuten marina se implementaraacute una aplicacioacuten para la deteccioacutende vertidos de hidrocarburos en la superficie oceaacutenica mediante el anaacutelisis de imaacutegenes desateacutelite Los subobjetivos planteados son los siguientes

1 Desarrollo de un algoritmo de segmentacioacuten basado en una umbralizacioacuten adaptativaque permita separar los posibles vertidos del resto de la imagen

2 Integracioacuten de datos meteoroloacutegicos en el algoritmo de segmentacioacuten

3 Anaacutelisis y desarrollo de un vector de caracteriacutesticas que permita representar a los can-didatos segmentados

4 Implementacioacuten de diferentes algoritmos de clasificacioacuten que a partir de los candidatossegmentados separen los falsos positivos de los vertidos

5 Optimizacioacuten del tiempo de ejecucioacuten de los algoritmos para ser utilizados en tiempocasi real

6 Seleccioacuten del clasificador que proporcione los mejores resultados e integracioacuten del sis-tema de deteccioacuten en el laboratorio virtual

14 Estructura de la memoria

Despueacutes del actual capiacutetulo introductorio en el que se describen los oriacutegenes motivacioacuteny objetivos del trabajo la presente memoria se divide en dos grandes bloques que responden alos objetivos principales de la tesis doctoral Cada uno de estos objetivos se corresponde conun proyecto de investigacioacuten financiado por un organismo diferente pero ambos con una metacomuacuten

La primera parte detalla el desarrollo de RETELAB laquoLaboratorio Virtual para la Red Na-cional de Teledeteccioacuten Oceanograacuteficaraquo RETELAB fue desarrollado gracias a la financiacioacutendel Ministerio de Educacioacuten y Ciencia (MEC) con la referencia ESP2006-13778-C04 entrelos antildeos 2007 y 2010 Siguiendo el espiacuteritu del propio proyecto el desarrollo de RETELABaunoacute el trabajo de varias organizaciones distribuidas y heterogeacuteneas

14 Estructura de la memoria 11

ndash La Universidad de Santiago de Compostela (USC) y el Centro de Supercomputacioacutende Galicia (CESGA) se centraron en la implementacioacuten del laboratorio Por un ladola USC aportoacute su experiencia en teletedeteccioacuten anaacutelisis de imaacutegenes y desarrollo deportales y por otro lado el CESGA aportoacute su amplia su experiencia en el desarrollo deentornos de Computacioacuten de Alto Rendimiento (HPC) y Computacioacuten de Altas Presta-ciones (HTC)

ndash Los usuarios tiacutepicos del laboratorio estaban representados por el Instituto Canario deCiencias del Mar (ICCM) y el Centro Tecnoloacutegico del Mar y los Alimentos del PaiacutesVasco (AZTI) La experiencia de los investigadores de estos centros fue vital para rea-lizar el anaacutelisis de requisitos asiacute como para desarrollar las aplicaciones del laboratorio

El Capiacutetulo 2 estaacute dedicado a la descripcioacuten de diferentes aspectos de la computacioacuten Gridla Seccioacuten 21 muestra las diferentes fases en la evolucioacuten de la tecnologiacutea mientras que laSeccioacuten 22 describe la arquitectura tiacutepica de un sistema Grid para finalmente ocuparse en laSeccioacuten 23 del desarrollo de portales Web como medio de acceso a los sistemas

El Capiacutetulo 3 se centra en la implementacioacuten del laboratorio virtual de RETELAB y pro-fundiza en los diferentes moacutedulos incluidos en su desarrollo

ndash La Seccioacuten 32 describe la implementacioacuten del moacutedulo de acceso y gestioacuten de usuariosy coacutemo la integracioacuten de diferentes tecnologiacuteas permitioacute desplegar un sistema de accesousable y seguro basado en un control de acceso RBAC

ndash La Seccioacuten 33 profundiza en el despliegue y desarrollo del sistema de almacenamientodistribuido utilizado en RETELAB La integracioacuten con la interfaz Web asiacute como elempleo de metainformacioacuten para describir las colecciones de datos son dos de lospuntos fundamentales

ndash La integracioacuten de diferentes herramientas para la visualizacioacuten de las colecciones dedatos presentes en RETELAB es descrita en la Seccioacuten 34

ndash La ejecucioacuten de tareas en RETELAB asiacute como su monitorizacioacuten se aborda en laSeccioacuten 35 A pesar de que no se profundiza en los detalles de la implementacioacuten yaque esta tarea fue desarrollada principalmente por el CESGA este apartado introducecoacutemo se ha integrado y mejorado el metaplanificador GridWay para su utilizacioacuten desdeel laboratorio GridWay facilita a los usuarios el enviacuteo de tareas a un Grid seleccionandoautomaacuteticamente el mejor recurso disponible para su ejecucioacuten

12 Capiacutetulo 1 Introduccioacuten

ndash Por uacuteltimo la Seccioacuten 36 muestra diferentes aplicaciones integradas para validar ellaboratorio virtual e introduce el sistema desarrollado para detectar vertidos de hidro-carburos denominado SENTINAZOS y que centra la siguiente parte de la memoria

La segunda parte de la tesis doctoral describe en detalle el proyecto SENTINAZOS laquoAnaacute-lise e interpretacioacuten de imaxes de sateacutelite a partires de teacutecnicas de intelixencia artificialaplicacioacuten a contaminantes no medio marintildeoraquo El proyecto con referencia PGIDIT08SIN-001236PR fue financiado por la Conselleriacutea de Innovacioacuten e Industria de la Xunta de Galiciaentre los antildeos 2008 y 2010 e implicoacute en su desarrollo a la Universidad de la Coruntildea (UDC) yla USC los equipos de ambas instituciones abordaron el problema desde dos puntos de vistadiferentes pero complementarios

ndash La UDC centroacute su esfuerzos en el desarrollo de algoritmos para la deteccioacuten grandescantidades de vertidos ocasionados por cataacutestrofes

ndash La USC se implicoacute en el desarrollo de un sistema de deteccioacuten de pequentildeos vertidos(sentinazos) ocasionados generalmente por tareas de mantenimiento y en la integra-cioacuten de dicho sistema en RETELAB

Despueacutes de introducir en el Capiacutetulo 4 el problema de la contaminacioacuten oceaacutenica y elestado del arte de los sistemas de deteccioacuten de vertidos el Capiacutetulo 5 se centra en el desarrollodel sistema implementado La descripcioacuten detallada del problema a resolver (Seccioacuten 51) ylas fuentes de datos empleadas (Seccioacuten 52) son la antesala para entrar en el detalle de lasdiferentes fases y algoritmos involucrados en el anaacutelisis e interpretacioacuten de las imaacutegenes Radarde Apertura Sinteacutetica (SAR)

ndash Las diferentes acciones de preprocesado necesarias para preparar los datos SAR parasu posterior anaacutelisis son descritas en la Seccioacuten 53

ndash La segmentacioacuten de la imagen relacionando las condiciones meteoroloacutegicas con laintensidad de la sentildeal del sateacutelite se detalla en la Seccioacuten 54 Durante esta fase losposibles vertidos o candidatos son identificados y aislados

ndash La Seccioacuten 55 describe el proceso por el que cada candidato es descrito empleando unconjunto de caracteriacutesticas

14 Estructura de la memoria 13

ndash Cada candidato a traveacutes de teacutecnicas de Inteligencia Artificial (AI) es clasificado comofalso positivo o vertido seguacuten sus descriptores La implementacioacuten uso y comparacioacutende los diferentes clasificadores empleados es detallada en la Seccioacuten 56

ndash La Seccioacuten 57 describe la aplicacioacuten de escritorio desarrollada para validar el sistemaasiacute como su integracioacuten en RETELAB a traveacutes de un portlet

La parte reservada al desarrollo de SENTINAZOS finaliza con un anaacutelisis detallado (Ca-piacutetulo 6) y la discusioacuten (Capiacutetulo 7) de los resultados obtenidos

Los capiacutetulos finales de la tesis doctoral se reservan para mostrar los resultados y conclu-siones del trabajo (Capiacutetulo 8) y para perfilar las liacuteneas de investigacioacuten abiertas por la tesisdoctoral y que seriacutea interesante desarrollar a corto y medio plazo (Capiacutetulo 9)

Parte I

Laboratorio Virtual de TeledeteccioacutenOceanograacutefica

CAPIacuteTULO 2

EVOLUCIOacuteN DE LA COMPUTACIOacuteN GRID

21 Estandarizacioacuten de las tecnologiacuteas Grid

La computacioacuten Grid (veacutease el Capiacutetulo 1) es un paradigma de computacioacuten distribuidaque surge como respuesta a dos necesidades por un lado la de disponer de entornos espe-cializados en la resolucioacuten de problemas complejos con altas demandas computacionales ypor otro la de gestionar VOs que permitan la colaboracioacuten entre grupos interdisciplinares ydispersos geograacuteficamente

El camino hacia su estandarizacioacuten y globalizacioacuten (veacutease la Figura 21) se inicia a prin-cipios de la deacutecada de los 90 a partir de implementaciones ad hoc que resolviacutean problemasconcretos Las aplicaciones resultantes aprovechaban la potencia computacional procedentede unir diferentes recursos distribuidos

En esta primera etapa la meta de los desarrolladores era hacer que funcionasen las apli-caciones y explorar nuevas posibilidades tecnoloacutegicas La implementacioacuten se realizaba direc-tamente sobre los protocolos de Internet sin seguir ninguacuten tipo de estaacutendar y en general lassoluciones estaban muy limitadas en cuanto a seguridad escalabilidad robustez o interopera-bilidad

I-WAY [44] es considerado el primer Grid moderno que abrioacute la puerta al desarrollo y estu-dio de la computacioacuten Grid en profundidad [22] [9] Se presentoacute en la conferencia ACMIEEESupercomputing del antildeo 1995 (SC95) a traveacutes de una demostracioacuten en la que se conectaron17 centros de supercomputacioacuten por medio de 11 redes de alta velocidad Se creoacute un super-ordenador virtual sobre el que se probaron alrededor de 60 aplicaciones diferentes I-WAYexploroacute varios aspectos que ahora se consideran esenciales en un Grid como la seguridad o

18 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

1990 1995 2000 2005

SolucionesAd-Hoc

Globus Toolkit

Open GridServices Arch

Fun

cion

alid

ad

y e

stan

dari

zaci

oacuten

Gestioacuten de sistemas virtuales compartidos

Estaacutendar de factoImplementacioacuten uacutenica

Estaacutendares de iureMuacuteltiples implementacionesEstaacutendares de internet

Web services etc

2010

Figura 21 Evolucioacuten de las tecnologiacuteas Grid Imagen adaptada de [50]

el enviacuteo y la gestioacuten de trabajos Su eacutexito demostroacute las posibilidades de la computacioacuten Gridy llevoacute a aumentar considerablemente los esfuerzos en el desarrollo de proyectos concebidospara compartir recursos de computacioacuten distribuidos

I-WAY puede considerarse el germen del proyecto Globus [45] que surge con el objetivode investigar y desarrollar tecnologiacuteas Grid fundamentales y marca el comienzo de la segundaetapa en la evolucioacuten hacia la estandarizacioacuten El proyecto liderado por Ian Foster (codesa-rrollador de I-WAY y fundador del concepto de computacioacuten Grid) tiene uno de sus pilaresen la implementacioacuten del Globus Toolkit (GT) [47] El GT es un conjunto de componentessoftware disentildeado para desplegar infraestructuras Grid y proporcionar servicios que gestionenaspectos tales como la seguridad el enviacuteo de trabajos o la administracioacuten de los recursos

El GT se situacutea en la capa de middleware es decir entre la capa de aplicaciones de usuarioy la de recursos Esta capa proporciona herramientas que permiten que los recursos participende forma coordinada en un entorno unificado y aseguren el acceso transparente a los usuarios

Ademaacutes del GT surgieron otros proyectos para el desarrollo de infraestructuras Grid comoLegion [57] o Uniform Interface to Computing Resources (UNICORE) [94] pero desde suprimera versioacuten en 1998 el GT se posicionoacute como el middleware dominante y en 2002 susegunda versioacuten (GT2) se establecioacute como el estaacutendar de facto en el desarrollo de aplicacionesGrid

21 Estandarizacioacuten de las tecnologiacuteas Grid 19

El GT2 fue pionero en el desarrollo de sistemas Grid interoperables [50] pero aunquealgunos de sus componentes fueron desarrollados formalmente en general la implementacioacutendel GT2 careciacutea de directrices y no fue sometida a una revisioacuten puacuteblica

A medida que la computacioacuten Grid se estableciacutea y se popularizaba (trascendiendo inclusoal aacutembito acadeacutemico) se hizo maacutes patente la necesidad de desarrollar estaacutendares que aporta-sen total interoperabilidad no soacutelo a nivel de aplicaciones Grid sino tambieacuten de componentesfundamentales del sistema y permitiesen la integracioacuten de muacuteltiples tecnologiacuteas en un sistemade recursos compartidos [73]

En el antildeo 2002 surge la Open Grid Service Architecture (OGSA) [51] la cual define unestaacutendar que incluye servicios baacutesicos de computacioacuten Grid como la seguridad gestioacuten derecursos administracioacuten de trabajos etc OGSA busca la convergencia entre la tecnologiacuteaGrid y los servicios Web por lo que define una arquitectura abierta basada en servicios paradesarrollar entornos Grid OGSA no aporta detalles para la implementacioacuten del estaacutendar y enconsecuencia surge una importante dificultad OGSA requeriacutea servicios Web con estado peroel estaacutendar de dichos servicios no lo proporcionaba

En 2003 surge la Open Grid Services Infrastructure (OGSI) la cual detalla una posible im-plementacioacuten de OGSA y presenta una versioacuten modificada de los servicios Web denominadaservicios Grid [68] Estos servicios proporcionaban entre otras cosas soporte para el estadogracias a una modificacioacuten del Web Services Description Language (WSDL) [30] llamadaGrid Web Service Definition Language (GWSDL) [115] La tercera versioacuten del GT surge en2004 y en su camino hacia la estandarizacioacuten basa su implementacioacuten en el estaacutendar definidopor OGSI

La comunidad Grid pronto consideroacute que OGSI era una aproximacioacuten poco convenien-te [102] sobre todo por usar una versioacuten modificada de los servicios Web en lugar de basarseen el estaacutendar Se continuoacute trabajando para encontrar una mejor solucioacuten para la implementa-cioacuten del estaacutendar OGSA en general y para la implementacioacuten de servicios Web con estadoen particular En 2004 se propuso la especificacioacuten Web Service Resource Framework (WSRF)con el objetivo de sustituir a OGSI y aportar una implementacioacuten de los servicios Web con es-tado aceptada tanto por la comunidad Grid como por la comunidad de servicios Web WSRFintegra OGSA con los servicios Web puros y es la base para la implementacioacuten de la cuartaversioacuten del Globus Toolkit (GT4) (versioacuten empleada en el desarrollo del laboratorio virtual deRETELAB)

20 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

El teacutermino de servicio Grid ha continuado utilizaacutendose pero a partir de la especificacioacutende WSRF se asocia a cualquier servicio que de acuerdo a la nueva especificacioacuten se ajuste alas convenciones de interfaz de una infraestructura Grid

Continuando con el proceso de estandarizacioacuten Foster y Kesselman [50] anticiparon enel antildeo 2003 una futura fase en la buacutesqueda de un sistema Grid global que denominaron ges-tioacuten de sistemas virtuales compartidos Partiendo de la especificacioacuten de OGSA en esta fasese preveiacutea un incremento del conjunto de servicios y sistemas estaacutendar orientados a la inter-operabilidad Este nuevo conjunto de estaacutendares estariacutea enfocado a la administracioacuten tanto dedispositivos moacuteviles como de grandes sistemas con muacuteltiples VOs y todo ello aumentando elgrado de virtualizacioacuten enriqueciendo los modos de comparticioacuten e incrementando la calidadde servicio

22 Arquitectura de un sistema Grid

La arquitectura de un sistema Grid desarrollado con GT (veacutease la Figura 22) se divideen capas y estaacute construida sobre los principios del modelo de reloj de arena (hourglass mo-

del) [50] en el que las capas intermedias situadas en el cuello del reloj contienen un conjuntode protocolos e interfaces que los desarrolladores de servicios y aplicaciones de maacutes alto nivel(capas superiores) utilizan y que les permiten abstraerse de los desarrollos y tecnologiacuteas delas capas inferiores que gestionan el uso de los recursos locales

ndash Capa de infraestructura (Fabric layer) proporciona las operaciones baacutesicas sobre losrecursos que seraacuten utilizadas como base para el desarrollo de operaciones de maacutes altonivel

ndash Capa de conectividad (Connectivity layer) define el nuacutecleo de los protocolos utilizadospara la comunicacioacuten y la autenticacioacuten requeridos en las transacciones

ndash Capa de recursos (Resource layer) contiene los protocolos necesarios para gestionar deforma remota el acceso e interaccioacuten con los recursos individuales

ndash Capa colectiva (Collective layer) contiene protocolos para la gestioacuten de recursos muacutel-tiples Utiliza los protocolos definidos en las capas inferiores para implementar susoperaciones

23 Interfaces Grid 21

Recursos locales computadoras redes

almacenamiento sensores etc

Acceso seguro a recursos y servicios

Gestioacuten de recursos muacuteltiples diagnoacutestico monitorizacioacuten

etc

Herramientas y aplicaciones de usuario

Capa de aplicaciones

Capa colectiva

Capa de recursos

Capa de conectividad

Capa de infraestructura

Figura 22 Arquitectura Grid basada en capas y construida sobre los principios del modelo de laquoreloj de arenaraquoFigura adaptada de [50]

ndash Capa de aplicaciones (Application layer) esta capa contiene las aplicaciones de usua-rio que se implementan de forma especiacutefica para dar respuesta a un problema dentrodel entorno de una organizacioacuten virtual Para su desarrollo se utilizan las interfacesdesarrolladas en las capas inferiores

23 Interfaces Grid

Existen dos tipos de usuarios relacionados con los sistemas Grid desarrolladores y usua-rios finales Es habitual que los usuarios no tengan grandes conocimientos tecnoloacutegicos y enparticular la formacioacuten en este aacutembito es muy escasa Eacutestos ven al sistema como un mediopara desarrollar su trabajo por lo que la usabilidad del entorno ha de ser primordial La CLIes la solucioacuten baacutesica para el acceso a un Grid pero es muy poco amigable y requiere de unestudio previo de los comandos y sus formas de uso por lo que habitualmente es rechazadapor los usuarios finales Es conveniente desarrollar entornos que faciliten el acceso y utiliza-cioacuten de los sistemas y en la medida de lo posible que abstraigan a los usuarios de los detallestecnoloacutegicos para que puedan centrarse en sus trabajos

Con el desarrollo de la Web 20 surge la tendencia de migrar aplicaciones y sistemas ala Web convirtiendo Internet en un entorno amigable y conocido para el usuario La compu-

22 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

tacioacuten Grid no fue ajena a este cambio y surgieron los llamados portales Grid que actuabancomo interfaces de acceso a los sistemas distribuidos El acceso Web suponiacutea una evolucioacutenen cuanto a la generalizacioacuten y popularizacioacuten de los sistemas Grid ya que permitiacutea accedera los usuarios en cualquier momento y desde cualquier lugar a traveacutes de una interfaz ergonoacute-mica y sin tener que instalar software especiacutefico Desde el punto de vista de su finalidad losportales Grid pueden dividirse en dos categoriacuteas

ndash Portales Grid especializados proveen de un subconjunto de operaciones Grid en elmarco de una aplicacioacuten especiacutefica

ndash Portales Grid de propoacutesito general proveen de un acceso baacutesico y sin propoacutesito concre-to a servicios y recursos de un Grid

Los desarrollos de portales Grid pueden dividirse en dos generaciones dependiendo desu implementacioacuten y tecnologiacuteas utilizadas [69] la primera generacioacuten estaacute caracterizada pordesarrollos fuertemente acoplados con el middleware (habitualmente GT2) mientras que lasegunda generacioacuten hace uso de tecnologiacuteas como por ejemplo los portlets que permitensoluciones maacutes configurables y dinaacutemicas

231 Portales Grid primera generacioacuten

Surgen a mediados de los antildeos 90 como una forma de hacer maacutes accesibles y usables lossistemas Grid Se realizaron grandes esfuerzos para implementar entornos de computacioacutenGrid que ofreciesen a traveacutes de la Web los mismos servicios que un sistema Grid claacutesico Estosdesarrollos previos a los estaacutendares (veacutease la Seccioacuten 21) son soluciones personalizadaspoco modulares y fuertemente acopladas con el middleware Esta primera generacioacuten aportoacutesoluciones pero sobre todo un valioso conocimiento de la problemaacutetica que permitioacute allanarel terreno para desarrollos posteriores A continuacioacuten se detallan algunas de las limitacionesmaacutes importantes [69]

ndash Los portales tienen poca o ninguna posibilidad de personalizacioacuten por parte del usuariofinal

ndash El alto acoplamiento entre los portales y el middleware Grid hace que sea muy compli-cado integrar servicios suministrados por otro middleware

23 Interfaces Grid 23

ndash En esta eacutepoca el desarrollo de la computacioacuten Grid era muy dinaacutemico La integracioacutende nuevas funcionalidades Grid no contempladas desde un primer momento era muycomplicada

Aunque no son los uacutenicos los ejemplos presentados a continuacioacuten son una muestra rele-vante de sistemas de primera generacioacuten Es importante destacar que se describen las primerasversiones importantes pero que eacutestos han continuado evolucionando y cambiando por lo quelas limitaciones mencionadas no tienen que estar presentes en las sucesivas versiones

UNICORE Uno de los primeros ejemplos importantes de portales Grid de propoacutesitogeneral fue UNICORE [94] No dependiacutea de ninguna implementacioacuten especiacutefica ni de servi-cios ni de un middleware Grid sino que se trataba de una solucioacuten completa para la gestioacuten yuso de una red de recursos heterogeacuteneos y distribuidos En los primeros prototipos el accesoa UNICORE se proporcionaba a traveacutes de un applet disponible a traveacutes de la Web Imple-mentaciones posteriores descartaron el uso del applet en beneficio de una aplicacioacuten Java deescritorio [38]

GridPort 20 Es un toolkit basado en scripts CGI de Perl para desarrollar y desplegarraacutepidamente portales Grid [107] Fue implementado pensando en potenciar la compatibilidada expensas de sacrificar rendimiento y flexibilidad y por ello se utilizaron tecnologiacuteas baacutesicasy se descartaron otras maacutes complejas y actuales como los applets (en el lado del cliente) oJava Server Pages (JSP) y servlets (en el lado del servidor) Se utiliza GT para acceder a losrecursos de alta computacioacuten y sus comandos son invocados a traveacutes de los scripts La interfazde usuario se construye a traveacutes de paacuteginas HTML que contienen llamadas a los scripts Tantoel uso de scripts y de HTML para modelar la interfaz como la encapsulacioacuten de los serviciosen los propios scripts facilita el despliegue pero complica el mantenimiento y personalizacioacutendel portal

Grid Portal Development Kit (GPDK) Es un toolkit que provee de una serie de compo-nentes reutilizables que permiten interactuar con los recursos de un sistema Grid y desarrollarportales y aplicaciones con interfaces personalizables [85] En la medida de lo posible GPDKfue desarrollado a traveacutes de software libre y abierto GT2 es el middleware utilizado para elacceso y gestioacuten del sistema distribuido mientras que el desarrollo del portal y las aplicacio-

24 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

nes se basan en JSP y servlets La interaccioacuten entre Java y GT2 se realiza a traveacutes de Java

Commodity Grid Kit (CoG) [113]

232 Portales Grid segunda generacioacuten

El inicio de la segunda generacioacuten de portales Grid viene marcado por la aparicioacuten de losportlets o componentes reutilizables para portales Web y por el desarrollo de los estaacutendaresGrid basados en servicios

Tecnologiacuteas empleadas

Portlets Como hemos visto en el apartado anterior los portales de primera generacioacutenestaban muy limitados en cuanto a personalizacioacuten y esto se solucionoacute en gran medida gra-cias a la aparicioacuten de los portlets Seguacuten la primera versioacuten de la especificacioacuten del estaacutendarde desarrollo de portlets de Java (JSR168) [10]

laquoUn portlet es un componente Web desarrollado en Java y gestionado por un contene-

dor de portlets que procesa peticiones y genera contenido dinaacutemico Los portales utilizan

portlets como componentes de la interfaz de usuario que se pueden activar o desactivar y que

proporcionan una capa de presentacioacuten a los sistemas de informacioacutenraquoEl usuario final ve al portlet como una ventana dentro de un portal que proporciona in-

formacioacuten o acceso a un servicio concreto como por ejemplo un calendario noticias o elacceso a un buzoacuten de correo [61] Un portlet genera un fragmento de coacutedigo HTML que esincrustado en una seccioacuten del portal La unioacuten de los fragmentos generados por los diferentesportlets forman la interfaz del portal Una caracteriacutestica importante de este tipo de portales esla posibilidad de personalizacioacuten que ofrecen al usuario final ya que el contenido generadopuede variar dependiendo de la configuracioacuten e incluso es posible administrar queacute portletsestaacuten activos y cuaacuteles no (veacutease la Figura 23) Es faacutecil imaginarse un portal como un puzzleque puede tomar cualquier forma (la elige el usuario final) y en el que se pueden intercambiarpiezas siendo cada pieza un portlet Lo interesante es que estas piezas pueden ser reutilizadaspara formar parte de nuevos portales pues lo uacutenico que se exige es que el portal de des-tino sea compatible con el Application Programming Interface (API) estaacutendar de desarrollode portlets Cada portlet funciona de forma independiente respecto al resto y tiene su propiociclo de vida que es gestionado por el contenedor de portlets

23 Interfaces Grid 25

Contenedor de portlets Podemos definir un contenedor de portlets como un entorno deejecucioacuten en donde los portlets pueden ser instanciados usados y finalmente destruidos Esresponsabilidad del contenedor la gestioacuten del ciclo de vida del portlet [69] Un contenedorde portlets no puede ser usado de forma independiente sino que se despliega dentro de uncontenedor de servlets y aprovecha sus funcionalidades

Noticias de la Red X-

Red Nacional de Teledeteccioacuten Oceanograacutefica

Gestioacuten de Credenciales X-

Activo

X-

X-

Modelo Produccioacuten Primaria

Roms

X-Sentinazos

Seleccionar portlet activo

Portlets con acceso restringido Usuario no autorizado

Portlets con acceso restringido Usuario autorizado

Figura 23 Ejemplo de un portal Web desarrollado a traveacutes de portlets

Portlets Grid

Un portlet Grid es un tipo especial de portlet que estaacute asociado a un servicio Grid pro-porcionado por un middleware Gracias a la estandarizacioacuten tanto de los portlets como de losservicios Grid un portlet puede ser reutilizado e interactuar con un servicio Grid sea cualsea el middleware que lo hace accesible por lo que se puede afirmar que los portales Griddesarrollados con portlets se encuentran deacutebilmente acoplados al middleware

Entornos para el desarrollo de portales Web basados en portlets

Los entornos disentildeados para desarrollar portales basados en portlets no son especiacuteficosde la computacioacuten Grid es decir son geneacutericos y pueden contener portlets de cualquier tipo(incluido portlets Grid) WebSphere y GridSphere son probablemente los entornos de mayorpopularidad

26 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

IBM WebSphere Portal Es una aplicacioacuten J2EE que se ejecuta sobre un servidor deaplicaciones con el mismo nombre y que permite desarrollar y administrar portales Web cen-trados en el acceso a aplicaciones contenidos y servicios a traveacutes de portlets [69] Es unaimplementacioacuten propietaria que actualmente se encuentra en su octava versioacuten Durante susprimeras versiones el desarrollo de portlets estaba basado en el API de IBM que aunquefundamentalmente era similar al API JSR168 sus pequentildeas diferencias [59] impediacutean la to-tal compatibilidad de los portlets El soporte para el API JSR168 fue incluido a partir de laversioacuten 502 y la versioacuten actual soporta tanto el API JSR168 como el API JSR286

Con el portal se distribuye un toolkit que permite su administracioacuten y personalizacioacuten asiacutecomo la creacioacuten prueba depuracioacuten y despliegue de portlets para un raacutepido desarrollo ElIBM WebSphere Portal tambieacuten provee de mecanismos para la personalizacioacuten de la vista delportal por el usuario final permitiendo seleccionar las aplicaciones y contenidos asiacute comoestablecer la forma en que son mostrados

GridSphere Es uno de los entornos de desarrollo de portales basados en portlets maacutesconocidos y utilizados [87] y concretamente fue el empleado para desplegar el laboratoriovirtual de RETELAB Se trata de un proyecto de coacutedigo libre desarrollado en el marco delproyecto GridLab que incluye un contenedor de portlets un conjunto baacutesico de portlets ylibreriacuteas de desarrollo

GridSphere es compatible con el API de WebSphere y con el API estaacutendar para portlets loque permite una raacutepida integracioacuten del software desarrollado por terceros Cuando el proyectofue iniciado la primera versioacuten del estaacutendar todaviacutea no se habiacutea publicado por lo que deentrada fue construido conforme al de IBM La compatibilidad con el estaacutendar fue antildeadidaen una versioacuten posterior

El conjunto baacutesico de portlets incluido en GridSphere facilita el desarrollo de nuevosportales y aporta funcionalidades baacutesicas como la administracioacuten de usuarios y grupos elacceso de los usuarios al portal la gestioacuten de las cuentas o la personalizacioacuten del portal

Entornos y herramientas para el desarrollo de portlets Grid

Para facilitar la implementacioacuten de portlets Grid y su despliegue en los portales surgieronproyectos especiacuteficos que proporcionaban tanto entornos de desarrollo como toolkits

23 Interfaces Grid 27

GridPortlets y Open Grid Computing Environments (OGCE) son dos de los entornos dedesarrollo maacutes populares y extendidos Ambos aportan herramientas baacutesicas que permiten alos desarrolladores interactuar con el middleware facilitando el desarrollo de portlets Grid

OGCE Es un proyecto de coacutedigo libre que proporciona un ecosistema en el que seintegran diferentes tecnologiacuteas y herramientas para la creacioacuten de portales Grid [12] [116]

Varias son las liacuteneas en las que OGCE ha centrado sus esfuerzos

ndash Establecer un entorno de desarrollo de portlets Grid desde la segunda versioacuten del OG-CE los portlets desarrollados cumplen con el estaacutendar y pueden ser reutilizados Parafacilitar su implementacioacuten OGCE proporciona una utilidad que permite la creacioacuten deportlets estaacutendar a traveacutes de la herramienta de desarrollo Web denominada Velocity [4]

ndash Abstraer a los desarrolladores de aplicaciones del sistema Grid utilizado OGCE noutiliza un uacutenico API para acceder a los diferentes servicios Grid sino que se basa enun conjunto procedente de varios proyectos como CoG o GridPort CoG se puede con-siderar el API principal y proporciona una capa de abstraccioacuten que independiza a losportlets del middleware utilizado

ndash Desarrollar servicios Grid avanzados la segunda versioacuten de OGCE integra y proporcio-na servicios para por ejemplo monitorizar los recursos locales utilizando el GridPort

Information Repository (GPIR) incorporar el repositorio semaacutentico de contenido Tu-pelo [5] o generar interfaces de servicio Web para las aplicaciones cientiacuteficas que sedesee integrar en el portal

ndash Desarrollar servicios para la colaboracioacuten de grupos OGCE desarrolloacute servicios y di-sentildeoacute interfaces portlet para integrar las herramientas colaborativas Sakai [3]

OGCE ha sido el entorno utilizado para el desarrollo de los portlets en RETELAB ademaacutestambieacuten se incorporaron al laboratorio varios portlets ya implementados por OGCE como elportlet para la administracioacuten de credenciales o el dedicado a la gestioacuten de ficheros remotos

GridPortlets Surge dentro del proyecto GridSphere con el objetivo de proporcionar alos desarrolladores un entorno para la implementacioacuten de portlets Grid [97] GridPortletsdistribuye una coleccioacuten de portlets baacutesicos que pueden ser utilizados individualmente o juntoa otras aplicaciones y que permiten desplegar un portal Grid baacutesico Este conjunto de portlets

28 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

estaacute implementado a traveacutes de componentes JSP reutilizables que pueden ser integrados ennuevas implementaciones

Al contrario de OGCE que utilizaba varias APIs GridPortlets proporciona una uacutenica APIde alto nivel pensada para acceder a los servicios Grid e interactuar con los recursos y asiacutedesarrollar portlets y aplicaciones Grid especiacuteficas

Los portlets desarrollados a traveacutes de GridPortlets no son completamente independientesde GridSphere y aunque teoacutericamente son compatibles con el API estaacutendar no se puedenintegrar faacutecilmente en otros contenedores de portlets [116] GridPortlets pensando en la usa-bilidad proporciona una sencilla pero potente interfaz para el enviacuteo de trabajos que abstrae alusuario de los detalles de bajo nivel y almacena un detallado historial de cada trabajo proce-sado para que pueda ser consultado a posteriori

233 Portales Grid casos de estudio

Durante la primera deacutecada del siglo XXI sobre todo en los primeros antildeos la incidencia delos sistemas Grid en la sociedad fue en aumento no soacutelo en el campo acadeacutemico sino tambieacutenen el empresarial La estandarizacioacuten de las tecnologiacuteas Grid y la mejora de las interfaces deusuario hicieron de esta tecnologiacutea una valiosa herramienta Fueron muchos los sistemas Griddesplegados y numerosos tambieacuten los portales Grid desarrollados para interactuar con lossistemas de una forma amigable Una gran mayoriacutea de estos portales estaban centrados enla visualizacioacuten de informacioacuten monitorizacioacuten de los recursos y sistemas y en la ejecucioacutende tareas simples no obstante algunos otros profundizaron en la tecnologiacutea y desarrollaronaplicaciones Web que facilitaban la realizacioacuten de tareas Grid complejas a los usuarios

GENIUS Grid Portal La Organizacioacuten Europea para la Investigacioacuten Nuclear (CERN)en general y el proyecto LHC en particular han ejercido una gran influencia en el desarrollode la tecnologiacutea Grid El portal Grid GENIUS [19] [15] implementado dentro del marco delproyecto europeo DataGrid fue desarrollado para proporcionar acceso a los datos del LHC ypermitir su utilizacioacuten en diferentes aplicaciones sobre un sistema Grid Estaba disentildeado paraproporcionar un acceso seguro a funcionalidades Grid como el enviacuteo y ejecucioacuten de trabajosla administracioacuten de datos o el acceso interactivo para el anaacutelisis de los datos generados

GENIUS fue un portal Grid pionero basado en una versioacuten extendida del GT Este mid-

dleware modificado extendioacute la interfaz de Globus facilitando la interaccioacuten entre las aplica-ciones software y el sistema Grid La primera versioacuten del portal se puede considerar dentro

23 Interfaces Grid 29

de la primera generacioacuten de portales Grid (veacutease la Seccioacuten 231) ya que su desarrollo estaacutefuertemente acoplado con el middleware utilizado

El portal permitiacutea el acceso remoto de usuarios pero manteniacutea la necesidad de tener unacuenta personal en el servidor del portal con la que se proporcionaba acceso al sistema deficheros local La autenticacioacuten y autorizacioacuten de los usuarios sobre los recursos Grid se rea-lizaba a traveacutes de la delegacioacuten de credenciales implementada con MyProxy (veacutease la Sec-cioacuten 32)

Earth System Grid (ESG) En general los proyectos relacionados con el estudio de laTierra poseen una serie de particularidades que dificultan su desarrollo a traveacutes de mediostradicionales

ndash Generan cantidades ingentes de informacioacuten bien sea a traveacutes de la observacioacuten directade fenoacutemenos o bien a traveacutes de la ejecucioacuten de modelos que los simulan

ndash Los algoritmos y modelos utilizados suelen requerir una gran potencia computacional

ndash Implican ciencias interdisciplinares en donde trabajan cientiacuteficos de diferentes ramasque deben colaborar para obtener el maacuteximo rendimiento de las investigaciones

La computacioacuten Grid se adapta especialmente bien a este tipo de proyectos y en concretoel proyecto ESG [23] es uno los maacutes relevantes Centrado en la investigacioacuten climaacutetica ESGproporciona un entorno colaborativo con el objetivo de almacenar distribuir y procesar lasenormes cantidades de datos utilizadas en el seno de sus proyectos

Ademaacutes de proporcionar la infraestructura necesaria para el almacenamiento de la infor-macioacuten climaacutetica gran parte de los esfuerzos del proyecto fueron destinados a desarrollarestaacutendares y servicios de metainformacioacuten orientados a administrar navegar buscar y com-partir los datos almacenados Un portal Grid facilita el acceso a los datos y los servicios debuacutesqueda y recuperacioacuten de informacioacuten

El acceso a los recursos Grid se basa en el sistema de delegacioacuten de credenciales de My-Proxy (veacutease la Seccioacuten 32) pero ESG desarrolloacute y empleoacute un novedoso sistema de registrode usuarios para la generacioacuten automaacutetica de credenciales El Portal-based User Registra-

tion Service (PURSe) [53] permite el registro de usuarios y la creacioacuten y administracioacuten desus Certificados Digitales (DCs) y respectivos proxies de forma automaacutetica Originalmentefue desarrollado dentro del proyecto pero posteriormente evolucionoacute como sistema indepen-diente e integrable en nuevos portales Grid

30 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

PURSe encaja perfectamente con la poliacutetica de facilidad de uso que dirige el proyectoRETELAB por lo que fue integrado como medio de registro de usuarios No obstante elmoacutedulo de registro fue modificado y mejorado para dar un soporte maacutes amplio que el propor-cionado por defecto y asiacute ajustarse a las necesidades del laboratorio virtual Los detalles deimplementacioacuten y de integracioacuten se muestran en detalle en la Seccioacuten 32

P-Grade P-Grade es un portal Grid basado en GridSphere concebido para soportarformas complejas de ejecucioacuten de trabajos dirigidas por flujos de tareas (workflows) P-Gradeestaacute disentildeado para trabajar con Globus como middleware lo que le permite integrarse concualquier sistema Grid que lo utilice y aportarle la capacidad avanzada de administracioacuten deflujos de tareas Proporciona a los usuarios un editor de flujos que permite disentildear localmentelas tareas y subirlas al servidor Empleando Java Web Start (JavaWS) los usuarios puedendescargar el editor desde el portal y eacuteste se instala automaacuteticamente y de forma transparenteen la estacioacuten de trabajo del usuario Dentro de un mismo flujo de tareas P-Grade soportala asignacioacuten de trabajos a recursos que pertenezcan a diferentes Grids e incluso la creacioacutende flujos colaborativos entre varios investigadores Es tarea del usuario la asignacioacuten de losrecursos en concreto en donde se vaya a ejecutar una parte del flujo por lo que el usuario debeconocer la estructura del sistema

CAPIacuteTULO 3

PROYECTO RETELAB

31 Descripcioacuten del proyecto

RETELAB es un laboratorio virtual desplegado sobre un sistema distribuido que propor-ciona un entorno de trabajo colaborativo enfocado al desarrollo de proyectos de teledeteccioacutenoceanograacutefica [78] [33] Nace en el seno de la red RETEMAR con el objetivo proporcionarun entorno para llevar a cabo proyectos de altas prestaciones entre sus integrantes

Seguacuten las especificaciones iniciales los requerimientos que debiacutea cubrir el laboratoriovirtual eran

ndash Gestioacuten de recursos compartidos el laboratorio virtual debiacutea poseer la capacidad deintegrar y administrar recursos distribuidos pertenecientes a los diferentes centros de laRed

ndash Soporte para el almacenamiento administracioacuten e intercambio de datos distribuidos elalmacenamiento local tiene grandes limitaciones a la hora de administrar las ingentescantidades de datos capturados a traveacutes de la teledeteccioacuten por lo que RETELAB de-biacutea disponer de un sistema de datos distribuidos que permitiese almacenar procesar ycompartir la informacioacuten

ndash Potencia computacional en general las aplicaciones cientiacuteficas oceanograacuteficas (mode-los climaacuteticos deteccioacuten de contaminantes etc) demandan una gran cantidad de recur-sos computacionales El sistema proporcionariacutea la potencia necesaria para su ejecucioacuten

32 Capiacutetulo 3 Proyecto RETELAB

ndash Seguridad dado que el laboratorio proporcionariacutea acceso a recursos compartidos laseguridad debiacutea ser uno de los pilares en el disentildeo e implementacioacuten de RETELAB

ndash Interfaz amigable es necesario que la interfaz de acceso al sistema sea intuitiva y faacutecilde utilizar para que los usuarios puedan centrarse en sus trabajos sin tener que dedicaresfuerzos al aprendizaje de nuevas herramientas

ndash Visualizacioacuten el laboratorio virtual debiacutea proporcionar las herramientas necesarias paravisualizar tanto los resultados de los trabajos como los datos almacenados

Las especificaciones del sistema junto con las caracteriacutesticas tiacutepicas de las aplicacionesque se desea ejecutar hacen de la computacioacuten Grid la tecnologiacutea maacutes adecuada para el desa-rrollo del laboratorio virtual y el acceso a traveacutes de un portal Grid la opcioacuten maacutes simple yamigable para el usuario final

311 Arquitectura general del sistema

El disentildeo de RETELAB se corresponde con una arquitectura cliente-servidor multicapa(veacutease la Figura 31) en la que una aplicacioacuten cliente tiacutepicamente un navegador Web realizapeticiones a un servidor que las procesa y devuelve un resultado A continuacioacuten se describenbrevemente las principales capas del sistema

ndash Capa de aplicaciones en esta capa se situacutea el servidor Web (Tomcat + Apache) en el queestaacute desplegado el portal Grid a traveacutes del cual se accede al sistema El portal basadoen el contenedor de portlets GridSphere contiene diferentes portlets que encapsulan ygestionan tareas sobre los recursos de alta computacioacuten

ndash Capa de middleware en esta capa estaacute desplegada la cuarta versioacuten del Globus Tool-

kit que contiene la tecnologiacutea y herramientas necesarias para gestionar un Grid GT4proporciona una coleccioacuten de servicios que permiten a las aplicaciones (capa superior)operar sobre los recursos de alta computacioacuten (capa inferior)

ndash Capa de recursos en esta capa se situacutean los recursos del sistema Se trata de recursosdistribuidos y heterogeacuteneos que pertenecen a diferentes centros

31 Descripcioacuten del proyecto 33

Figura 31 Arquitectura general del sistema RETELAB

Recursos del sistema

El sistema Grid de RETELAB permite incluir recursos de cualquier centro participante enel proyecto pero en el despliegue inicial soacutelo se ponen a disposicioacuten de la comunidad recursosde la USC y del CESGA

La USC colaboroacute con un cluster compuesto por 11 nodos 10 AMD Opteron 2212 y 1INTEL Xeon 5130 cada uno de los cuales presenta las siguientes caracteriacutesticas arquitecturax86_64 2 procesadores dual core frecuencia de 2GHz 4GB RAM e interconexioacuten Giga-Ethernet

El CESGA aportoacute un cluster compuesto de 4 nodos HP Proliant de las siguientes carac-teriacutesticas arquitectura x86_64 2 procesadores Intel Xeon Quadcore X5355 (8 coresequipo)frecuencia de 266GHz 8 GB de RAM 4 x 2MB cacheacute (L2) e interconexioacuten GigaEthernet

Los recursos proporcionados por el CESGA se aprovecharon al maacuteximo gracias a la pla-taforma de virtualizacioacuten Xen [6] Tal y como se muestra en la Figura 32 uno de los nodosdel cluster fue virtualizado para alojar a 3 recursos virtuales diferentes

ndash RETELAB UI aloja la interfaz de acceso al laboratorio virtual es decir el portal Grid

34 Capiacutetulo 3 Proyecto RETELAB

ndash CESGA CE gestiona los trabajos que le llegan al cluster actuando como nodo principalo laquocabezaraquo

ndash Nodo de trabajo se ha virtualizado un nodo de trabajo que si bien no tiene la potenciacomputacional del resto de los nodos es aprovechado y utilizado como parte del cluster

Fedora Core 6 + XENScientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Hardware

Xenreg Hypervisor

CEUI Nodo Trabajo

Scientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Cluster CESGA

Figura 32 Recursos aportados por el CESGA

32 Registro y acceso de los usuarios

El objetivo de esta seccioacuten es mostrar el moacutedulo para el registro y acceso de los usuarios deRETELAB al sistema pero para una mejor comprensioacuten es necesario introducir brevementealgunos conceptos sobre la infraestructura de seguridad del GT

32 Registro y acceso de los usuarios 35

Security Grid Infrastructure (GSI)

La GSI es un conjunto de herramientas libreriacuteas y protocolos usados por el GT paragestionar el acceso de los usuarios y aplicaciones a los recursos de altas prestaciones [70]Los pilares fundamentales del GSI son la PKI y los Certificados Digitales (DCs) X509

Cada participante de un sistema Grid dispone de un DC X509 que lo identifica y queprincipalmente estaacute compuesto por

ndash Un nombre que identifica a la persona o recurso al que representa el DC

ndash La clave puacuteblica del propietario del DC

ndash El nombre de la Autoridad Certificadora (CA) que ha firmado el DC y que garantiza laidentidad del propietario Es esencial que todos los participantes de un Grid confiacuteen ytengan acceso a las claves puacuteblicas de las CAs utilizadas para firmar los DCs

ndash La firma digital de la CA que valida el DC

Es importante diferenciar dos teacuterminos en el aacutembito de la seguridad Grid

ndash Autenticar proceso de identificar uniacutevocamente a un usuario o a un recurso

ndash Autorizar proceso que identifica las acciones que puede realizar un usuario sobre unrecurso concreto

Autenticacioacuten El proceso de autenticacioacuten de participantes en un sistema Grid es mu-tuo es decir para establecer una comunicacioacuten entre dos participantes es necesario que cadauno de ellos se identifique ante el otro a traveacutes del siguiente meacutetodo

1 La entidad lsquoArsquo establece una conexioacuten con la entidad lsquoBrsquo y le enviacutea su DC

2 La entidad lsquoBrsquo comprueba la autenticidad del DC utilizando la clave puacuteblica de la CAcon la firma del certificado

3 Una vez validado el certificado lsquoBrsquo trata de confirmar que la entidad que envioacute el DC esrealmente su propietaria y para ello enviacutea un mensaje aleatorio para que lsquoArsquo lo codifiqueutilizando su clave privada

4 La entidad lsquoArsquo utiliza su clave privada para codificar el mensaje y eacuteste es devuelto a lsquoBrsquo

36 Capiacutetulo 3 Proyecto RETELAB

5 lsquoBrsquo utiliza la clave puacuteblica de lsquoArsquo contenida en el DC para descodificar el mensaje ycomprobar que es el mismo que el original

6 Una vez que lsquoArsquo es autenticada lsquoBrsquo iniciariacutea nuevamente el proceso enviando su DC alsquoArsquo

Cuando un usuario desarrolla una tarea en un Grid eacutesta puede requerir varios recursoso puede que durante su procesamiento necesite solicitar servicios en nombre del usuarioSeguacuten el meacutetodo de autenticacioacuten mostrado cada vez que el usuario necesite un recurso orequiera un servicio deberiacutea autenticarse El uso de la clave privada exige la atencioacuten delusuario ya que se almacena cifrada y es necesario que el usuario introduzca su contrasentildeacada vez que sea necesaria su autenticacioacuten Esto puede resultar tedioso en tareas complejassobre todo si se dilatan en el tiempo Para solucionarlo GSI introduce el concepto de dele-gacioacuten Este mecanismo permite al usuario asignar un proxy a la tarea deseada y evita tenerque presentar su DC cada vez que la tarea realiza una operacioacuten en su nombre Los proxies

son credenciales con un tiempo de vida muy reducido generadas por los usuarios a partir susDCs La identidad de los proxies es la misma que la de los DCs salvo una pequentildea modifi-cacioacuten que indica su naturaleza La creacioacuten de un proxy implica la generacioacuten tanto de unaclave puacuteblica como de una privada que se almacenan sin cifrar y a las que se puede accedersin contrasentildea evitando la accioacuten del usuario

Autorizacioacuten Por defecto GSI proporciona unos sistemas de autorizacioacuten muy baacutesicosde entre los que cabe destacar el sistema gestionado por el GridMap Cada recurso poseeun fichero denominado GridMap que contiene una lista que relaciona nombres de usuario(identificadores presentes en los DCs) con cuentas de usuario locales Si el usuario tiene unacuenta local entonces puede utilizar dicho recurso Es conveniente disponer de sistemas queayuden a la creacioacuten y gestioacuten de dichas listas y de las cuentas correspondientes

La ventaja es que GSI tambieacuten proporciona mecanismos para el desarrollo e integracioacutende sistemas de autorizacioacuten propios y esto seraacute aprovechado para gestionar la autorizacioacuten delos usuarios de RETELAB

MyProxy

MyProxy [86] es un repositorio on-line de certificados cuya finalidad es proporcionarproxies temporales bajo demanda para que puedan ser utilizados en cualquier momento y

32 Registro y acceso de los usuarios 37

desde cualquier lugar MyProxy puede ser utilizado para delegar credenciales a servicios queactuacuteen en lugar del usuario y es el meacutetodo maacutes habitual para delegar y usar credenciales enlos portales Grid MyProxy puede ser utilizado de dos modos diferentes

ndash Repositorio de credenciales de usuario MyProxy actuacutea como almaceacuten de los DCs y delas claves privadas de los usuarios Abstrae al usuario del uso y almacenamiento de loscertificados y permite generar proxies temporales bajo demanda Este uso implica queel usuario delega la seguridad de sus DCs en el servidor

ndash Repositorio de proxies MyProxy almacena los proxies generados por los usuarios atraveacutes de sus DCs y genera nuevos representantes con una vida maacutes corta que los origi-nales Es necesario que los usuarios generen y alojen nuevos proxies cada vez que losalmacenados caduquen

321 Autenticacioacuten y autorizacioacuten

Uno de los requisitos fundamentales para la construccioacuten del laboratorio virtual (veacutease laSeccioacuten 31) era el desarrollo de una interfaz de usuario sencilla y amigable que no demandasegrandes conocimientos tecnoloacutegicos La sencillez de un sistema debe empezar desde el regis-tro y acceso de los usuarios pero a menudo esto entra en conflicto con los requerimientos deseguridad por lo que fue necesario encontrar una solucioacuten equilibrada

La seguridad en RETELAB estaacute basada en el modulo GSI del GT4 lo que condiciona elacceso al sistema y supone que los usuarios deban disponer de un DC El proceso para obtenery emplear un DC es cuanto menos tedioso para el usuario y puede producir rechazo al usodel sistema por lo que es necesario adaptarlo para que sea maacutes coacutemodo Por otro lado esimportante que el sistema de autorizacioacuten sea sencillo de administrar pero lo suficientementepotente para responder a las siguientes preguntas

ndash iquestQuieacuten puede acceder

ndash iquestQueacute recursos puede utilizar

ndash iquestQueacute tareas puede realizar sobre un recurso concreto

Un RBAC [91] parece ser la mejor alternativa En RBAC los permisos se encuentran asociadosa roles y los usuarios son poseedores de uno o maacutes roles por lo que adquieren los permisosasociados a eacutestos Los roles permiten reflejar con mayor veracidad la estructura de una VO y el

38 Capiacutetulo 3 Proyecto RETELAB

puesto o tareas desempentildeadas por un investigador concreto dentro de ella La administracioacutendel control de acceso es considerablemente maacutes sencilla que si se gestiona la seguridad a nivelde usuario

Registro y Acceso

El registro y acceso de los usuarios de RETELAB se ha implementado integrando ymejorando diferentes sistemas para conseguir una solucioacuten amigable sin sacrificar la seguri-dad [76] [77] La Figura 33 muestra un diagrama en donde se aprecian los diferentes sistemasintegrados

Figura 33 Arquitectura del sistema de registro y acceso de usuarios de RETELAB

El acceso al portal puede contemplarse desde tres escenarios diferentes (veacutease la Figu-ra 34) acceso de un usuario no registrado acceso de un usuario registrado y acceso de unusuario perteneciente a una red de centros de confianza

Usuario no registrado

El registro de un nuevo usuario se realiza a traveacutes de un portlet de registro basado enel sistema PURSe [53] [2] Este sistema permite registrar a un usuario y solicitarle un DCde forma automaacutetica en el mismo momento en que enviacutea sus datos Por cada registro el

32 Registro y acceso de los usuarios 39

Usuario

Shibboleth

Recuperar

Certificados

Registro Usuario

PURSe

Usuario

Registrado

Acceder al Portal

AutenticarIdentificar

Usuario

No

No

Siacute

No

Rol

Identificar desde

Shibboleth

Auntenticar Centro Origen

Redirigir Datos Usuario

Crear Cuenta

Temporal

Rol

Generar

Certificados

Siacute

Acceso Concedido

Siacute

Figura 34 Esquema simplificado del registro y acceso de usuarios al sistema

administrador del portal recibe un aviso para que valide los datos del nuevo usuario y sies oportuno se genera el DC a traveacutes de una CA propia del sistema Los certificados y lasclaves privadas son almacenados en MyProxy e identificados con el nombre y contrasentildeaproporcionados por el usuario al registrarse

Para integrar el RBAC fue necesario implementar una mejora sobre PURSe para quepudiese dar soporte a los roles de usuario Gracias a esta mejora el administrador puedeasignar roles a los usuarios que gestionan sus accesos tanto al portal como a los recursosdel sistema La mejora realizada permite crear automaacuteticamente Certificados de Atributos(ACs) X509 con informacioacuten sobre los roles de los usuarios y almacenarlos en un aacuterbol dedirectorios Lightweight Directory Access Protocol (LDAP) para su posterior uso en la gestioacutendel acceso

Detalles de implementacioacuten La implantacioacuten de un sistema RBAC en RETELAB serealizoacute intentando que tuviese el menor impacto posible sobre el resto de los subsistemas

40 Capiacutetulo 3 Proyecto RETELAB

integrados con el objetivo de que fuese reutilizable y sencillo de instalar En el proceso seintentoacute aprovechar al maacuteximo el coacutedigo libre desarrollado por los proyectos integrados (PUR-Se PERMIS GridSphere etc) e implementar nuevas clases que sirviesen de nexo entre lasdiferentes tecnologiacuteas

Para integrar los roles con el sistema de registro PURSe fue necesario implementar variasclases Java (veacutease la Figura 35) que se encapsularon como un ARchivo Java (JAR) generarun archivo de propiedades con los datos de acceso al LDAP y antildeadir un nuevo moacutedulo deregistro en el fichero webxml de PURSe El diagrama mostrado en la Figura 35 contiene lasclases implicadas en la asignacioacuten de roles El moacutedulo de registro es el nexo con el paquetePURSe y el encargado de laquoescucharraquo los eventos y realizar las acciones consecuentes PURSeproporciona un moacutedulo de registro para integrarse con GridSphere que da de alta a los usua-rios en el portal pero ademaacutes permite antildeadir nuevos moacutedulos siempre y cuando implementenla interfaz RegistrationModule El moacutedulo RetelabRegistrationModule fue desarrollado espe-ciacuteficamente para dar soporte a los ACs Cuando un nuevo usuario es dado de alta a traveacutesde PURSe el evento es capturado y gestionado por la clase RetelabRegistrationModule Loseventos de PURSe se reciben como objetos que contienen tanto la informacioacuten de la accioacutencomo los datos del usuario Utilizando la informacioacuten personal y la traveacutes de la clase Certi-

ficateGenerator se genera un AC que es firmado por la clase RetelabSigningUtility Una vezse ha generado un AC la clase LdapConnector es utilizada para almacenarlo en el directorioLDAP Las clases dedicadas tanto a la generacioacuten como a la firma de los ACs fueron im-plementadas basaacutendose en clases de PERMIS que es el software empleado para gestionar elacceso de los usuarios registrados a los recursos a traveacutes de roles

---

----

Figura 35 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles

La solucioacuten desarrollada utiliza DCs generados por PURSe y ACs creados a traveacutes de cla-ses basadas en procedimientos empleados por PERMIS Es interesante destacar un problema

32 Registro y acceso de los usuarios 41

surgido de la integracioacuten de los dos tipos de certificados para la creacioacuten de los DCs se utili-zoacute el proveedor de Extensioacuten Criptograacutefica de Java (JCE) denominado Cryptix mientras quepara los ACs se utilizoacute el JCE IAIK Para utilizar un proveedor JCE es necesario registrarloy concretamente un error en la implementacioacuten de Cryptix impediacutea su uso en caso de quealguacuten otro proveedor fuese registrado con posterioridad Al utilizar varios JCEs se generabanerrores frecuentemente por lo que fue necesario insertar un procedimiento previo a su utiliza-cioacuten para comprobar el orden de registro y modificarlo en caso de que fuese necesario (veacuteaseel Coacutedigo A1)

Una de las ventajas de usar GridSphere como base para el desarrollo del portal fue quedisponiacutea de una serie de portlets ya desarrollados para crear portales Web baacutesicos Del nuacutecleode portlets de GridSphere cabe destacar el portlet de administracioacuten que entre otras cosaspermite crear y asignar roles a los usuarios del portal GridSphere en base a dichos rolesgestiona el uso y acceso de los usuarios a los portlets

Dado que la gestioacuten del sistema Grid tambieacuten estaacute basada en roles y con el objetivo dedesarrollar un sistema de administracioacuten sencillo y usable se implementoacute una mejora sobreel sistema de administracioacuten de GridSphere para dar soporte a los ACs De este modo unadministrador puede gestionar los roles tanto del portal como del sistema Grid desde un puntouacutenico ya que en el momento en que un rol es asignado el AC correspondiente es creado yalmacenado automaacuteticamente en el directorio LDAP

Para dar soporte a los ACs fue necesario modificar la clase de GridSphere UserManager-

Portlet El fragmento de Coacutedigo A2 muestra los cambios realizados en el meacutetodo que antildeadeusuarios a GridSphere

Usuario registrado

Los usuarios con cuenta en RETELAB pueden acceder al portal autenticaacutendose en unportlet dedicado a tal fin Una vez que el usuario es identificado el sistema utiliza su nom-bre y contrasentildea para recuperar sus credenciales almacenadas Las acciones que el usuariopuede realizar sobre el sistema estaacuten guiadas por su rol y una poliacutetica de autorizacioacuten basa-da en un modelo RBAC PERMIS [28] [27] es el sistema de autorizacioacuten basado en rolesutilizado para gestionar el acceso de los usuarios a los servicios Grid Su integracioacuten con elGT4 se realiza gracias a que eacuteste permite configurar para cada servicio Grid una secuenciade mecanismos de autorizacioacuten denominados Policy Decision Point (PDP) PERMIS puededesplegarse como un PDP para antildeadir un control basado en roles al sistema Para gestionar

42 Capiacutetulo 3 Proyecto RETELAB

la autorizacioacuten de la ejecucioacuten de tareas en un recurso especiacutefico de acuerdo a un rol esnecesario modificar la poliacutetica de autorizacioacuten del meacutetodo createManagedJob en el ficheromanaged-job-factory-security-configxml y antildeadir el PDP de PERMIS como se muestra en elfragmento de Coacutedigo A3

El control de acceso de un usuario a un servicio o recurso Grid se realiza desde 3 puntoscomo puede verse en la Figura 36

1 Se comprueba si el usuario posee un rol suficiente para acceder a un determinadoportlet

2 Se comprueba que el usuario tenga un DC activo en el portal

3 Si el usuario invoca un servicio Grid PERMIS comprueba su rol y dependiendo de lapoliacutetica de seguridad del recurso solicitado se permite o no su uso

Figura 36 Esquema del control de acceso basado en roles de RETELAB

32 Registro y acceso de los usuarios 43

Acceso confiable

Actualmente y debido a la gran proliferacioacuten de sistemas a traveacutes de Internet cada personagestiona multitud de cuentas y registros lo que supone recordar una gran cantidad de nombresy contrasentildeas En muchos casos se acaba sacrificando la seguridad anotando las contrasentildeaso utilizando siempre los mismos datos para facilitar la tarea

Shibboleth [83] es un software que proporciona un sistema de autenticacioacuten Single-Sign

On (SSO) a traveacutes de la Web Esto significa que permite acceder a varios sistemas indepen-dientes a traveacutes de una uacutenica identificacioacuten Shibboleth se basa en una red confiable de sociosen los que cada uno tiene su propio sistema de autenticacioacuten A grandes rasgos su funciona-miento es el siguiente cuando un usuario perteneciente a uno de los centros de la red quiereacceder a un sistema de otro centro eacuteste uacuteltimo lo redirige al sistema de autenticacioacuten delcentro de origen Una vez que el usuario es autenticado el centro de origen manda los da-tos personales al centro de destino que permite o deniega el acceso en base a la informacioacutenrecibida

La integracioacuten de Shibboleth con RETELAB tiene como punto de partida la solucioacutendisentildeada por el grupo Meta Access Management System (MAMS) para su utilizacioacuten junto aGridSphere En RETELAB se ha partido de la versioacuten de MAMS y se ha desarrollado unamejora para registrar y generar automaacuteticamente los DCs y ACs de los usuarios que accedan atraveacutes de esta opcioacuten Los datos para generar los certificados deberaacuten ser enviados por el centroque lo autentica La secuencia de pasos para acceder a RETELAB a traveacutes de Shibboleth esla siguiente

1 El usuario accede a RETELAB a traveacutes del portlet de acceso de Shibboleth

2 El sistema muestra al usuario una lista con los centros asociados para que seleccione acuaacutel pertenece

3 El sistema redirige al usuario al sistema de autenticacioacuten correspondiente

4 Una vez que el sistema externo autentica al usuario eacuteste es redirigido nuevamente alportal de RETELAB junto con sus datos personales (nombre rol etc)

5 RETELAB utiliza la informacioacuten recibida para generar las credenciales del usuarionecesarias incluyendo el AC para utilizar el sistema

44 Capiacutetulo 3 Proyecto RETELAB

Para la integracioacuten de los DCs y ACs en el procedimiento de SSO se actuoacute principal-mente en la clase GridSphereServlet Esta clase fue previamente modificada en el proyectoMAMS para crear usuarios Shibboleth en el portal GridSphere y en el caso de RETELABse incorporaron los meacutetodos necesarios para la gestioacuten de los DCs y ACs El coacutedigo para lacreacioacuten y almacenamiento del los DCs asociados a los usuarios de Shibboleth se muestra enel Coacutedigo A4 mientras que el procedimiento para la creacioacuten de los ACs se presenta en elCoacutedigo A5

La inclusioacuten de Shibboleth en el sistema de RETELAB permite que los socios del proyectoque deseen integrarse en una Red de confianza puedan autenticarse a traveacutes de sus sistemasinternos sin necesidad de registrarse en el portal

33 Sistema de almacenamiento distribuido

El sistema de almacenamiento de RETELAB [75] [80] fue disentildeado para gestionar gran-des colecciones de datos provenientes de la teledeteccioacuten y de los propios proyectos ocea-nograacuteficos En RETELAB el concepto de dato debe entenderse como un fichero binario querepresenta un producto obtenido a traveacutes de un sensor o generado a traveacutes de un proceso deanaacutelisis de datos previos Este tipo de productos requiere un considerable espacio en disco porlo que su almacenamiento masivo es una tarea complicada que no puede ser resuelta utilizan-do DBs tradicionales La computacioacuten Grid puede afrontar este reto a traveacutes de un Data Grides decir un sistema de almacenamiento distribuido entre los diferentes recursos del Grid RE-TELAB no pretende ser soacutelo una herramienta para el almacenamiento y procesamiento sinoque busca ser un medio para compartir conocimiento entre la comunidad oceanograacutefica porello debe proporcionar procedimientos a los usuarios que de forma sencilla permitan pu-blicar y compartir los resultados de sus investigaciones Estos procedimientos deberiacutean estarbasados en el uso de metadatos para describir los productos almacenados y asiacute facilitar losprocesos de localizacioacuten y distribucioacuten de los mismos

Los metadatos son datos que describen el contenido de otros datos Funcionan de formasimilar a un iacutendice para localizar objetos A cada objeto se le asigna una laquoficharaquo que lo des-cribe a traveacutes de varios campos y que es utilizada para localizarlo dentro de un almaceacuten Unejemplo clarificador seriacutea el de las fichas de los libros en una biblioteca En RETELAB ca-da dato almacenado tiene asociado un conjunto de pares campo-valor que lo describen y queayudan a realizar buacutesquedas maacutes concretas a traveacutes de las colecciones de datos Los metadatos

33 Sistema de almacenamiento distribuido 45

pueden estar almacenados de forma interna incrustados dentro del propio dato al que describe(cabecera) o en un almacenamiento externo

Figura 37 Arquitectura del Data Grid desplegado en RETELAB

La arquitectura de la solucioacuten implementada que puede verse en la Figura 37 estaacute forma-da por tres capas la capa inferior que contiene a los recursos del Grid almacena las coleccio-nes de datos la capa intermedia o middleware integra las diferentes tecnologiacuteas que formanel nuacutecleo del sistema y por uacuteltimo la capa superior proporciona la interfaz de usuario paraacceder al sistema de almacenamiento

Las tecnologiacuteas presentes en la capa de middleware son las encargadas de gestionar elalmacenamiento de RETELAB El nuacutecleo del Data Grid lo forma el servicio de GT4 deno-minado Replica Location Service (RLS) Los elementos almacenados estaacuten identificados porun Nombre Loacutegico de Fichero (LFN) y cada uno de ellos tiene asociado lsquoNrsquo Nombres Fiacutesicosde Ficheros (PFNs) es decir las diferentes rutas donde estaacute almacenado ya que puede estarreplicado Por lo tanto el servicio laquoconoceraquo la localizacioacuten especiacutefica de cada dato dentrode RETELAB relacionando LFNs con PFNs El RLS funciona gracias a dos subsistemas el

46 Capiacutetulo 3 Proyecto RETELAB

Local Replica Catalog (LRC) y el Replica Location Index (RLI) Por un lado cada recursodel Data Grid de RETELAB tiene desplegado un LRC con un listado que relaciona los LFNscon los PFNs almacenados en ese recurso y por otro lado RETELAB posee un RLI que deforma centralizada relaciona los LFNs con los diferentes LRCs donde estaacuten almacenados Estarea de cada LRC informar al RLI de las colecciones de datos que gestiona

Para describir correctamente los datos es necesario disponer de un conjunto de metadatosque permita reflejar todas sus caracteriacutesticas y particularidades RETELAB ha utilizado el es-taacutendar para metadatos geoespaciales ISO 19115 [7] Este estaacutendar proporciona un conjuntode metadatos orientado a describir datos geoespaciales aportando informacioacuten sobre la iden-tificacioacuten la extensioacuten la calidad el modelo espacial y temporal la referencia espacial y ladistribucioacuten de dichos datos

El almacenamiento y gestioacuten de los metadatos se hizo de forma externa al propio dato(la alternativa seriacutea agregarlos en la propia cabecera) y centralizada empleando el Metadata

Catalog System (MCS) [100] El MCS es un servicio del GT4 que proporciona un cataacutelogode metadatos a traveacutes de una interfaz que cumple con el estaacutendar de OGSA Este cataacutelogopermite describir datos a traveacutes de metainformacioacuten OGSA-DAI [17] que proporciona unainterfaz OGSA para el acceso a ficheros XML y DBs relacionales puede integrarse con elMCS para proporcionarle la capacidad de almacenamiento de los metadatos asiacute como losmecanismos de autenticacioacuten propios de un Grid

El sistema de almacenamiento fue integrado en el portal Grid para que el usuario pudieseutilizarlo a traveacutes de los diferentes portlets desplegados El proceso de acceso y recuperacioacutende un archivo almacenado se resume en la Figura 38 e incluye los siguientes pasos

1 El usuario utilizando metadatos realiza una consulta a traveacutes del portlet correspon-diente

2 El sistema consulta el MCS para obtener los nombres loacutegicos cuyos metadatos se ajus-tan a la consulta de usuario

3 El sistema consulta al RLI para saber queacute LRCs gestionan los datos relacionados conlos alias obtenidos

4 El sistema consulta a los LRCs las direcciones fiacutesicas vinculadas a los LFN

33 Sistema de almacenamiento distribuido 47

5 A traveacutes de la direccioacuten fiacutesica el sistema puede mover los datos utilizando por ejemploel servicio GridFTP [13] El GridFTP que es parte del GT4 se basa en el protocolo FTPpara proporcionar transferencias de datos seguras robustas raacutepidas y eficientes

Figura 38 Secuencia resumida de acciones para buscar y acceder a los datos almacenados

Los usuarios no soacutelo pueden buscar y utilizar las colecciones de datos del sistema sinoque pueden publicar los resultados de sus trabajos asignaacutendoles una lista de metadatos quelos describan Ademaacutes cada usuario dispone de un espacio virtual propio donde puede des-cargar datos para editarlos y cuando esteacuten listos subirlos y compartirlos con el resto de lacomunidad La integracioacuten del Data Grid con el sistema de enviacuteo de trabajos se detalla en laSeccioacuten 351

Detalles de implementacioacuten Para facilitar la integracioacuten de la DB con los portlets sedesarrolloacute y empaquetoacute en un JAR un conjunto de clases que proporcionan las herramientaspara la gestioacuten de la DB virtual Cada portlet que quisiese emplear la DB soacutelo necesitabaincorporar el JAR entre sus libreriacuteas El paquete es descrito a traveacutes del diagrama de clasessimplificado de la Figura 39 Las clases implementadas interactuacutean con las clases proporcio-nadas por el GT4

48 Capiacutetulo 3 Proyecto RETELAB

Figura 39 Diagrama de clases simplificado en el que se presentan las clases utilizadas para desarrollar lasoperaciones sobre la DB virtual

El desarrollo de las clases para la gestioacuten de la DB tuvo varias dificultades y entre ellases interesante destacar dos [80]

ndash Integracioacuten de OGSA-DAI y el MCS GT proporciona libreriacuteas para gestionar el MCSconcretamente la clase DaiMCSClient es una implementacioacuten de un cliente para conec-tarse al MCS sobre OGSA-DAI Esta clase hace uso de otra llamada GenericServiceFet-

cher que se encarga de instanciar clases que implementan interfaces para comunicarsecon los diferentes servicios de datos GenericServiceFetcher se conecta con un servicioa traveacutes de una URL y recupera el WSDL que lo describe El anaacutelisis del WSDL lepermite determinar la distribucioacuten de OGSA-DAI empleada para implementarlo y asiacuteinstanciar la interfaz adecuada El coacutedigo utilizado para recuperar el WSDL intenta rea-lizar una conexioacuten a una URL pero sin especificar la clase responsable para gestionardicha conexioacuten Si la clase responsable no estaacute definida de forma expliacutecita se asignauna en tiempo de ejecucioacuten que depende del protocolo usado para la conexioacuten CuandoGenericServiceFetcher forma parte de un software de escritorio funciona correctamente

33 Sistema de almacenamiento distribuido 49

pero en un entorno J2EE debido a la forma de cargar las clases en memoria que usa elTomcat no encuentra la clase responsable adecuada Fue necesario modificar y hacerexpliacutecito la clase que debiacutea cargar en la conexioacuten modificando la clase GenericService-

Fetcher (veacutease el Coacutedigo A6)

ndash Gestioacuten de proxies cuando un usuario se autentica en el portal el sistema obtiene auto-maacuteticamente un proxy de su DC del repositorio MyProxy El GT proporciona libreriacuteaspara gestionar dicho proxy y definirlo como el DC por defecto para que sea empleadoen las autenticaciones El problema surge con el servicio RLS que necesita que el DCesteacute almacenado fiacutesicamente en un directorio local Para solucionarlo se desarrolloacute unprocedimiento de conexioacutenvalidacioacuten con la DB que fijaba el DC por defecto para quefuese utilizado por los servicios que lo requiriesen y ademaacutes fuera almacenado localy temporalmente para que el RLS pudiese usarlo en la autenticacioacuten El procedimientoempleado se detalla en el Coacutedigo A7

331 Almacenamiento de datos

Se han desarrollado diferentes procedimientos para introducir datos en el sistema de al-macenamiento de RETELAB que cubren las diferentes necesidades de sus usuarios

Almacenamiento de datos locales Se ha habilitado un sistema de transferencia y al-macenamiento de datos locales (veacutease la Figura 310) que permite a los usuarios compartirdatos con la comunidad Para transferir los datos el usuario debe seleccionar el producto desu computadora que desea compartir asignarle un LFN y describirlo a traveacutes de metadatosescogidos a traveacutes de una lista confeccionada a partir del estaacutendar ISO 19115

Almacenamiento de datos viacutea FTP En el campo de la observacioacuten de la Tierra eshabitual que los usuarios utilicen datos almacenados en servidores FTP externos para susproyectos Se ha implementado un portlet (veacutease la Figura 311) que permite el acceso a dichosservidores para copiar y transferir datos a RETELAB El usuario debe introducir sus datos deacceso navegar a traveacutes del aacuterbol de directorios del servidor FTP seleccionar los elementosque quiere antildeadir y describirlos a traveacutes de metadatos Si los datos estaacuten comprimidos puedeestablecerse el tipo de compresioacuten para que eacutestos sean desempaquetados automaacuteticamenteantes de almacenarse

50 Capiacutetulo 3 Proyecto RETELAB

Figura 310 Portlet para el almacenamiento de datos locales en RETELAB

Almacenamiento de datos generados en RETELAB Los datos generados tras la eje-cucioacuten de una tarea en RETELAB pueden compartirse con el resto de la comunidad a traveacutesdel sistema de almacenamiento (veacutease la Figura 312) El usuario puede visualizar los datos desalida y seleccionar los que desee antildeadir al Data Grid y al igual que en el resto de los casospodraacute ir antildeadiendo los metadatos que considere necesarios para describir cada elemento

Inicializacioacuten del Data Grid La introduccioacuten de nuevos elementos en el sistema de al-macenamiento se hace por defecto de uno en uno a traveacutes de un portlet dedicado pero estono es asumible en el momento de desplegar el sistema ya que es necesario dar de alta grandescolecciones de datos Se desarrolloacute un sistema de registro automaacutetico de datos a traveacutes de fi-cheros XML que indicaban rutas alias y metadatos para cada elemento Este procedimiento esde uso exclusivo del administrador y permite dar de alta automaacuteticamente grandes voluacutemenesde datos

Con el doble propoacutesito de probar el proceso para la inicializacioacuten del Data Grid y el deproporcionar suficientes recursos para poder ejecutar los proyectos que validariacutean el laborato-rio (veacutease la Seccioacuten 36) se dieron de alta varias colecciones de datos

ndash Una coleccioacuten de imaacutegenes SAR correspondientes por un lado al Golfo de Meacutexicoy por otro a la costa noroeste de la Peniacutensula Ibeacuterica asiacute como los datos de viento

33 Sistema de almacenamiento distribuido 51

Figura 311 Portlet para la integracioacuten de datos externos en el sistema

asociados a eacutestas en formato Network Common Data Form (NetCDF) Estos productosfueron empleados para desarrollar y validar el proyecto de SENTINAZOS (veacutease laSeccioacuten 363)

ndash Una coleccioacuten de datos en NetCDF empleada para desarrollar la aplicacioacuten para elcaacutelculo de la PP (veacutease la Seccioacuten 363) que incluiacutea

bull Datos de temperatura superficial del mar provenientes de los sensores AVHRR yMODIS

bull Datos sobre la concentracioacuten de clorofila provenientes de los sensores MODIS ySeaWIFS

bull Datos sobre la radiacioacuten solar disponible para el caacutelculo de la fotosiacutentesis estima-dos por la NASA

Cada producto almacenado fue etiquetado con un conjunto de metadatos para describirlo yasiacute facilitar su posterior identificacioacuten y buacutesqueda

El formato NetCDF [93] ha sido ampliamente utilizado en RETELAB debido a su popu-laridad dentro de la comunidad cientiacutefica Es utilizado regularmente en aplicaciones relacio-

52 Capiacutetulo 3 Proyecto RETELAB

Figura 312 Resultados de la ejecucioacuten de un trabajo en el Grid El usuario puede visualizarlos y revisarlos yoantildeadirlos al Data Grid previa descripcioacuten usando metadatos

nadas con la climatologiacutea meteorologiacutea o la oceanografiacutea para el intercambio de datos esdecir como formato de entradasalida

34 Visualizacioacuten de los datos

Se han integrado dos tipos de visores en RETELAB para la visualizacioacuten de los datosbien para validar las buacutesquedas bien para el anaacutelisis de los resultados tras ser procesados

341 Live Access Server

Un Live Access Server (LAS) [101] es un servidor con la capacidad de conectarse a ser-vidores externos OPeNDAP [32] para el acceso e intercambio de datos Estaacute disentildeado paraproporcionar acceso a datos cientiacuteficos georreferenciados y trabajar con informacioacuten prove-niente de distintos servidores como si fuese una uacutenica DB

Un LAS permite generar graacuteficos de forma dinaacutemica solicitar fragmentos de datos en unavariedad de formatos comparar variables almacenadas en DBs diferentes y generar estadiacutesti-cas baacutesicas La herramienta de visualizacioacuten por defecto es Ferret software de coacutedigo abiertoespecialmente dirigido a trabajar con datos georreferenciados y que permite crear datos cien-

34 Visualizacioacuten de los datos 53

tiacuteficos y proporciona una poderosa herramienta de anaacutelisis Una de las grandes ventajas de unLAS es que cualquier usuario puede acceder a traveacutes de un simple navegador

Se desplegoacute un LAS en RETELAB y se integroacute dentro del portal a traveacutes de un portlet conun Iframe elemento HTML que permite empotrar un documento HTML dentro de otro eneste caso se utilizoacute para incrustar la interfaz Web del LAS como puede verse en la Figura 313

Figura 313 Integracioacuten del Live Access Server en RETELAB

342 Integrated Data Viewer

El Integrated Data Viewer (IDV) [84] desarrollado por Unidata es una herramienta soft-ware implementada en Java que permite visualizar y analizar datos geocientiacuteficos Para in-tegrar IDV en el sistema se desarrolloacute un procedimiento que por cada elemento recuperadotras una consulta a la DB o por cada resultado producido por la ejecucioacuten de un trabajogenera dinaacutemicamente un enlace a un fichero Java Networking Launching Protocol (JNLP)La descarga por medio del enlace de este fichero inicia previa confirmacioacuten del usuario lainstalacioacuten temporal del software IDV La instalacioacuten se realiza de forma automaacutetica y trans-parente gracias a JavaWS y una vez finalizada IDV es cargado con los datos asociados alenlace El uacutenico requisito para su utilizacioacuten es disponer del Entorno de Ejecucioacuten de Java(JRE) que incluye al propio JavaWS

54 Capiacutetulo 3 Proyecto RETELAB

La Figura 314 muestra una composicioacuten de coacutemo un usuario podriacutea acceder a un ficheroNetCDF almacenado en su directorio virtual y visualizarlo a traveacutes del IDV de forma automaacute-tica

Figura 314 Integracioacuten del IDV en RETELAB

35 Gestioacuten y monitorizacioacuten de trabajos

A pesar de que el CESGA fue el principal desarrollador del moacutedulo de enviacuteo y monito-rizacioacuten de trabajos su descripcioacuten en el documento es necesaria debido a que es una partefundamental de RETELAB y se ha colaborado activamente en su integracioacuten con el resto delos moacutedulos del sistema

Existen diferentes alternativas que permiten a los usuarios enviar trabajos a un sistemaGrid pero requieren la interaccioacuten del usuario para por ejemplo decidir a queacute recurso delGrid se enviacutean las tareas lo que implica conocer su arquitectura La interaccioacuten con el usuarioresta transparencia y complica el proceso

Como se ha mencionado en varias ocasiones RETELAB ha sido disentildeado teniendo comopremisa la facilidad de uso por lo que el sistema de enviacuteo y monitorizacioacuten de trabajos fuedesarrollado para que permitiese a los usuarios configurar ejecutar monitorizar y recuperar

35 Gestioacuten y monitorizacioacuten de trabajos 55

los resultados sin necesidad de conocer detalles de implementacioacuten del sistema Grid Estenivel de abstraccioacuten se consiguioacute principalmente gracias a la integracioacuten de un metaplanifi-cador que optimiza el uso de los recursos compartidos y realiza tareas para el descubrimientode recursos planificacioacuten de tareas ejecucioacuten monitorizacioacuten y recuperacioacuten de trabajos

RETELAB incorporoacute un portlet para el enviacuteo y monitorizacioacuten de trabajos que interactuacuteacon el metaplanificador GridWay [64] [65] a traveacutes del API de Distributed Resource Ma-

nagement Application (DRMAA) [112] La eleccioacuten de Gridway como metaplanificador sebasoacute en varias de sus caracteriacutesticas permite interoperar con diferentes middleware Grid tie-ne soporte para DRMAA y permite enviar trabajos empleando el estaacutendar Job Submission

Description Language (JSDL) [16] Un esquema resumido de la arquitectura utilizada para elenviacuteo y monitorizacioacuten de trabajos puede verse en la Figura 315

Figura 315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten de trabajos en RETELAB

Detalles de implementacioacuten La integracioacuten del metaplanificador con el portal Web fuebastante laboriosa ya que Gridway fue originalmente concebido para ser empleado por usua-rios Unix a traveacutes de CLI o de aplicaciones DRMAA Tal y como estaba originalmente dise-ntildeado GridWay utilizaba el mismo proceso de Unix y el mismo proxy para todos los trabajosque se lanzaban desde la misma cuenta de usuario La identificacioacuten y el acceso de usuarios

56 Capiacutetulo 3 Proyecto RETELAB

de RETELAB no se basa en cuentas de Unix sino que son identificados por su proxy y su AC(veacutease la Seccioacuten 32) Todos los usuarios de RETELAB utilizan la misma cuenta de Unix anivel de recurso de Grid lo que lo hace incompatible con el disentildeo de GridWay Fue nece-sario implementar junto con el equipo de desarrollo del GridWay una versioacuten mejorada delmetaplanificador [33] que manteniendo la compatibilidad con el estaacutendar DRMAA permi-tiese identificar a los usuarios no soacutelo por su cuenta Unix sino tambieacuten por el identificadorpresente en el DC X509

351 Integracioacuten con el sistema de almacenamiento distribuido

El portlet para el enviacuteo de trabajos estaacute totalmente integrado con el Data Grid lo que per-mite por un lado utilizar los datos almacenados en RETELAB como paraacutemetros de entradaen los trabajos de usuario y por otro publicar y compartir los resultados de los trabajos conla comunidad

Test-1

aware

Figura 316 Integracioacuten del espacio de almacenamiento privado del usuario con el portlet de enviacuteo de trabajos

Los paraacutemetros de entrada para un trabajo pueden ser antildeadidos desde el directorio privadode un usuario como puede verse en la Figura 316 o desde el Data Grid

En el caso de que el usuario quiera utilizar los datos almacenados en el Data Grid deberaacutehacer uso de la buacutesqueda dirigida por metadatos Los resultados que obtenga podraacuten ser visua-

35 Gestioacuten y monitorizacioacuten de trabajos 57

lizados a traveacutes del IDV y asiacute confirmar su idoneidad antes de incorporarlos a su trabajo LaFigura 317 muestra la secuencia de buacutesqueda e incorporacioacuten de datos del Data Grid comoparaacutemetros de un trabajo

a

b

Figura 317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos a) Portlet de enviacuteo de trabajos con accesoa la buacutesqueda a traveacutes de la DB virtual b)Resultados de la buacutesqueda y seleccioacuten de los paraacutemetrospara el trabajo

Una vez lanzado el trabajo al Grid RETELAB pone a disposicioacuten del usuario un portletde monitorizacioacuten de tareas (veacutease la Figura 318) en el que puede verse el estado (esperaejecucioacuten error o finalizado) de todos sus trabajos Una vez que el trabajo ha finalizado el

58 Capiacutetulo 3 Proyecto RETELAB

monitor permite acceder a los resultados del mismo visualizarlos e incluso integrarlos en elData Grid (veacutease la Figura 312) en caso de que el usuario quiera compartirlos

Figura 318 Portlet para la monitorizacioacuten de los trabajos de usuario

36 Validacioacuten del laboratorio virtual

Una vez finalizado el desarrollo del laboratorio virtual fue probado desplegando variasaplicaciones desarrolladas en entornos de investigacioacuten en el aacuterea de la oceanografiacutea La in-tegracioacuten de estas aplicaciones sirvioacute para validar el sistema y para proporcionar softwareespecializado a la comunidad Todas las aplicaciones desplegadas estaacuten completamente inte-gradas en el portal por lo que hacen uso del sistema de autenticacioacuten del Data Grid y de lagestioacuten y monitorizacioacuten de trabajos

De entre las aplicaciones que a continuacioacuten se van a describir el Regional Ocean Mo-

del System (ROMS) y el modelo de produccioacuten primaria son aplicaciones desarrolladas porterceros que fueron adaptadas para ser ejecutadas en RETELAB mientras que el proyectoSENTINAZOS es un desarrollo propio concebido para solucionar un problema concreto quepor su entidad alcance y necesidad de investigacioacuten adicional del estado del arte es descritoen detalle en la segunda parte del presente documento

361 ROMS

ROMS [98] es un modelo de circulacioacuten oceaacutenica de nueva generacioacuten especialmente di-sentildeado para simular de manera precisa sistemas oceaacutenicos regionales La Figura 319 muestra

36 Validacioacuten del laboratorio virtual 59

un ejemplo de una simulacioacuten de la temperatura superficial oceaacutenica en la costa noroeste dela peniacutensula Ibeacuterica

Figura 319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten empleando ROMS

ROMS fue desarrollado en Fortran 9095 e implementa ademaacutes del meacutetodo en serie dosmeacutetodos de paralelizacioacuten [114] Message Passing Interface (MPI) y Open Multiprocessing

(OpenMP) mutuamente excluyentes Una caracteriacutestica del modelo es que todas sus entradasy salidas se basan en el formato NetCDF lo que facilita compartir los datos entre los usuariosy otras aplicaciones

El portlet que integra ROMS en el laboratorio fue desarrollado junto con el CESGA ypermite definir y ejecutar instancias del modelo Los usuarios a traveacutes de la interfaz Webpueden configurar los paraacutemetros de las simulaciones seleccionar los datos de entrada a traveacutesdel Data Grid monitorizar el estado de sus trabajos y cuando esteacuten finalizados recuperar losresultados En esta versioacuten es el usuario en el momento de la configuracioacuten quien debeseleccionar el modo de ejecucioacuten de la aplicacioacuten ya sea en serie o en paralelo viacutea OpenMPo MPI

60 Capiacutetulo 3 Proyecto RETELAB

362 Caacutelculo del modelo de produccioacuten primaria

RETELAB debiacutea poder integrar aplicaciones realizadas por los propios centros asociadosal proyecto por lo que se adaptoacute a traveacutes de un portlet un modelo realizado por el ICCMpara el caacutelculo de la Produccioacuten Primaria (PP) oceaacutenica

La PP puede definirse como la generacioacuten de componentes orgaacutenicos a partir del CO2 querealizan los organismos autoacutetrofos a traveacutes de los procesos de fotosiacutentesis o quimiosiacutentesis Esun mecanismo clave que permite a los oceacuteanos a traveacutes del fitoplancton ser los pulmones delplaneta ya que gracias a la PP se genera cerca del 50 de la produccioacuten global de oxiacutegeno yse captura alrededor de la mitad del CO2 mundial El caacutelculo de este paraacutemetro es fundamentalpara comprender el papel que juega el ciclo del carbono en el sistema climaacutetico mundial

Los llamados modelos biooacutepticos son los meacutetodos maacutes utilizados para el caacutelculo a granescala de la PP Estos modelos se basan en informacioacuten obtenida a traveacutes de sateacutelites queincluye entre otros datos informacioacuten sobre las biomasas de fitoplancton y de la luminosidadoceaacutenica En concreto el modelo implementado para RETELAB es una adaptacioacuten del Verti-cally Generalised Production Model (VGPM) desarrollado por Berhefeld y Falkowsky [20]

El portlet implementado permite definir los paraacutemetros de entrada al modelo y ejecutarloen el sistema Grid Los paraacutemetros esperados para un correcto funcionamiento son la tempe-ratura superficial oceaacutenica la concentracioacuten de clorofila y los datos sobre la radiacioacuten dispo-nible para fotosiacutentesis La Figura 320 muestra una composicioacuten que ilustra la visualizacioacutende resultados del caacutelculo de PP una vez lanzada la tarea en el sistema Grid

363 SENTINAZOS

Despueacutes de haber integrado y adaptado aplicaciones desarrolladas por terceros se afrontoacuteel reto de implementar una desde cero que aprovechase el sistema y ademaacutes fuese uacutetil para lacomunidad en un problema de difiacutecil solucioacuten como es la deteccioacuten semiautomaacutetica de con-taminantes marinos basados en hidrocarburos La contaminacioacuten marina es un problema quehabitualmente afecta a nuestras costas y que a menudo se relaciona con grandes cataacutestrofesde petroleros Sin embargo en un mayor porcentaje es originada por pequentildeos derrames quebien sea de forma fortuita debido a pequentildeos accidentes o bien sea de forma premeditada acausa de tareas de mantenimiento se producen diariamente Los centros de vigilancia ma-riacutetima invierten una gran cantidad de recursos en la vigilancia y persecucioacuten de estos actospero cubrir toda la superficie costera es una tarea inabarcable Los sateacutelites aportan la cober-

36 Validacioacuten del laboratorio virtual 61

Figura 320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data Grid y el sistema devisualizacioacuten de IDV

tura necesaria para el estudio y monitorizacioacuten de grandes aacutereas y concretamente estudiosprevios [25] [110] demostraron la viabilidad del uso de las imaacutegenes SAR de sateacutelites en ladeteccioacuten de este tipo de contaminantes

El objetivo es desarrollar una aplicacioacuten que permita el anaacutelisis de imaacutegenes de SAR paradetectar hidrocarburos e integrarla en RETELAB ya que esto proporcionariacutea ciertas ventajascomo

ndash Distribuir el almacenamiento de las imaacutegenes SAR

ndash Compartir las colecciones de imaacutegenes que cada centro disponga con el resto de parti-cipantes del proyecto

ndash Optimizar los algoritmos ya que tienen una gran carga computacional que en granmedida estaacute asociada a los bucles que las analizan y que son candidatos a ser paraleli-zados

ndash Ejecutar diferentes instancias de la aplicacioacuten al mismo tiempo aprovechando los dife-rentes recursos del sistema y asiacute analizar simultaacuteneamente diferentes aacutereas de la costa

62 Capiacutetulo 3 Proyecto RETELAB

Aunque la bibliografiacutea muestra que existen algoritmos similares para la deteccioacuten de ver-tidos eacutestos suelen presentar uno o varios de los siguientes problemas

ndash Requieren la presencia activa de un operador

ndash El coste computacional es demasiado alto para su uso en tiempo real

ndash Las implementaciones se basan en libreriacuteas comerciales con licencias privativas

ndash No tienen en cuenta los efectos de los fenoacutemenos meteoroloacutegicos principalmente elviento en la deteccioacuten de los vertidos

Debido a la complejidad de los algoritmos desarrollados la segunda parte de la tesis estaacutededicada a describirlos en detalle y resaltar el caraacutecter innovador de los mismos

Parte II

Validacioacuten del Laboratorio Virtualavances en la deteccioacuten automaacutetica de

vertidos de hidrocarburos

CAPIacuteTULO 4

ESTADO DEL ARTE

Introduccioacuten

Aunque existen muchos tipos de contaminantes los vertidos de hidrocarburos son pro-bablemente los que maacutes afectan al ecosistema marino A pesar de lo que popularmente esaceptado las grandes cataacutestrofes provocadas por los petroleros suponen una pequentildea parte dedicha contaminacioacuten Un estudio de la Agencia Espacial Europea (ESA) [39] reveloacute que tansoacutelo un 7 de los vertidos pueden ser atribuidos a accidentes mientras que un 45 corres-ponden a derrames que habitualmente se realizan durante operaciones de mantenimiento (porejemplo la limpieza de las sentinas) y que denominaremos sentinazos un 13 proviene defuentes naturales y el 35 restante corresponde a vertidos realizados directamente en los riacuteos

Los vertidos afectan a la economiacutea (turismo pesca etc) y al ecosistema de las regionesdamnificadas por lo que son necesarios sistemas y herramientas para su localizacioacuten Unaraacutepida identificacioacuten permitiriacutea minimizar su impacto e incluso identificar a sus causantesLos sensores que operan en el rango de las microondas comuacutenmente llamados radares handemostrado ser de gran utilidad en la deteccioacuten de vertidos de hidrocarburos

Radar El radar es un sistema de deteccioacuten activo [31] cuyo funcionamiento baacutesicamenteconsiste en el enviacuteo de un pulso de energiacutea en el rango de las microondas hacia la superficieterrestre Este haz es reflejado y retrodispersado por la superficie y parte de la energiacutea esrecogida nuevamente por la antena del radar La intensidad de la sentildeal que vuelve a la antenaes medida y grabada para posteriormente ser utilizada en la construccioacuten de una imagen de la

66 Capiacutetulo 4 Estado del arte

45

7

13

35

Sentinazos

Accidentes

Emanaciones

naturales

Riacuteos

Figura 41 Oriacutegenes de los vertidos de hidrocarburos Imagen adaptada de [39]

zona estudiada Cada piacutexel de la imagen estaacute asociado a un aacuterea sobre el terreno y almacena unvalor que representa la cantidad de energiacutea que regresa al sensor debido a la retrodispersioacuten

Tradicionalmente los buques y los aviones han sido los medios de vigilancia maacutes utili-zados en la lucha contra la contaminacioacuten oceaacutenica Por un lado los buques equipados consistemas de radar son uacutetiles para detectar contaminantes en sus proximidades y obtener mues-tras de los vertidos pero su restringida cobertura limita su eficacia por otro lado los avionesde vigilancia que utilizan sistemas de Radar Lateral Aerotransportado (SLAR) permiten vi-gilar aacutereas maacutes extensas pero su coste hace que sea poco viable emplearlos para monitorizarsuperficies de gran tamantildeo de forma intensiva y simultaacutenea En resumidas cuentas tanto losbuques como los aviones son adecuados como medios de primera intervencioacuten pero seriacuteadeseable un sistema maacutes econoacutemico con mayor cobertura

El uso de sistemas de radar instalados a bordo de sateacutelites permite abarcar aacutereas muchomaacutes extensas y a un coste razonable pero su resolucioacuten espacial no es adecuada para la buacutes-queda de pequentildeos derrames de hidrocarburos La resolucioacuten es la habilidad para distinguirdos objetos separados por la miacutenima distancia posible Si la distancia entre los objetos essuficiente cada uno de ellos estaraacute localizado en una celda de la imagen diferente y seraacuten dis-tinguibles en caso contrario el radar devolveraacute una combinacioacuten de la energiacutea reflejada porlos dos objetos como si fuese uno soacutelo [74] Tanto el radar aerotransportado como el espacialobservan la superficie lateralmente (veacutease la Figura 42) y su resolucioacuten espacial es diferente

67

en la direccioacuten paralela a la trayectoria del sateacutelite tambieacuten denominada resolucioacuten en acimuty en la perpendicular es decir en la direccioacuten al objetivo

En la perpendicular a la trayectoria del sateacutelite el sistema puede discriminar dos objetossi la distancia entre ellos es mayor que la mitad de la anchura del pulso (pulse width) enviadoLa resolucioacuten perpendicular se calcula a traveacutes de la siguiente foacutermula

Rp =c middot τ

2=

c2 middotβ

(41)

siendo c la velocidad de la luz y τ la anchura del pulso Tambieacuten puede expresarse atraveacutes el ancho de banda del pulso (pulse bandwidth) representado por β

Normalmente los radares a bordo de sateacutelites trabajan en anchos de banda que van desdelos 10 a los 40 MHz Este rango generariacutea resoluciones que van desde los 15 a los 37 metrosque son suficientemente buenas para la deteccioacuten de vertidos El problema principal estaacute aso-ciado a la resolucioacuten en acimut es decir en la trayectoria del sateacutelite que se calcula como

Rac =λ middotdLA

(42)

siendo λ la longitud de onda d la distancia del sensor al objetivo y LA la longitud de laantena

d

A

A

B

B

Rac

Rac

800 km

d=1131 km

15deg

45deg

Trayect

oria d

el sa

teacutelit

e

Perpendicular a la trayectoria

Figura 42 Resolucioacuten espacial de un radar a bordo de un sateacutelite

68 Capiacutetulo 4 Estado del arte

Dado que la longitud de onda estaacute situada dentro de un rango determinado de microondasy que no puede haber grandes variaciones de la altura a la que orbita el sateacutelite la resolucioacutenen acimut queda directamente determinada por la longitud de la antena Obtener una oacuteptimaresolucioacuten utilizando sistemas de radar sobre plataformas espaciales implicariacutea el uso de an-tenas de enormes proporciones lo que seriacutea impracticable Empleando los datos de ejemplode la Figura 42 un radar que operase en la Banda C con una longitud de onda de 5 cm y queviajase a bordo de un sateacutelite que orbitase a 800 km de altura necesitariacutea una antena de casi 2km para conseguir una resolucioacuten de 30 m cuando el Aacutengulo de Incidencia (IA) fuese de 45

LA =005 middot1131 middot103

30= 1885m (43)

Para solucionar este haacutendicap surge un tipo especial de radar llamado SAR que permiteobtener resoluciones de pocos metros con antenas de pequentildeas dimensiones Por ejemplo laresolucioacuten del Envisat alcanzaba los 30 m empleando una antena rectangular de 13 m x 10m

SAR Los principios baacutesicos del funcionamiento del SAR solucionan la limitacioacuten deresolucioacuten del radar El SAR montado sobre una plataforma moacutevil analiza y recoge diferentesmedidas de un mismo punto durante su trayecto (Figura 43) Esto permite simular una antenade las mismas proporciones que la distancia entre la primera y la uacuteltima medicioacuten llegando aconseguir resoluciones de tan soacutelo unos pocos metros

Liacutenea de tierra

Traza

Antena virtual

Primera medicioacuten

Uacuteltima medicioacuten

Figura 43 Antena virtual generada por SAR

Las imaacutegenes SAR son complejas y difiacuteciles de interpretar y esto es debido a muacuteltiplesfactores (la superficie es estudiada lateralmente el aacutengulo de emisioacuten e incidencia del haz de

69

energiacutea variacutea la sentildeal de retorno se ve afectada por la distancia entre la antena y la superficieestudiada etc) La Figura 44 muestra un ejemplo de una imagen SAR en la que se apreciacoacutemo la intensidad no es homogeacutenea Las zonas maacutes cercanas al sateacutelite y con menor IA danlugar a niveles de intensidad maacutes altos (representados de forma maacutes clara) mientras que laszonas maacutes alejadas y con aacutengulos mayores son representadas de forma maacutes oscura debido alos bajos niveles de intensidad

Figura 44 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007)

Ademaacutes de la amplia cobertura y buena resolucioacuten que puede conseguirse con el SAR esnecesario destacar que al ser un sensor activo su funcionamiento no depende de la radiacioacutensolar y puede utilizarse durante el diacutea y la noche Ademaacutes el sensor es independiente de lacobertura nubosa ya que su haz de energiacutea en el rango de las microondas le permite atravesarlasin sufrir alteraciones

Un estudio en mayor profundidad de SAR y de sus aplicaciones puede encontrarse en [66]

Imaacutegenes SAR de la superficie oceaacutenica

La superficie del mar en condiciones moderadas de viento presenta cierta rugosidad ge-nerada por las ondas capilares Esta rugosidad provoca una retrodispersioacuten uniforme del hazde energiacutea enviado por el SAR Los vertidos de hidrocarburos asiacute como determinados fe-

70 Capiacutetulo 4 Estado del arte

noacutemenos naturales [63] como las algas el hielo o los vientos de baja intensidad suprimendichas ondas capilares provocando un aplanamiento de la zona (veacutease la Figura 45b) Estasaacutereas tienen un comportamiento especular frente al haz de energiacutea que reduce considerable-mente la cantidad de radiacioacuten retornada al sensor Los piacutexeles que representan a este tipo dezonas almacenan valores de retrodispersioacuten muy bajos lo que provoca que se visualicen comoaacutereas oscuras El efecto provocado por los distintos fenoacutemenos naturales y que es similar alde los vertidos es conocido como look-alike Si el viento que afecta a la zona del vertido essuficientemente fuerte el efecto de laquoaplanamientoraquo de los hidrocarburos es atenuado hacien-do muy difiacutecil o imposible distinguirlo del mar limpio (veacutease la Figura 45c) Por el contrariosi el aacuterea analizada estaacute afectada por vientos de baja intensidad (veacutease la Figura 45a) lasondas capilares desaparecen y el contraste entre el vertido y el mar limpio no es suficientepara distinguirlos por lo que aparecen look-alikes

Diversos estudios [40] [92] [43] han fijado la velocidad del viento miacutenima y necesariapara detectar contaminantes entre 2 y 3 ms El liacutemite superior se encuentra maacutes difuso dadoque depende del tipo de hidrocarburo y del tiempo que ha pasado desde su vertido pero podriacuteaestablecerse que a partir de 10 ms su deteccioacuten es complicada y que una velocidad de entre12 y 15 ms podriacutea ser considerada el umbral maacuteximo para poder identificar un sentinazo Lascondiciones oacuteptimas de viento se encontrariacutean en el rango de 35 a 70 ms [54]

(a) (b) (c)Vientos de baja intensidad lt3 ms Vientos moderados Vientos fuertes gt 15 ms

Figura 45 Efecto del viento en la retrodispersioacuten de un pulso SAR

71

Metodologiacuteas para la deteccioacuten de vertidos de hidrocarburos en imaacutegenes SAR

Inspeccioacuten manual La inspeccioacuten manual de las imaacutegenes SAR para la deteccioacuten desentinazos es la teacutecnica maacutes popular y maacutes sencilla de aplicar Estaacute basada en dos grandesfases

ndash Localizacioacuten de fenoacutemenos sospechosos

ndash Anaacutelisis y asignacioacuten de un grado de probabilidad (alto medio o bajo) de que seansentinazos

Aunque la mayoriacutea de los fenoacutemenos detectados pueden ser clasificados correctamente porun experto basaacutendose soacutelo en la imagen existen algunos maacutes confusos en los que el operadornecesita utilizar informacioacuten externa adicional para su correcta clasificacioacuten como puede serdatos de vientos periodo del antildeo forma caracteriacutesticas del aacuterea de observacioacuten etc

Inspeccioacuten automaacutetica La literatura muestra un gran esfuerzo en el desarrollo de siste-mas automaacuteticos y semiautomaacuteticos para la deteccioacuten de vertidos analizando imaacutegenes SARPuede encontrarse un extenso repaso a los antecedentes bibliograacuteficos tanto en el anaacutelisisde Brekke y Solberg [25] como en el de Topouzelis [110] Dichos trabajos muestran que lamayoriacutea de los sistemas despueacutes de realizar alguacuten tipo de preprocesado sobre las imaacutegenes(calibrado proyeccioacuten filtrado de ruido enmascaramiento de la tierra etc) aplican un algo-ritmo compuesto de 3 grandes fases

ndash Segmentacioacuten el objetivo es localizar aislar y extraer todas las aacutereas susceptibles deser vertidos de hidrocarburos (incluyendo los falsos positivos)

ndash Extraccioacuten de caracteriacutesticas las regiones previamente detectadas son analizadas y ca-racterizadas

ndash Clasificacioacuten analizando las caracteriacutesticas extraiacutedas y a traveacutes de un clasificador seasigna a cada candidato una etiqueta o una probabilidad de ser sentinazo o look-alike

La extraccioacuten de caracteriacutesticas y la clasificacioacuten pueden estar apoyadas por informacioacutencontextual como por ejemplo proximidad a fuentes de vertidos (plataformas petroliacuteferasbarcos etc) o datos meteoroloacutegicos La Figura 46 resume las fases principales de un sistemaautomaacutetico

72 Capiacutetulo 4 Estado del arte

Figura 46 Sistema automaacutetico para la deteccioacuten de sentinazos

Comparativa entre la inspeccioacuten automaacutetica y la inspeccioacuten manual Los sistemasmanuales presentan ciertas desventajas frente a los automaacuteticos su eficiencia depende dela experiencia del experto que analiza las imaacutegenes el ojo humano tiene dificultades paraclasificar aacutereas difusas donde las fronteras entre la mancha y el fondo no estaacuten claras eloperador tiende a sobreseleccionar piacutexeles al delinear los bordes de las manchas el tiempo deprocesamiento es claramente superior al de un sistema automaacutetico etc

La principal desventaja de los sistemas automaacuteticos respecto a los manuales tiene que vercon la confianza en los mismos Los medios de vigilancia in-situ como barcos y aviones soncostosos y limitados y aunque los sistemas automaacuteticos pueden clasificar correctamente lamayoriacutea de los sentinazos existe un pequentildeo nuacutemero de ellos que son clasificados incorrec-tamente Los sistemas de deteccioacuten automaacuteticos suelen utilizarse como una herramienta deapoyo a las decisiones donde un operario tiene la uacuteltima palabra a la hora de movilizar losmedios de vigilancia

Teacutecnicas de deteccioacuten automaacutetica de sentinazos

Los siguientes subapartados profundizan en las teacutecnicas utilizadas para desarrollar lasprincipales fases de los algoritmos de deteccioacuten

Segmentacioacuten Analizando la intensidad de la sentildeal recuperada por el sensor es posibledistinguir ciertos fenoacutemenos oceaacutenicos Como se ha visto anteriormente los sentinazos asiacutecomo otros fenoacutemenos naturales se representan en las imaacutegenes SAR con valores de baja in-

73

tensidad El objetivo de esta fase es detectar todos los posibles sentinazos siendo su resultadouna imagen binaria en la que se destacan todos los candidatos El umbral de intensidad paraque un piacutexel sea segmentado no es constante y depende de factores asociados al aacuterea estudia-da como el IA del haz del sateacutelite o las condiciones meteoroloacutegicas La segmentacioacuten es unafase fundamental dentro del algoritmo dado que si un sentinazo no es aislado en esta fase nopodraacute ser clasificado como tal en fases posteriores

La diferencia de contraste entre los candidatos y el fondo de la imagen sugiere que lasteacutecnicas basadas en umbrales pueden ser adecuadas para la segmentacioacuten por lo que tanto lasteacutecnicas de umbralizacioacuten simple [41] como las de umbralizacioacuten adaptativa [103] [104] [37]han sido ampliamente utilizadas Ademaacutes de las basadas en umbrales han sido empleadasotras teacutecnicas para la segmentacioacuten como son las redes neuronales [108] [54] las teacutecnicasbasadas en texturas [21] [72] o las basadas en deteccioacuten de bordes [29] [81]

Debido a la complejidad de la segmentacioacuten y a las dimensiones de las imaacutegenes SAReacutesta es la fase computacionalmente maacutes costosa La velocidad de ejecucioacuten del algoritmo escrucial para dar una respuesta en tiempo cuasi real Para acelerar la segmentacioacuten algunossistemas reducen la resolucioacuten radiomeacutetrica de la imagen original de 32 bits codificaacutendolaen 8 bits [90] [54] o bien analizan soacutelo pequentildeas Regiones de Intereacutes (ROIs) de la imagenprincipal que previamente han sido seleccionadas por un experto [37] otros en cambio usanfactores de escape en sus algoritmos para no procesar todos los piacutexeles de la imagen [104]

Extraccioacuten de caracteriacutesticas Una vez detectados los candidatos eacutestos son analizadosy caracterizados El vector de caracteriacutesticas deberiacutea recoger la informacioacuten necesaria parauna posterior clasificacioacuten A pesar de que existen algunos trabajos que intentan unificar elnuacutemero y tipo de caracteriacutesticas [109] [111] en general no existen estudios sistemaacuteticos sobrela extraccioacuten de caracteriacutesticas y su influencia en la clasificacioacuten y por ello su eleccioacuten sueleproducirse de forma heuriacutestica No obstante la mayoriacutea de las caracteriacutesticas utilizadas seengloban en las siguientes clases

ndash Caracteriacutesticas geomeacutetricas desde el punto de vista de la composicioacuten quiacutemica del hi-drocarburo la forma no guarda una relacioacuten directa con el vertido no obstante desdeel punto de vista de su origen estudios previos [92] muestran que la forma de los sen-tinazos es caracteriacutestica y pertenece a uno de los tipos mostrados en la Figura 47

ndash Caracteriacutesticas fiacutesicas asociadas al nivel de intensidad de los piacutexeles que forman elcandidato y a los de la superficie circundante

74 Capiacutetulo 4 Estado del arte

ndash Texturas en contraposicioacuten a las caracteriacutesticas obtenidas de cada piacutexel de forma aisla-da las texturas aportan informacioacuten sobre la correlacioacuten espacial de dichos piacutexeles enun aacuterea

ndash Informacioacuten contextual la informacioacuten exclusivamente basada en la mancha puede noser suficiente para una correcta clasificacioacuten de las aacutereas maacutes confusas y es en estepunto donde la informacioacuten contextual como la distancia a una posible fuente del ver-tido [104] o los datos meteoroloacutegicos [40] puede ser de utilidad

Figura 47 Anaacutelisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo durante el antildeo 1999 Figuraadaptada de [92]

Clasificacioacuten El objetivo de esta fase es distinguir cuaacuteles de los candidatos segmentadosson sentinazos y cuaacuteles son look-alikes (falsos positivos) utilizando para ello un clasificadorcuya entrada es el vector de caracteriacutesticas obtenido en la fase anterior La comparacioacuten enteacuterminos de eficiencia entre los distintos clasificadores existentes en la bibliografiacutea resultamuy complicada dado que cada sistema utiliza su propio conjunto de pruebas y las caracte-riacutesticas extraiacutedas de los candidatos son diferentes Es conveniente resaltar que muchos de losconjuntos de prueba utilizados no contienen sentinazos confirmados in-situ sino que han sidodetectados y clasificados por un operador de forma manual En otros muchos casos simple-mente no se especifica la forma en que fueron identificados

75

En la bibliografiacutea podemos encontrar muacuteltiples aproximaciones al problema de la clasifi-cacioacuten Las Red Neuronal Artificial (ANN) [71] y sus diferentes implementaciones han sidomuy utilizadas

ndash Frate et aacutel [37] utilizaron una DB con 600 imaacutegenes ERS de baja resolucioacuten (100 m x100 m) codificadas en 8 bits de la que se extrajeron 139 candidatos (71 sentinazos y 68look-alikes) Utilizando un clasificador basado en una ANN y a traveacutes de una validacioacutencruzada (dejando uno fuera) se clasificoacute correctamente al 82 de los sentinazos y al90 de los look-alikes

ndash Topouzelis et aacutel [108] parten de una DB de 24 imaacutegenes de alta resolucioacuten (25 m x 25m) codificadas en 8 bits De la DB se seleccionaron 159 fragmentos (90 look-alikes y69 sentinazos) La ANN utilizada clasificoacute correctamente el 91 de los sentinazos y el87 de los look-alikes

ndash Oscar Garciacutea-Pineda et aacutel [54] seleccionaron de una DB con 700 imaacutegenes Radarsatcodificadas en 8 bits dos conjuntos de entrenamiento con 14 y 10 imaacutegenes respectiva-mente y dos conjuntos de validacioacuten con 5 imaacutegenes cada uno Un primer clasificadorentrenado para distinguir los piacutexeles con hidrocarburos de los piacutexeles con mar limpiofue aplicado sobre el conjunto de 14 imaacutegenes obtenieacutendose una eficacia del 9822El segundo clasificador entrenado sobre el conjunto de 10 imaacutegenes para clasificar en-tre 3 tipos de piacutexeles (sentinazos mar limpio y bajo viento) obtuvo una eficacia del9774

Otro gran grupo de clasificadores son los basados en modelos probabiliacutesticos

ndash Solberg et aacutel [103] combinaron un modelo estadiacutestico con un sistema basado en reglase incorporaron informacioacuten contextual (datos de vientos y distancia a posibles oriacutegenesdel vertido) Aplicando el algoritmo sobre 84 imaacutegenes SAR (inspeccionadas por unoperador) y usando un meacutetodo de validacioacuten cruzada su eficacia alcanzoacute el 94 en ladeteccioacuten de sentinazos y el 99 en la de look-alikes Este modelo ha sido mejoradoen varias ocasiones

bull Solberg y Brekke [104] trabajaron con un conjunto de entrenamiento consistenteen 56 imaacutegenes del Envisat y 71 imaacutegenes del Radarsat y un conjunto de pruebacon 27 imaacutegenes del Envisat El conjunto de prueba conteniacutea 37 sentinazos con-firmados y 12110 look-alikes (obtenidos de la segmentacioacuten de las imaacutegenes)

76 Capiacutetulo 4 Estado del arte

El 994 de los look-alikes fueron clasificados correctamente mientras que laeficacia en la deteccioacuten de los sentinazos alcanzoacute el 784

bull Brekke y Solberg [26] se basaron en el modelo anterior para desarrollar un sis-tema de deteccioacuten de sentinazos en dos pasos En el primer paso emplearon unclasificador estadiacutestico normalizado con el objetivo de detectar todos los senti-nazos y en un segundo paso aplicaron un estimador de confianza que asignabauna probabilidad a cada sentinazo Su DB se componiacutea de 104 imaacutegenes EnvisatWide Swath Mode (WSM) divididas en tres subconjuntos entrenamiento (56 imaacute-genes) validacioacuten (20 imaacutegenes) y test (27 imaacutegenes) La eficacia del clasificadorfue del 927 sobre los sentinazos y del 897 con los look-alikes

ndash Fiscella et aacutel [41] realizaron una comparativa entre un clasificador de probabilidadcompuesta y uno basado en la distancia de Mahalanobis El conjunto de datos de entre-namiento estaba compuesto por 80 sentinazos y 43 look-alikes mientras que el de testque estaba analizado por un operador teniacutea 11 sentinazos 6 look-alikes y 4 indefinidosEl 818 de los sentinazos y el 100 de los look-alikes fueron correctamente clasifi-cados usando la distancia de Mahalanobis mientras que el clasificador de probabilidadcompuesto identificoacute el 909 de los sentinazos y el 67 de los look-alikes

La eficacia de los diferentes meacutetodos de clasificacioacuten es totalmente dependiente de las fa-ses previas y por tanto es difiacutecil compararlos Es necesario segmentar el candidato para poderclasificarlo siendo clave para su correcta clasificacioacuten las caracteriacutesticas seleccionadas y supoder discriminatorio Es importante tambieacuten destacar que las eficacias de algunos clasifica-dores viene dada a nivel de piacutexel [54] y las de otros a nivel de candidato [103] En generalla eficacia a nivel de piacutexel suele ser maacutes elevada dado que se evaluacutea una muestra mayor y loserrores de clasificacioacuten si son pocos quedan maacutes diluidos

CAPIacuteTULO 5

SISTEMA AUTOMAacuteTICO DE DETECCIOacuteN DE

VERTIDOS EN IMAacuteGENES DE SAR

51 Descripcioacuten del proyecto

Galicia es una regioacuten en el noroeste de Espantildea con maacutes de 1200 km de costa y aproxi-madamente 720 playas donde el mar ha jugado siempre un papel muy importante en la vidade sus habitantes La pesca y la agricultura han sido pilares fundamentales de su economiacutea yactualmente el sector turiacutestico juega tambieacuten un papel esencial Sus costas playas y las bon-dades de su gastronomiacutea particularmente la relacionada con el producto de mar (pescados ymariscos) son en buena parte culpables del incremento turiacutestico Ademaacutes se encuentran enesta regioacuten importantes astilleros y puertos tanto civiles como militares

La situacioacuten geograacutefica de Galicia convierte a sus costas en un paso obligado para buenaparte del traacutefico mariacutetimo europeo El Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF)mostrado en la Figura 51 es utilizado para dirigir y controlar este traacutensito Las viacuteas de circu-lacioacuten estaacuten empezando por la maacutes proacutexima a la costa a 217 millas naacuteuticas (40 km) 283millas naacuteuticas (524 km) 355 millas naacuteuticas (657 km) y 395 millas naacuteuticas (73 km) deCabo Fisterra Las viacuteas C y D del ESTF son usadas para navegar de norte a sur mientras quela A y B se utilizan en sentido contrario Las viacuteas B y D estaacuten reservadas para embarcacionescon mercanciacuteas peligrosas

Cada antildeo miles de buques de mercanciacuteas navegan a lo largo del ESTF y debido a lanormativa internacional todos los barcos tienen que informar de su posicioacuten al servicio de

78 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

7degW8degW9degW10degW

44degN

43degN

42degN

0 30 60 90 12015

Millas naacuteuticas130ordm

75ordm

Cabo Vilaacuten

Cabo Fisterra

Traacutefico

costero

D C B A

Figura 51 Esquema de Separacioacuten de Traacutefico de Fisterra

Traacutefico Mariacutetimo de Fisterra al cruzar las liacuteneas de demora 130 a Cabo Vilaacuten y 75 a CaboFisterra La Tabla 51 muestra el nuacutemero de informes recibidos entre los antildeos 1999 y 2009

Antildeo 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009Buques 41829 44561 44331 43209 43469 42538 43212 41942 42136 42354 40320

Tabla 51 Nuacutemero de embarcaciones identificadas en el ESTF

Este intenso traacutefico tiene graves consecuencias medioambientales en forma de accidentesy vertidos como por ejemplo el del petrolero Urquiola en 1976 o el del Mar Egeo en 1992 Sinembargo la cataacutestrofe maacutes importante y con mayor repercusioacuten ha sido la del buque petroleroPrestige que el 13 de Noviembre del antildeo 2002 sufrioacute un accidente frente a la costa gallegapara acabar hundieacutendose al cabo de seis diacuteas En la Figura 52 se observa la extensioacuten delvertido 5 diacuteas despueacutes de la cataacutestrofe La amplia cobertura cientiacutefica del accidente permitioacuteobtener multitud de datos y de informacioacuten lo que unido a un incremento de los recursoseconoacutemicos tuvo como consecuencia el desarrollo de varios proyectos para la deteccioacuten yseguimiento de grandes vertidos [90] [18] [34]

A pesar de que los medios de vigilancia y prevencioacuten se incrementaron despueacutes de la ca-taacutestrofe se descubren regularmente pequentildeos vertidos (sentinazos) provenientes de las ope-raciones de mantenimiento y limpieza de sentinas Es conveniente recordar que los pequentildeos

51 Descripcioacuten del proyecto 79

vertidos a pesar de no ser tan mediaacuteticos son la fuente de contaminacioacuten por hidrocarburosmaacutes importante (veacutease la Figura 41)

8deg30W9degW9deg30W10degW10deg30W

44degN

43deg30N

43degN

42deg30N

42degN

0 10 20 30 405

Millas naacuteuticas

Figura 52 Imagen SAR del vertido provocado por el accidente del buque petrolero Prestige (17112002)

La Agencia espantildeola de Salvamento y Seguridad Mariacutetima (SASEMAR) es la autoridadpuacuteblica encargada de monitorizar las costas gallegas en general y el ESTF en particular SA-SEMAR como se observa en la Figura 53 cuenta con varias bases de vigilancia en Galiciay con recursos tanto marinos como aeacutereos para efectuar la monitorizacioacuten y la vigilancia Eluso de buques y aviones es costoso y limitado por lo que el acuerdo suscrito con la Agen-cia Europea de Seguridad Mariacutetima (EMSA) para recibir hasta un maacuteximo 12 avisos al mesprovenientes de la inspeccioacuten de imaacutegenes SAR sobre posibles vertidos es especialmente uacutetilEstos avisos son evaluados por el personal de SASEMAR y cuando se considera apropiadoenviacutean sus propios recursos a la zona

En general una nacioacuten costera como es Espantildea y en particular Galicia con su intenso traacute-fico mariacutetimo y su traacutegico historial de cataacutestrofes medioambientales deberiacutea poseer su propiosistema de anaacutelisis de imaacutegenes SAR sin depender de sistemas de terceros Con este aacutenimose desarrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos a partirde imaacutegenes SAR que aunque resulta faacutecilmente adaptable a otras regiones fue optimizadopara su uso en las costas gallegas [79] Se prestoacute especial atencioacuten a su implementacioacuten conel objetivo de dar una respuesta en tiempo cuasi real sin sacrificar la eficiencia Las diferentesherramientas software o libreriacuteas utilizadas para el desarrollo del prototipo estaacuten soportadaspor licencias puacuteblicas lo que permite la libre distribucioacuten del producto final Los siguientes

80 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

A Coruntildea

Porto do Son

Vigo

Recursos de SASEMAR en Galicia

1 avioacuten de vigilancia CESSNA 337-G

1 avioacuten de vigilancia CN235-300

1 helicoacuteptero S61N - Sikorsky

1 helicoacuteptero AW139

3 buques polivalentes

Figura 53 Bases de la SASEMAR en Galicia y recursos asignados a la regioacuten

apartados detallan el desarrollo del algoritmo utilizado y su incorporacioacuten a un prototipo LaSeccioacuten 52 presenta la DB de imaacutegenes usada para el desarrollo y las fuentes de datos uti-lizadas Las particularidades del algoritmo se describen en las Secciones 53 54 55 y 56Por uacuteltimo la Seccioacuten 57 se centra en la descripcioacuten del prototipo implementado y en suintegracioacuten en RETELAB

52 Fuentes de datos

521 Sateacutelite Envisat

En Marzo del 2002 la ESA puso en oacuterbita el sateacutelite de observacioacuten terrestre Envisat [1]Su objetivo principal era dotar a Europa de una mayor capacidad para la observacioacuten de laTierra desde el espacio y dar continuidad a las misiones predecesoras de los sateacutelites ERS-1 y ERS-2 La instrumentacioacuten del Envisat estaba disentildeada para realizar observaciones ymediciones del oceacuteano la tierra el hielo y la atmoacutesfera Estuvo operativo hasta el 8 de Abrildel 2012 diacutea en que se perdioacute el contacto El 9 de Mayo del 2012 la ESA dio por finalizadaoficialmente la misioacuten Algunos de los paraacutemetros orbitales del sateacutelite pueden consultarse enla Tabla 52

La continuidad de las misiones europeas para la observacioacuten de la Tierra estaacute garantizadacon la serie de sateacutelites Sentinel que estaacute siendo desarrollada por la ESA dentro del programa

52 Fuentes de datos 81

de Monitorizacioacuten Global para el Medioambiente y la Seguridad (GMES) Se espera que elprimer sateacutelite Sentinel sea lanzado durante el antildeo 2013

Oacuterbitas por diacutea 143Periodo repeticioacuten de ciclo 35 diacuteasOacuterbitas por ciclo 501Periacuteodo orbital 10059 minVelocidad de la oacuterbita 745 kmsInclinacioacuten orbital 9855

Altitud media 7998 km

Tabla 52 Paraacutemetros orbitales del sateacutelite Envisat

A bordo del Envisat viajaban 10 instrumentos dedicados a la observacioacuten de la Tierra

ndash El instrumento de Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite(DORIS) ofreciacutea datos sobre la oacuterbita del sateacutelite con gran precisioacuten Esta informacioacutenera utilizada para determinar la posicioacuten exacta del sateacutelite

ndash El Espectroacutemetro de Imaacutegenes de Resolucioacuten Media (MERIS) mediacutea la reflectancia dela Tierra en el rango del espectro solar analizando el color de los oceacuteanos y la coberturadel terreno Los mapas de alta resolucioacuten generados con sus datos son utilizados paraevaluar los efectos del cambio climaacutetico

ndash El Radioacutemetro Avanzado de Exploracioacuten Longitudinal (AATSR) permitiacutea medir la tem-peratura de la superficie de la Tierra y de los oceacuteanos a partir de la radiacioacuten teacutermicainfrarroja que emite nuestro planeta

ndash El Altiacutemetro de Radar (RA-2) era capaz de registrar la topografiacutea de la superficie te-rrestre con una precisioacuten de unos pocos centiacutemetros lo que haciacutea posible analizar porejemplo la evolucioacuten temporal del nivel del mar

ndash El objetivo principal del Radioacutemetro de Microondas (MWR) era el de realizar medicio-nes del vapor de agua de la atmoacutesfera y del contenido de agua liacutequida de las nubes

ndash El instrumento para Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Es-trellas (GOMOS) proporcionaba una cartografiacutea global del ozono en altitud y un segui-miento de tendencia de gran precisioacuten

82 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash El Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva (MIPAS) era unespectroacutemetro independiente de la luz solar que serviacutea para realizar mediciones de altaresolucioacuten del espectro de emisiones gaseosas en la atmoacutesfera terrestre

ndash La misioacuten principal del Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes paraCartografiacutea Atmosfeacuterica (SCIAMACHY) era registrar el espectro de rayos solares quepasan a traveacutes de la atmoacutesfera Se utilizaba para encontrar huellas de absorcioacuten espectralproducidas por determinados gases y entre otras utilidades permitiacutea realizar mapasglobales de polucioacuten atmosfeacuterica

ndash El Retrorreflector Laacuteser (LRR) era un sensor pasivo utilizado como reflector de pul-sos laacuteser de alta potencia enviados desde estaciones en tierra y que proporcionaba ladistancia entre el sateacutelite y la estacioacuten

ndash El Radar de Apertura Sinteacutetica Avanzado (ASAR) era un novedoso instrumento SARdel que se obtuvieron los datos utilizados para el desarrollo de SENTINAZOS La si-guiente Seccioacuten profundiza su descripcioacuten

La mayoriacutea de los instrumentos presentados excepto el MWR y el RA-2 teniacutean coberturaglobal y necesitaban entre 1 y 3 diacuteas para completarla

Radar de Apertura Sinteacutetica Avanzado

El ASAR es un sensor activo que opera en el rango de las microondas concretamenteen la banda C con una frecuencia de 5331 GHz En la figura 54 se muestra el espectroelectromagneacutetico ofreciendo mayor detalle en el rango de las microondas

Las caracteriacutesticas particulares del sensor ademaacutes de su independencia de la luz solar yde la cobertura nubosa lo hacen especialmente eficiente en el estudio de temas tan diversoscomo frentes oceaacutenicos oleaje marino deteccioacuten de barcos y contaminantes movimiento yextensioacuten de hielos agricultura estudios urbaniacutesticos desastres naturales etc Dependiendodel aacuterea de estudio se trabajaraacute en uno de los 5 modos de operacioacuten soportados por el sensory que son descritos en la Tabla 53

Envisat Wide Swath Mode

El Envisat Wide Swath Mode (WSM) es el modo de operacioacuten que mejor se adapta a labuacutesqueda de vertidos de hidrocarburos Por un lado gracias a la teacutecnica ScanSAR ofrece una

52 Fuentes de datos 83

Banda

Frecuencia (GHz)

Long onda (cm)

InfrarojoMedio

MicroondasRadar

Radio Bandas Audio AC

UV

GammaRayos X

P L S C X K Q V W

039 155

03 10 30 100 300 1000

56463610957539

100 30 10 3 1 03

Vis

ible

10 10 1010 10 10 10 10 10 10 120 18 16 14 12 10 8 6 4 2

Longitud de onda

Frecuencia Hz

00

3 Å

03

3 Å

30

30

0 Å

03

μm

3 μ

m

30

μm

30

m

03

cm

3 c

m

30

cm

3 m

30

m

30

0 m

3 k

m

30

km

30

0 k

m

Longitud de onda (λ)

04

μm

07

μm

Figura 54 Espectro electromagneacutetico Figura adaptada de la web de la ESA [1]

Modo Trazas Polarizacioacuten Resolucioacuten (m) Cobertura aproxima-da (km)

IA (grados sexagesi-males)

Ruido de fondo (dB)

Image Mode(IM)

IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

AlternatingPolarisation(AP)

IS1 IS2 IS3IS4 IS5 IS6o IS7

HHVVHHHVVVVH

30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

Wide Swath(WS)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 150 400 17minus42 -21 a -26

Global Moni-toring (GM)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 1000 400 17minus42 -32 a -35

Wave (WV) IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 5 15minus45 -20 a -22

Tabla 53 Modos de operacioacuten del sensor ASAR a bordo del Envisat

amplia cobertura de 405 km y una resolucioacuten media de 150 m Por otro lado la relacioacuten entreel ruido de fondo y la retrodispersioacuten es adecuada para la buacutesqueda de sentinazos en casi todaslas condiciones cuando se utiliza la polarizacioacuten vertical-vertical

Polarizacioacuten Los radares pueden transmitir el haz energeacutetico con polarizacioacuten horizon-tal (H) o con polarizacioacuten vertical (V) y recibir la sentildeal retornada nuevamente con polariza-cioacuten horizontal vertical o ambas Esto es interesante debido a que los diferentes materiales

84 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de los que estaacute compuesta la cubierta terrestre reflejan las sentildeales con intensidades diferentesdependiendo de la polarizacioacuten e incluso algunos materiales convierten una polarizacioacuten enotra Dependiendo del objetivo de la investigacioacuten es maacutes adecuado un tipo u otro de pola-rizacioacuten Los productos de Envisat WSM pueden trabajar con dos tipos de polarizacioacuten lavertical-vertical (VV) y la horizontal-horizontal (HH)

Ruido de fondo Los sistemas para la adquisicioacuten de datos y procesamiento de sentildealesestaacuten afectados por diferentes tipos de ruido y de sentildeales no deseadas La suma de todo estoes lo que se define como ruido de fondo o noise floor La intensidad de este ruido situacutea elumbral o medida miacutenima que puede ser tomada e identificada con certeza es decir no sepuede identificar nada cuya intensidad de sentildeal sea inferior al ruido de fondo ya que quedaenmascarado por dicho ruido

La retrodispersioacuten del oceacuteano variacutea dependiendo del IA la polarizacioacuten y la velocidad ydireccioacuten del viento Los productos WSM de Envisat con polarizacioacuten VV poseen un ruidode fondo entre -21 dB y -26 dB que se encuentra por debajo de la media de retrodispersioacutendel oceacuteano en casi todas las condiciones Esta caracteriacutestica permite buscar la presencia dehidrocarburos ya que eacutestos se asocian a valores de retrodispersioacuten inferiores a los generadospor las aacutereas del mar sin presencia de contaminantes La Figura 55 muestra la retrodispersioacutendel oceacuteano obtenida de una imagen SAR que no teniacutea presencia de hidrocarburos Se puedeobservar que la retrodispersioacuten variacutea seguacuten el IA y la velocidad del viento

Aacutengulo de incidencia (grados)

Retr

odis

pers

ioacuten (

dB

)

Vientos 10 msVientos 6 msVientos 4 ms

15 20 25 30 35 40 45

5

0

-5

-10

-15

-20

-25

Figura 55 Retrodispersioacuten media obtenida de una imagen ASAR WSM para vientos de 4 ms 6 ms y 10 ms

52 Fuentes de datos 85

522 Coleccioacuten de datos

Para el desarrollo del sistema se ha contado con una coleccioacuten de 47 imaacutegenes WSM conpolarizacioacuten VV del Envisat obtenidas a traveacutes de un convenio con la ESA Las imaacutegenestomadas entre los antildeos 2007 y 2011 corresponden al noroeste de la Peniacutensula Ibeacuterica estandola mayoriacutea centradas en la costa gallega como puede verse en el mapa de densidad mostradopor la Figura 56

Figura 56 Representacioacuten de la densidad de cobertura de la Base de Datos

La regioacuten de estudio es una ampliacioacuten del ESTF construida tal y como se muestra en laFigura 57

Las imaacutegenes de los antildeos 2007 y 2008 contienen sentinazos detectados por operadoresde la EMSA a los que se les ha asignado una probabilidad (alta baja o media) de ser hidro-carburos El resto de la coleccioacuten contiene sentinazos y look-alikes confirmados a traveacutes demisiones aeacutereas de SASEMAR El nuacutemero de imaacutegenes de la coleccioacuten y cuaacutentas de ellascontienen sentinazos (confirmados o no) se puede ver en la Figura 58a agrupadas por antildeo Laclasificacioacuten de los sentinazos de la coleccioacuten es mostrada en la Figura 58b

La Figura 59 muestra la posicioacuten geograacutefica de los vertidos presentes en la DB Eacutestos secaracterizan por estar agrupados en torno al ESTF lo cual es debido a que es paso obligadopara los buques y en consecuencia sufre en mayor medida el efecto de los sentinazos

86 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 57 Aacuterea de estudio y ESTF

a b

Figura 58 a) Imaacutegenes SAR e imaacutegenes con sentinazos agrupadas por antildeo b) Clasificacioacuten de las manchas de laBase de Datos

53 Preprocesado

531 Calibrado y proyeccioacuten cartograacutefica

La DB utilizada para el desarrollo del proyecto almacena productos Envisat WSM de nivel1 Para que estos productos se adapten a las necesidades del proyecto es necesario aplicar-les varias operaciones de preprocesado por un lado las imaacutegenes son calibradas [95] conel objetivo de conseguir valores que realmente representen la retrodispersioacuten de la superficie

53 Preprocesado 87

Figura 59 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten

estudiada y que puedan ser comparados entre ellos La calibracioacuten aplicada consiste en unaserie de correcciones radiomeacutetricas que permiten comparar imaacutegenes sin importar si fueronobtenidas por el mismo sensor en queacute momento fueron tomadas el modo usado o si fueronprocesadas por diferentes procesadores Por otro lado las imaacutegenes calibradas son proyecta-das a un mismo sistema de referencia de coordenadas

Una vez realizadas estas actividades de preprocesado las imaacutegenes pueden utilizarse co-mo datos de entrada al sistema no obstante se aplicaraacuten otras dos funciones un enmascara-miento de la tierra y un filtrado de ruido antes de proceder a la segmentacioacuten con el objetivode optimizar la informacioacuten contenida en las mismas

532 Maacutescara de tierra

El objetivo del sistema es la deteccioacuten de vertidos de hidrocarburos en la superficie oceaacute-nica Las imaacutegenes utilizadas tienen una cobertura de 400 km x 400 km y al estar centradasen el ESTF contienen habitualmente regiones de tierra que corresponden a la costa noroestede la Peniacutensula Ibeacuterica Para no procesar dichas regiones eacutestas son enmascaradas asignandovalores nulos a los piacutexeles que las forman

88 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Desde el punto de vista espacial la costa gallega es muy compleja debido a la presencia delas riacuteas y otros accidentes geograacuteficos La costa y sobre todo las riacuteas funcionan como parapetoprotegiendo de los vientos a la superficie oceaacutenica y como se ha visto en el Capiacutetulo 4 lasaacutereas marinas dominadas por vientos de baja intensidad se visualizan en las imaacutegenes SARde forma similar a las afectadas por vertidos (falsos positivos) Para evitar estos look-alikes

se ha ampliado la maacutescara de tierra en 3 millas naacuteuticas tal y como puede apreciarse en lafigura 510

5degW6degW7degW8degW9degW10degW11degW

46degN

45degN

44degN

43degN

42degN

Regioacuten de Intereacutes

0 50 100 15025Millas Nauacuteticas

Figura 510 Maacutescara de tierra utilizada La franja roja representa una ampliacioacuten de 3 millas naacuteuticas a partir de laliacutenea de costa

533 Filtro de ruido

Previamente al procesado de las imaacutegenes es necesario aplicar un filtro de mediana conuna ventana de 3 x 3 piacutexeles con el objetivo de eliminarsuavizar el ruido de las imaacutegenesLa Figura 511 muestra un ejemplo de aplicacioacuten del filtro de mediana y coacutemo el valor de unpiacutexel se ve influenciado por los de su entorno

54 Segmentacioacuten

El objetivo de esta fase es detectar sobre la imagen SAR todos los piacutexeles susceptiblesde pertenecer a un vertido de hidrocarburo y generar una imagen binaria donde los candidatosdestaquen de la superficie marina limpia

54 Segmentacioacuten 89

Mediana - valor seleccionado

15 10 11 10 10

13 10 9 10 13

12 11 15 13 14

12 10 13 7 15

16 15 12 13 10

darr 7 9 10 10 10 11 13 13 15

darr

Secuencia ordenada

Figura 511 Ejemplo de uso del filtro de mediana para reducir el ruido de la imagen Imagen adaptada de [35]

Dado que los bajos niveles de intensidad generados por las aacutereas con baja retrodispersioacutenestaacuten asociados a hidrocarburos (ademaacutes de a otros fenoacutemenos naturales) es loacutegico pensar queuna segmentacioacuten basada en umbrales pueda ser el meacutetodo maacutes adecuado La complejidad delas imaacutegenes SAR (por ejemplo la fuerte dependencia del nivel medio de intensidad con el IA) provoca que los umbrales simples no sean adecuados Una funcioacuten de umbral adaptativo quetenga en cuenta el IA del piacutexel analizado ademaacutes de otros factores parece la mejor opcioacuten

541 Establecimiento del umbral adaptativo

Con el objetivo de establecer una funcioacuten de umbral adaptativo se muestrearon 1652 piacute-xeles pertenecientes a zonas afectadas por vertidos de hidrocarburos De cada piacutexel se registroacutesu valor de intensidad y su IA asociado La Figura 512 presenta graacuteficamente los piacutexelesmuestreados agrupados por su IA

En este histograma se observa que los IAs de los piacutexeles seleccionados no estaacuten distribui-dos uniformemente y la razoacuten es que la mayoriacutea de las imaacutegenes de la DB estaacuten centradas enel ESTF por lo que la relacioacuten entre las aacutereas de la imagen y los IAs se mantiene relativa-mente constante El rango de IAs con mayor nuacutemero de piacutexeles muestreados suele coincidircon el aacuterea cubierta por el ESTF que es la zona que contiene la mayor cantidad de vertidosLos piacutexeles de la muestra fueron agrupados de acuerdo con su IA en intervalos de 1 entre los17 y los 42 Para cada intervalo se calculoacute la media y su desviacioacuten tiacutepica y se descartaronlos piacutexeles con valores de intensidad superiores a la suma de los dos valores calculados Paracada intervalo se seleccionaron los valores de intensidad maacuteximos (veacutease Ecuacioacuten 51) y conestos puntos como liacutemite superior se realizoacute un estudio de regresioacuten para obtener una funcioacutenque los aproximase

x = max(B)B = y isin B yle ν(A)+σ(B) (51)

90 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 512 Piacutexeles muestreados agrupados seguacuten su IA

El resultado del anaacutelisis fue que tanto una funcioacuten de cuarto grado (52) como una expo-nencial negativa (53) se ajustaban de forma significativa a los datos de la muestra

y =minus63401 middot10minus6x4 +000073027x3minus0029919x2 +050015xminus26381 (52)

y = 74199eminus018212x (53)

Estas funciones debiacutean representar los valores maacuteximos de intensidad que podiacutea almace-nar un piacutexel en funcioacuten de su IA asociado en caso de que representase un vertido es decirtodo piacutexel con un valor de intensidad igual o menor se considerariacutea vertido Se optoacute por unaaproximacioacuten agresiva ya que es preferible en esta fase de segmentacioacuten obtener algunosfalsos positivos a descartar vertidos

Las pruebas efectuadas aplicando cualquiera de las dos funciones mostraron demasiadosfalsos positivos La obtencioacuten de look-alikes en la fase de segmentacioacuten no es preocupantee incluso es esperada dado que es la fase de clasificacioacuten la que tradicionalmente asumela responsabilidad de seleccionar cuaacuteles son los sentinazos y cuaacuteles no pero seriacutea deseableobtener el miacutenimo posible y asiacute disminuir la responsabilidad del clasificador

Las funciones obtenidas estaban basadas en la intensidad y en el IA pero determinadosestudios previos [40] ponen de manifiesto la importancia de los factores meteoroloacutegicos y

54 Segmentacioacuten 91

particularmente los vientos en la deteccioacuten de sentinazos Dado que el nivel de retrodispersioacutentiene relacioacuten directa con la rugosidad de la superficie (veacutease la Figura 45) y eacutesta se debe ala presencia de viento la funcioacuten adaptativa deberiacutea tener en cuenta los datos del viento de lazona estudiada La Figura 55 muestra la influencia de la velocidad del viento en la intensidadUtilizar datos de viento en la fase de segmentacioacuten permitiraacute realizar una segmentacioacuten maacutesprecisa facilitando el trabajo posterior del clasificador

1 2 3 4 5 6 7 8 9

0

100

10

200

300

400

500

600

Piacutex

ele

s m

uestr

eados

Total piacutexeles 1652

Velocidad del viento (ms)0

Figura 513 Elementos de la muestra agrupados por la velocidad del viento

La forma maacutes directa de acceder a los datos de viento correspondientes a la zona cubiertapor una imagen SAR es a traveacutes de los datos contenidos en la propia imagen CMOD5 [60] esun modelo geofiacutesico desarrollado para datos obtenidos en la banda C que permite relacionarla retrodispersioacuten generada por la rugosidad de la superficie oceaacutenica con la velocidad y di-reccioacuten del viento Utilizando este modelo se obtuvieron los datos de viento correspondientesa las imaacutegenes de la DB Los resultados generados con una resolucioacuten menor que la de laimagen SAR fueron interpolados usando el algoritmo Kriging [88] para obtener la mismaresolucioacuten que la imagen original

La muestra de 1652 piacutexeles fue enriquecida antildeadiendo los datos de velocidad de vientocalculados con el modelo CMOD5 Los piacutexeles de la muestra fueron agrupados seguacuten la velo-cidad del viento (veacutease Figura 513) La mayoriacutea de estos piacutexeles tienen asociadas velocidadesde viento entre los 3 y 7 ms por lo que cubren el rango oacuteptimo para la deteccioacuten de verti-dos [54] Los piacutexeles con vientos mayores a 7 ms se agruparon en un soacutelo intervalo ya que la

92 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

muestra no teniacutea suficientes datos como para realizar maacutes divisiones Cada grupo creado fuenuevamente dividido en subconjuntos en base al IA En cada subconjunto (con al menos 10valores) se calculoacute la media y la desviacioacuten tiacutepica de los valores de intensidad Finalmente seescogioacute el valor de intensidad maacutes alto para cada subconjunto siempre y cuando fuese igual omenor a la suma de la media y el doble de la desviacioacuten tiacutepica de dicho subconjunto Noacuteteseque en esta ocasioacuten al ajustar mejor los valores gracias a los vientos se optoacute por relajar elumbral maacuteximo empleando dos veces la desviacioacuten tiacutepica y no soacutelo una como en el caso de laumbralizacioacuten sin vientos (veacutease Ecuacioacuten 51) El esquema del proceso seguido se muestraen la Figura 514

A=muestra de 1652 piacutexeles

A1= piacutexeles con

viento lt 4 ms

A2= piacutexeles con

viento lt 5 ms

A3= piacutexeles con

viento lt 6 ms

A4= piacutexeles con viento lt 7 ms

A5= piacutexeles con viento gt= 7 ms

A1= piacutexeles con

aacutengulo de incidencia[1718]

A2= piacutexeles con

aacutengulo de incidencia[1819]

A25= piacutexeles con

aacutengulo de incidencia[4142]

x25x2x1

xi=max(Bi) Bi=yisinAi y le A

i + 2σAi

Figura 514 Esquema de acciones realizadas para establecer el umbral adaptativo

El resultado de este proceso es un conjunto de intensidades para cada rango de velocidadestudiado Realizando un anaacutelisis de regresioacuten sobre los datos se comproboacute que al igual queen la primera aproximacioacuten una funcioacuten de cuarto grado y una exponencial negativa se ajus-taban de forma significa a la muestra Estudiando dichas funciones con maacutes detalle y a traveacutesde pruebas de segmentacioacuten se comproboacute que los mejores resultados se obteniacutean usando lafuncioacuten de cuarto grado en los aacutengulos de incidencia menores y la exponencial negativa en losmayores Se establecioacute una funcioacuten definida por partes para el caacutelculo adaptativo del umbralen el que el IA es utilizado para establecer el punto de corte entre las partes La Tabla 54presenta los coeficientes de las funciones adaptados seguacuten la velocidad del viento asiacute comolos puntos de corte establecidos por los IAs

54 Segmentacioacuten 93

Velocidad del viento Funcioacuten de cuarto grado Punto de corte Funcioacuten exponencial negativa

vel lt= 4ms 63662lowast10minus6x4minus000083671x3 +0041262x2minus090719x+75353 378 59169eminus017881x

vel lt= 5ms 30874lowast10minus6x4minus000043845x3 +0023424x2minus055931x+50588 3625 66689eminus017944x

vel lt= 6ms 21022lowast10minus6x4minus000031131x3 +0017414x2minus04365x+41503 3682 57770eminus017217x

vel lt= 7ms 27742lowast10minus6x4minus000039094x3 +002086x2minus050088x+45883 3752 54477eminus016858x

vel gt 7ms 12416lowast10minus6x4minus000019466x3 +0011604x2minus031143x+3182 368 62053eminus017101x

Tabla 54 Coeficientes y puntos de corte para las funciones de umbral adaptativo

Las funciones exponenciales negativas para vientos de 4 ms 6 ms y mayores que 7 msse representan graacuteficamente en la Figura 515

0

005

01

015

02

025

03

20 25 30 35 40

Inte

nsi

da

d

Aacutengulo de incidencia

Viento lt=4 msViento lt=6 msViento gt 7 ms

Figura 515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para distintos valores de lavelocidad del viento

542 Aplicacioacuten del umbral adaptativo

El proceso de segmentacioacuten se aplica sobre todos los piacutexeles de una imagen SAR exceptolos que previamente han sido enmascarados como tierra y los que pertenecen a zonas fueradel aacuterea de alcance del sensor

De cada piacutexel procesado se extrae su intensidad el IA y la velocidad del viento A partirde la velocidad del viento y de los coeficientes presentados en la Tabla 54 se obtienen lasfunciones adecuadas y el punto de corte (IA) entre la funcioacuten polinoacutemica y la exponencialnegativa Seguacuten el IA del piacutexel y tras compararlo con el punto de corte se selecciona una

94 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de las dos funciones y se utiliza el aacutengulo como paraacutemetro La funcioacuten devolveraacute un umbralque identificaraacute el maacuteximo valor de intensidad que podriacutea tener el piacutexel analizado para serconsiderado parte de un sentinazo Si la intensidad es menor o igual al umbral el piacutexel seraacuteetiquetado como candidato y en caso contrario como superficie limpia

543 Filtro de vientos

Dado que existen estudios previos que consideran que es necesaria una velocidad del vien-to de al menos 3 ms para detectar un sentinazo los piacutexeles segmentados que esteacuten afectadospor vientos de intensidad menor que ese umbral son considerados look-alikes y son eliminadosde la imagen segmentada

544 Filtro de aacuterea

Los medios de vigilancia contra la polucioacuten como los buques y aviones tienen un costede uso elevado y son limitados por lo que soacutelo son utilizados cuando la situacioacuten es poten-cialmente dantildeina o el vertido tiene una dimensioacuten considerable Las estructuras formadas porlos piacutexeles segmentados que tengan un aacuterea menor que 50 piacutexeles (equivalente a 03km2) sonconsideradas como falsos positivos o como pequentildeos sentinazos no dantildeinos que pueden sereliminados de la imagen segmentada

55 Extraccioacuten de caracteriacutesticas

El resultado de la fase de segmentacioacuten es una imagen binaria donde aparecen resaltadostodos los sentinazos junto con un gran nuacutemero de look-alikes Es tarea de un clasificador sepa-rar los sentinazos de los falsos positivos y para una correcta clasificacioacuten es necesario obtenerun vector de caracteriacutesticas para cada candidato que pueda ser analizado por el clasificador

El vector de caracteriacutesticas utilizado para el desarrollo de este algoritmo estaacute basado entres tipos de caracteriacutesticas

ndash Caracteriacutesticas de forma la forma puede ser un factor determinante para clasificar uncandidato Estudios anteriores [92] han mostrado que debido a su naturaleza los senti-nazos pueden agruparse en 5 grandes clases desde el punto de vista de su forma (veacuteasela Figura 47)

55 Extraccioacuten de caracteriacutesticas 95

ndash Caracteriacutesticas fiacutesicas se han incorporado caracteriacutesticas asociadas al nivel de intensi-dad de los piacutexeles dado que su importancia y utilidad ha sido refrendada por estudiosprevios [37]

ndash Informacioacuten contextual Los datos de contexto en general y maacutes concretamente los devientos [40] son de gran utilidad a la hora de detectar sentinazos y deben ser incorpora-dos al vector de caracteriacutesticas

Tipo Nombre Descripcioacuten

Forma

APR Aacuterea PeriacutemetroElongacioacuten Eje mayor Eje menor

MPR Eje mayor PeriacutemetroRectangularidad Aacuterea Aacuterea (Min rect engloba)

Circularidad Periacutemetro2 (4 πAacuterea)Thickness Nuacutemero de erosiones necesarias para dividir un objeto

Hu1 (η20 +η02)

Hu2 (η20minusη02)+4η211

Hu3 (η30 +3η12)2 +(3η21minusη03)

2

Hu4 (η30 +η12)2 +(η21 +η03)

2

Hu5 (η30 minus 3η12)(η30 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η21 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Hu6 (η20minusη02)[(η30minusη12)2minus (η21η03)

2]+4η21(η30 +η12)(η21 +η03)

Hu7 (3η21 minus η30)(η00 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η12 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Flusser y Suk - I1 (η20η02minusη211)η4

00

Flusser y Suk - I2 (minusη230η2

03 +6η30η21η12η03minus4η30η312minus4η3

21η03 +3η221η2

12)η1000

Flusser y Suk - I3 (η20η21η03minusη20η212minusη11η30η03 +η11η21η12 +η02η30η12minusη02η2

21)ν700

Flusser y Suk - I4 (minusη320η2

03 + 6η220η11η12η03 minus 3η2

20η02η212 minus 6η20η2

11η21η03 minus 6η20η211η2

12 +12η20η11η02η21η12 minus 3η20η2

02η221 + 2η3

11η30η03 + 6η311η21η12 minus 6η2

11η02η30η12 minus6η2

11η02η221 +6η11η2

02η30η21minusη302η2

30)η1100

Contexto AI IA respecto al centroide de la manchaViento Velocidad del viento en el aacuterea estudiada

Fiacutesicas Intensidad Intensidad media de los piacutexeles contenidos en la mancha candidatoASR Ratio de la intensidad del candidato respecto al aacuterea circundante

Nota ηi j representa a los momentos centrales normalizados

Tabla 55 Vector de caracteriacutesticas

El vector generado (veacutease Tabla 55) estaacute compuesto por 21 componentes de los que 17corresponden a caracteriacutesticas de forma Para disminuir la dimensionalidad del vector se apli-coacute un Anaacutelisis de Componentes Principales (PCA) [67] sobre las caracteriacutesticas de forma LaTabla 56 contiene los porcentajes de varianza explicados por los componentes principalesobtenidos tras el PCA mientras que la Figura 516 muestra graacuteficamente el porcentaje expli-cado por el subconjunto de componentes maacutes representativo Finalmente se sustituyeron las

96 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

17 caracteriacutesticas de forma por los 5 primeros componentes cubriendo asiacute maacutes del 92 de lavarianza y reduciendo considerablemente la dimensionalidad del vector Los coeficientes delos componentes principales seleccionados se muestran en la Tabla 55

PCA1 PCA2 PCA3 PCA4 PCA5

0

10

20

30

40

50

60

70

80

90

0

10

20

30

40

50

60

70

80

90

100 100

Componentes Principales

Vari

anza E

xplicada

Figura 516 Componentes principales y porcentaje de varianza explicado

Componente Principal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17Varianza explicada () 477716 183024 138332 73918 50537 37671 19663 08758 04884 03178 00938 00693 00414 00142 00089 00041 00001

Tabla 56 Componentes principales y porcentaje de varianza explicado

56 Clasificacioacuten

Una vez caracterizados los candidatos es necesario clasificarlos y asignarles una clase(sentinazo o look-alike) El vector de caracteriacutesticas de cada candidato es la entrada para unclasificador cuya salida seraacute una clase o etiqueta identificaacutendolo La eficiencia del clasificadorestaacute directamente relacionada con los datos del vector es decir un buen clasificador no podraacuteclasificar correctamente si las caracteriacutesticas no discriminan suficientemente bien

La maacutexima seguida para el desarrollo de los clasificadores fue la de minimizar el nuacuteme-ro de falsos negativos incluso cuando la consecuencia era incrementar el nuacutemero de falsospositivos Para el sistema es asumible mostrar falsos positivos debido a que o bien el siste-ma es semiautomaacutetico es decir un operador humano filtra los resultados antes de enviar losmedios de vigilancia o bien el sistema es completamente automaacutetico en cuyo caso los siste-mas de vigilancia se activariacutean tras el descubrimiento del look-alike con el consecuente gasto

56 Clasificacioacuten 97

Var1 PCA Var2 PCA Var3 PCA Var4 PCA Var5 PCAAPR -00321 00466 06160 01722 -01237

elongacioacuten 01770 03460 -01469 02321 -01141MPR 02596 00579 03499 00017 -00160

Rectangularidad -01196 -00306 02473 00149 08811Circularidad 03070 -00775 00457 -00321 -02217

Thickness -00013 00530 06099 01626 -02103Hu1 03299 00316 -00735 00802 -00472Hu2 03371 00255 -00683 01573 00767Hu3 03389 -00366 -00237 00670 01383Hu4 02769 03158 -00167 -00164 01338Hu5 02092 04218 -00049 -00343 01185Hu6 02055 04349 -00000 -00842 01202Hu7 -02791 03182 -00151 00583 -01003FS1 02795 -02692 00373 -02175 -00562FS2 00728 -02281 -01329 07528 00772FS3 -02540 02239 -01053 04511 -00382FS4 -02567 03457 -00020 -01540 -00864

Tabla 57 Coeficientes de los componentes principales seleccionados

econoacutemico pero sin consecuencias medioambientales Los falsos negativos por el contrariono podriacutean detectarse ni de forma automaacutetica ni por un operador ya que el sistema no losmostrariacutea y esto conllevariacutea un mayor impacto en el ecosistema dado que no se activariacutean losprotocolos de gestioacuten de forma temprana

Los siguientes apartados describen dos clasificadores desarrollados para identificar loscandidatos generados en la segmentacioacuten Para su desarrollo y entrenamiento se ha utilizadouna DB de candidatos previamente etiquetados con 155 falsos positivos y 80 sentinazos quefueron distribuidos en 3 grandes grupos (veacutease la Figura 517) el 70 de los elementos fuereservado para el entrenamiento un 15 fue utilizado para el conjunto de validacioacuten y el15 restante fue seleccionado para el conjunto de test

Base de datos de candidatos

155 Look-alikes 80 Sentinazos

128 66 27 14

101 52 27 14

Test

Validacioacuten

Datos para el entrenamiento

Entrenamiento

85 15

1570

Figura 517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores

98 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

561 Redes Neuronales Artificiales

Introduccioacuten

Las ANN tratan de emular el comportamiento del cerebro humano y la extraccioacuten de co-nocimiento geneacuterico a partir de un conjunto de datos [71] Las ANNs al igual que el cerebroestaacuten compuestas de procesadores elementales llamados neuronas artificiales o simplementeneuronas que conectadas entre siacute o a entradas externas cooperan para producir un estiacutemulode salida Cuando un conjunto de neuronas recibe todas sus entradas de una misma fuente ytodas sus salidas se dirigen a un mismo destino forman una capa

Una neurona artificial se caracteriza por los siguientes elementos (veacutease la Figura 518)

ndash Estado inicial las neuronas de la red presentan un estado o valor inicial (atminus1) previo arecibir los estiacutemulos externos y que influiraacute en su respuesta a eacutestos

ndash Conexiones neuronales valores de entrada a la neurona j-eacutesima (xi) con unos pesosasociados (wi j)

ndash Funcioacuten de propagacioacuten determina la entrada de la neurona (Net j) Generalmente es elsumatorio de cada uno de sus estiacutemulos externos o entradas (xi) multiplicado por su pesoasociado (wi j) Es habitual que se incluya un teacutermino constante (x0) denominado sesgoLa inclusioacuten de este elemento se deriva del comportamiento de las neuronas bioloacutegicasque poseen umbrales internos de activacioacuten que distorsionan el impacto causado porlos estiacutemulos recibidos El teacutermino suele tener el valor lsquo1rsquo y el valor y signo de su pesoindica su influencia en la funcioacuten

ndash Funcioacuten de activacioacuten o transferencia combina el valor inicial de la neurona (atminus1) conla entrada obtenida por la funcioacuten de propagacioacuten (Net j) para producir un nuevo estadoo valor de la neurona

ndash Funcioacuten de salida transforma el estado de la neurona generado a traveacutes de la funcioacutende transferencia en una sentildeal de salida (y j) que se trasmitiraacute a las siguientes neuronasHabitualmente la funcioacuten de salida coincide con la funcioacuten identidad es decir el valorde salida es en la praacutectica el valor retornado por la funcioacuten de transferencia

Una de las caracteriacutesticas maacutes importantes de las ANNs es su capacidad de generalizara partir de ejemplos lo que permite dar una respuesta correcta ante patrones no presentadospreviamente Las ANNs tienen la capacidad de aprender creando modificando o destruyendo

56 Clasificacioacuten 99

w1j

wdj

wnj

F(aj(t-1)Netj)=aj(t)) f(aj(t))=yj rarr yj

Entradas Pesos Entrada total Func activacioacuten Func salida Salida

X0Sesgo w0j

Netj=sum wkjmiddotxk k=0

n

X1

Xd

Xn

Neurona j-eacutesima

Figura 518 Elementos de una neurona artificial Figura adaptada de [71]

sus conexiones (pesos) entre sus neuronas Existen diferentes algoritmos de aprendizaje perotodos ellos pueden ser englobados en uno de los dos grandes tipos presentados a continuacioacuten

ndash Aprendizaje supervisado se caracteriza por la presencia de un agente que controla elproceso de entrenamiento estableciendo una respuesta correcta para una serie de valo-res de entrada determinados Si la salida de la red no es la salida deseada el supervisormodifica iterativamente los pesos de las neuronas de la red (wi j) con el objetivo de queel resultado tienda al deseado Eacuteste es el tipo de aprendizaje utilizado para desarrollar laANN para la deteccioacuten de los sentinazos y en concreto se usoacute una teacutecnica de aprendi-zaje por correccioacuten de error denominada backpropagation Las teacutecnicas por correccioacutende error ajustan los pesos de las conexiones de la red en base a la diferencia entre lasalida deseada y la obtenida Una de las reglas maacutes sencillas para la correccioacuten es lasiguiente

wt+1i j = wt

i j +∆wi j

∆wi j = α(r jminus y j)x j(54)

Dada una conexioacuten neuronal entre la neurona i-eacutesima y la j-eacutesima con un peso wi j en elinstante t ∆wi j representariacutea la variacioacuten en el peso de la conexioacuten en el instante t +1es decir la correccioacuten del error En el caacutelculo de ∆wi j α es un factor de aprendizaje r j

es la salida deseada ante un determinado patroacuten mientras que y j es la salida realmenteobtenida y finalmente x j es la entrada a la neurona j

100 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash Aprendizaje no supervisado se presenta a la red una serie de patrones sin una respues-ta asociada La red busca particularidades correlaciones o categoriacuteas presentes en losdatos de entrada y los categoriza

Las conexiones neuronales son uno de los elementos fundamentales en el aprendizaje ypueden producirse entre neuronas de una misma capa o entre neuronas de capas diferentessin limitaciones El modelo de ANNs maacutes utilizado en la praacutectica es el Perceptroacuten Multicapa(MLP) que constituye un modelo particular en el que la propagacioacuten de los datos es siemprehacia adelante es decir ninguna salida neuronal constituye la entrada a una neurona de lamisma capa o de una capa anterior Las redes MLP (veacutease la Figura 519) estaacuten compuestaspor una capa neuronas de entrada donde se recogen los datos del exterior una o varias capasde neuronas ocultas y una capa de salida que devuelve los resultados de la red

Figura 519 Estructura de una red neuronal MLP

Algoritmo de retropropagacioacuten de errores

Debido a su sencillez y eficacia el algoritmo de retropropagacioacuten de errores o de backpro-

pagation [58] es uno de los algoritmos de aprendizaje supervisado maacutes extendido para redesMLP Baacutesicamente el algoritmo modifica iterativamente los pesos de las conexiones entre lasneuronas con el objetivo de minimizar el error de la red Partiendo de unos pesos aleatorios yde un conjunto de patrones de entrenamiento correctamente clasificados el algoritmo procesaa traveacutes de la red cada patroacuten El error cometido al procesar un patroacuten es cuantificado paramodificar los pesos en consecuencia La modificacioacuten iterativa de los pesos se realiza con elobjetivo de que el resultado real tienda al deseado La cuantificacioacuten del error medio-total de

56 Clasificacioacuten 101

la red se calcula comoE(w|xr) = 1

2(rminus y)2 (55)

siendo r el resultado deseado para la entrada de un patroacuten a la red e y el resultado real-mente obtenido La modificacioacuten de los pesos trata de minimizar el error de la red siendoel descenso de gradiente el meacutetodo maacutes habitual para ello siempre y cuando la funcioacuten pa-ra calcular el error sea diferenciable Las variaciones de los pesos utilizando el descenso degradiente se obtendriacutean a traveacutes del siguiente caacutelculo

∆wh j =minusαpartE

partwh j(56)

El algoritmo de retropropagacioacuten de errores tiene dos fases principales en una primerafase los patrones de entrenamiento son presentados y analizados por la red y sus salidas soncomparadas con los resultados esperados en una segunda fase se modifican los pesos de la redcalculando el error cometido y propagaacutendolo desde la capa de salida hasta la capa de entrada

x0=1

xj

xn

z0=1

whj vih

zh

zk

w0

sesgo sesgo v0

yi

Figura 520 Ejemplo simplificado de una red MLP

Actualizacioacuten de los pesos Partiendo del ejemplo mostrado en la Figura 520 en el quela funcioacuten de transferencia de las neuronas de la capa oculta es una sigmoide la salida de lared para un determinado patroacuten p se obtiene a traveacutes del siguiente caacutelculo

ypi =

k

sumq=1

viqzq + v0 (57)

102 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

La variacioacuten de los pesos que unen la capa oculta con la capa de salida se calculariacuteatratando de minimizar el error de la red (veacutease Ecuacioacuten 55) a traveacutes del descenso de gradiente(veacutease Ecuacioacuten 56)

∆wh j = α sump(rpminus yp)zp

h (58)

Sin embargo el caacutelculo de los pesos entre la capa de entrada y la oculta no puede hacer-se directamente utilizando el error cuadraacutetico medio ya que se desconoce cuaacutel es la salidadeseada para las neuronas ocultas La solucioacuten estaacute en el uso de la regla de la cadena sobre laEcuacioacuten 56 de la siguiente manera

∆wh j =minusαpartE

partwh j

=minusα sump

partE p

partyppartyp

part zph

partE p

part zph

part zph

partwh j

=minusα sumpminus(rpminus yp)︸ ︷︷ ︸

partE ppartyp

vh︸︷︷︸partyp

part zph

zph(1minus zp

h)xpj︸ ︷︷ ︸

part zph

partwh j

= α sump(rpminus yp)vhzp

h(1minus zph)x

pj

(59)

Teacutermino momento De entre las mejoras desarrolladas sobre el algoritmo claacutesico cabedestacar la que introduce el teacutermino momento Esta mejora consigue que la actualizacioacuten depesos sea proporcional al incremento de la iteracioacuten anterior permitiendo acelerar y estabili-zar el proceso de aprendizaje [96] La actualizacioacuten de pesos utilizando el teacutermino momentose calcula como

Wt+1 =Wt +[∆Wt +β∆Wtminus1] (510)

El teacutermino momento identificado por la constante β suele tomar un valor entre 0 y 1 ygeneralmente su valor es proacuteximo a la cota superior e inversamente proporcional a la tasa deaprendizaje es decir cuanto maacutes pequentildeo es el valor α maacutes grande suele ser β

Tanto la tasa de aprendizaje como el teacutermino momento son seleccionados empiacutericamentedependiendo del problema a resolver

56 Clasificacioacuten 103

Clasificador

Se implementoacute una red neuronal MLP para clasificar los candidatos segmentados Su ar-quitectura y los pesos de sus conexiones fueron establecidos a traveacutes de un proceso de entre-namiento validacioacuten y test utilizando los conjuntos mostrados en la Figura 517

La red desarrollada cuya arquitectura final se muestra en la Figura 522 estaacute compuestade 3 capas de neuronas El nuacutemero de neuronas de la capa de entrada se establecioacute en 9 unapor cada elemento del vector de caracteriacutesticas mientras que en la capa de salida se utilizaron2 neuronas para representar cada una de las posibles clases que se pueden asignar a un candi-dato Una neurona de la capa de salida con valor lsquo0rsquo representa la total incompatibilidad conla clase asignada a dicha neurona y el caso opuesto es representado con el valor lsquo1rsquo Valoresintermedios en el rango (01) representan una cierta probabilidad de pertenencia a la claseLos estiacutemulos externos a la red fueron normalizados en el rango [-11] como paso previo a suprocesamiento

Las neuronas utilizadas tanto en la capa oculta como en la capa de salida siguen el es-quema de la Figura 521 Estas neuronas reciben los valores de salida de las neuronas de lacapa anterior ponderados a traveacutes de los pesos asignados a las conexiones neuronales y unsesgo con valor lsquo1rsquo que se pondera a traveacutes de un peso asignado a cada neurona Una funcioacutende propagacioacuten que unifica y combina los valores de entrada en un uacutenico valor sirve comoentrada para la funcioacuten de activacioacuten de la neurona El resultado de la funcioacuten de activacioacutenrepresenta el valor de salida de la neurona

Netj=sum(ximiddotwi)+w0 aj=f(Netj)=2

[1+exp(Netj)]-1f(aj)=id(aj)=yj

yj

Neurona j-eacutesimax0

x1

x2

xn

Sesgo w0

w1

w2

wn

i=1

n

Figura 521 Esquema de la neuronas empleadas en la ANN desarrollada

El nuacutemero de neuronas de la capa oculta se establecioacute a traveacutes de un proceso comparativoentre diferentes arquitecturas Utilizando el algoritmo de retropropagacioacuten de errores con lavariante del teacutermino momento como proceso de aprendizaje de la red y basaacutendose en la reglaad hoc de que el nuacutemero de neuronas ocultas no deberiacutea ser superior al doble del nuacutemerode neuronas de entrada [106] fueron realizadas diferentes pruebas en las que se emplearon

104 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

hasta un maacuteximo de 18 neuronas En cada prueba los patrones normalizados del conjuntode entrenamiento fueron presentados iterativamente a la red y sus salidas se compararon conlos resultados esperados Cuando las salidas no resultaron satisfactorias los pesos fueronactualizados seguacuten el algoritmo de aprendizaje

Para evitar el sobreentrenamiento de la red es decir que la red aprendiese las particula-ridades propias de los patrones de entrenamiento limitando su capacidad de generalizacioacutense utilizoacute un conjunto de validacioacuten En cada iteracioacuten del proceso de entrenamiento se proboacutela red con el conjunto de validacioacuten y se calculoacute su eficacia Por norma general la eficaciade la red respecto al conjunto de entrenamiento iraacute mejorando en las sucesivas iteraciones delentrenamiento sin embargo la eficacia sobre el conjunto de validacioacuten alcanzaraacute un punto deinflexioacuten en el que la tendencia cambiaraacute La iteracioacuten donde se alcance la eficiencia maacuteximasobre el conjunto de validacioacuten marca el final del entrenamiento Una vez finalizado el en-trenamiento la red entrenada y validada se proboacute nuevamente sobre el conjunto de test paraconfirmar su eficacia con un conjunto independiente

Figura 522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP

Las pruebas de arquitectura fueron realizadas con diferentes inicializaciones de la red ta-sas de aprendizaje valores para el teacutermino momento y funciones de transferencia los mejoresresultados se obtuvieron utilizando 11 neuronas en la capa oculta con una tasa de aprendizajede 03 y un valor de momento de 09 La funcioacuten de propagacioacuten utilizada fue la suma pon-derada de las entradas de cada neurona con los pesos asociadas a ellas (incluyendo el sesgo)

56 Clasificacioacuten 105

mientras que la funcioacuten de transferencia seleccionada fue una sigmoide (tangente hiperboacuteli-ca) Los resultados de la ejecucioacuten de la red sobre los candidatos contenidos en los conjuntosde validacioacuten y test asiacute como su comparativa con el otro clasificador se muestran en detalleen el capiacutetulo 6

562 Aacuterboles de decisioacuten

Descripcioacuten

Un aacuterbol de decisioacuten [14] es un meacutetodo de aprendizaje inductivo supervisado y no para-meacutetrico que puede ser utilizado tanto para la clasificacioacuten como para la regresioacuten Se imple-menta a traveacutes de una estructura jeraacuterquica basada en una estrategia de divide y venceraacutes ygeneralmente se representa como un aacuterbol binario es decir una estructura de datos formadapor nodos en la que cada nodo que no sea final tiene dos hijos Los nodos finales son conoci-dos como hojas mientras que los intermedios son denominados nodos decisioacuten De entre lasdiferentes implementaciones posibles que se pueden encontrar en la literatura el clasificadordesarrollado se basoacute en los Aacuterboles de Clasificacioacuten y Regresioacuten (CART) propuestos porBreiman et aacutel [24]

Construccioacuten y entrenamiento del aacuterbol

El entrenamiento y construccioacuten de un aacuterbol de clasificacioacuten se realiza a partir de un con-junto de patrones de entrenamiento previamente etiquetados en el que se trata de encontrar atraveacutes de sucesivas particiones secciones en su espacio de representacioacuten en las que todos lospatrones presentes pertenezcan a una misma clase o etiqueta Cada particioacuten se representa enel aacuterbol como un nodo decisioacuten en el que se evaluacutea una caracteriacutestica presente en los patronesagrupaacutendose eacutestos acorde al resultado de la evaluacioacuten en uno de los nodos hijo generados

Sea m un nodo del aacuterbol y Nm los patrones o instancias de entrenamiento que llegan a esenodo desde el conjunto inicial N contenido en el nodo raiacutez se considera Ni

m un subconjuntode Nm que contiene patrones asociados a la clase Ci donde

sumi

Nim = Nm (511)

Dado un patroacuten que alcanza el nodo m la probabilidad de que pertenezca a la clase Ci sepuede calcular como

pim =

Nim

Nm(512)

106 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Un nodo se considera puro cuando todos los patrones que llegan a ese nodo pertenecen a unamisma clase lo cual se expresa matemaacuteticamente de la siguiente manera

m = purolArrrArrforalli pim isin 01 (513)

Los nodos puros representan hojas del aacuterbol y se etiquetan con el valor de la clase asignadaa sus patrones Si los dos nodos hijo de una particioacuten son puros dicha particioacuten se considerapura

Aunque lo ideal es realizar particiones puras la mayoriacutea no lo son y las que lo son sesituacutean en la parte inferior del aacuterbol (ramas inferiores) Es necesario establecer un meacutetodopara seleccionar la mejor particioacuten en cada punto del aacuterbol y para ello se debe cuantificar laimpureza de las posibles particiones y seleccionar la que tenga menor valor Existen diferentesmeacutetodos de cuantificar la impureza de una particioacuten siendo el meacutetodo Gini [24] uno de losmaacutes populares y el empleado para desarrollar el clasificador de SENTINAZOS El valor deGini se calcula como

1minussumi(pi

m)2 (514)

En la Figura 523 se muestra un sencillo ejemplo de construccioacuten de un aacuterbol de decisioacutenbinario El conjunto de entrenamiento estaacute formado 20 patrones pertenecientes a 2 tipos dife-rentes de clases diferentes y cada patroacuten contiene medidas para 2 caracteriacutesticas Se observaque no todas las hojas del ejemplo son puras ya que aunque es posible crear un aacuterbol sufi-cientemente grande donde todas sus hojas sean puras lo maacutes probable es que se caiga en elsobreentrenamiento por tanto es necesario utilizar reglas que gestionen el tamantildeo del aacuterbol

01 2 3 4 5 6 7

1

2

3

4

5

6

x

y

yge3

xge37

1010

6410

9 41

a b

Figura 523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario a) Patrones de entrenamiento en base a doscaracteriacutesticas b) Aacuterbol desarrollado a partir de los patrones de entrenamiento

56 Clasificacioacuten 107

Poda

El tamantildeo del aacuterbol generado puede establecerse desde dos estrategias diferentes por unlado se puede definir a priori un umbral que establezca el nuacutemero de patrones miacutenimo quedebe alcanzar un nodo para que se permita crear una nueva particioacuten lo cual implica que elaacuterbol dejaraacute de crecer en el momento en que los patrones sean inferiores a ese umbral Otraestrategia consiste en desarrollar completamente el aacuterbol hasta conseguir que todas sus hojassean puras o hasta que los patrones asociados sean inferiores a un umbral y a continuacioacutenpodarlo

El proceso de poda trata de encontrar las secciones del aacuterbol (subaacuterboles) que no apor-tan ventajas y se asocian al sobreentrenamiento Existen diferentes estrategias de poda y enel caso concreto del clasificador desarrollado la estrategia utilizada fue la de seleccionar lapoda que mejor clasificaba un conjunto de validacioacuten Utilizando un grupo independiente depatrones o conjunto de validacioacuten y de forma incremental desde las hojas hacia el nodo raiacutezse sustituyoacute cada posible subaacuterbol por una hoja etiquetada con la clase asociada a la mayoriacuteade los patrones de entrenamiento que clasificaba ese subaacuterbol Si la eficiencia del nuevo aacuterbolno era peor que la del original la poda se llevaba a cabo pues la mayor complejidad no sejustificaba

La estrategia de poda obtiene mejores resultados que la estrategia basada en detener elcrecimiento del aacuterbol ya que la poda permite que un subaacuterbol de un nodo permanezca mien-tras que su laquohermanoraquo desaparece y esto seriacutea imposible con una estrategia de parada ya queel crecimiento se detendriacutea por ambas ramas Por otro lado la estrategia de poda es maacutes lentay compleja ya que es necesario analizar los diferentes subaacuterboles de los que estaacute compuestoel aacuterbol original y encontrar la mejor poda

Clasificador

Se desarrolloacute un clasificador basado en un aacuterbol de decisioacuten binario para clasificar loscandidatos resultantes de la fase de segmentacioacuten Al igual que para la ANN presentada enla Seccioacuten 561 para el entrenamiento y desarrollo del clasificador se utilizaron 3 conjuntossiguiendo el mismo esquema de la Figura 517 el 70 de los elementos fueron utilizadospara entrenar el aacuterbol un 15 fue utilizado para podarlo (conjunto de evaluacioacuten) y el 15restante fue empleado en el test del clasificador resultante El meacutetodo Gini ha sido el empleadopara cuantificar la impureza de las particiones en el proceso de desarrollo del aacuterbol

108 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

El aacuterbol con hojas puras y generado uacutenicamente a traveacutes del entrenamiento se muestra enla Figura 524 se puede observar que el tamantildeo del aacuterbol es considerable y se le presuponeun sobreentrenamiento A traveacutes de un proceso de poda en el que se calculoacute la eficacia de losdiferentes subaacuterboles sobre el conjunto de validacioacuten se establecioacute que el mejor clasificadorera el subaacuterbol presentado en la Figura 525 Para confirmar su eficacia se utilizoacute el conjuntode test Los resultados del clasificador sobre los candidatos contenidos tanto en el conjunto detest como en el de validacioacuten se presentan en el Capiacutetulo 6

Ratio intensidad lt 204183

Sentinazo Look-alike

PCA3 lt 949121

AI lt 249877

Viento lt 298174

PCA4 lt 237383

Intensidad lt 00748946

PCA1 lt 107964

Intensidad lt 000383156 Ratio intensidad lt 249859

Viento lt 349681

PCA1 lt 532078

PCA1 lt 185418

Sentinazo Look-alike

Sentinazo

Look-alikeSentinazo

PCA5 lt -145036

PCA1 lt 491891 PCA1 lt 713184

SentinazoLook-alikeSentinazo

Ratio intensidad 160946 PCA4 lt 312993

PCA4 lt 318744

PCA1 lt 23493

PCA5 lt -377764

PCA2 lt 219814

Viento lt 563786

SentinazoLook-alike

Look-alike

Sentinazo

Look-alike

Sentinazo Look-alike

Sentinazo Look-alike

Sentinazo

Sentinazo

SentinazoLook-alike

Siacute No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

Siacute

SiacuteSiacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Figura 524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el proceso de entrenamiento

Ratio intensidad lt 204183

Sentinazo

Look-alike

PCA3 lt 949121

Sentinazo

No

NoSiacute

Siacute

Figura 525 Aacuterbol de decisioacuten binario podado

57 Validacioacuten del sistema de deteccioacuten de vertidos 109

57 Validacioacuten del sistema de deteccioacuten de vertidos

571 Desarrollo de un software de escritorio

La necesidad de evaluar los algoritmos presentados en las secciones anteriores condujoal desarrollo de un software de escritorio La implementacioacuten del prototipo se basoacute en soft-ware de coacutedigo libre y abierto con el objetivo de que pudiese ser libremente distribuido y asiacutepromover la colaboracioacuten entre la comunidad cientiacutefica

Visualizacioacuten

Para facilitar el trabajo con los datos SAR se implementoacute un visor especiacutefico que permi-tiese visualizar e interactuar (navegar aumentar y reducir) con las imaacutegenes asiacute como repre-sentarlas sobre un mapa de contexto mundial para mejorar la interpretacioacuten de los resultadosEl visor (veacutease la Figura 526) tambieacuten se disentildeoacute para acceder a los metadatos contenidos enlas cabeceras de las imaacutegenes

Figura 526 Pantalla principal del software de escritorio

110 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Identificacioacuten de sentinazos

El prototipo implementado contiene las diferentes funciones y meacutetodos de deteccioacuten desentinazos presentados en los apartados anteriores Existen dos formas de ejecutarlo por unlado automaacuteticamente a traveacutes de los paraacutemetros filtros y funciones por defecto por otrolado haciendo uso de una personalizacioacuten que permite configurar yo modificar el procesadode la imagen

ndash Filtro de ruido la aplicacioacuten dispone de un filtro de mediana un filtro de Gauss y unfiltro bilateral

ndash Filtro de aacuterea el usuario puede seleccionar el valor maacuteximo del filtro del aacuterea que seaplicaraacute a la imagen

ndash Clasificadores la aplicacioacuten permite emplear los diferentes clasificadores a traveacutes de suconfiguracioacuten por defecto o cargando una nueva base de conocimiento

El resultado de cada accioacuten ejecutada sobre la imagen es mostrado en el visor lo quepermite evaluar sus efectos La Figura 527 muestra un ejemplo del resultado obtenido trasprocesar una imagen SAR empleando los paraacutemetros por defecto maacutescara de tierra (veacutease laSeccioacuten 532) filtro de mediana de 3x3 (veacutease la Seccioacuten 533) segmentacioacuten por umbra-lizacioacuten adaptativa en base a los vientos (veacutease la Seccioacuten 541) filtro de vientos menores a3 ms (veacutease la Seccioacuten 543) filtro de aacutereas inferiores a 03 Km2 (veacutease la Seccioacuten 544) yclasificacioacuten empleando la ANN (veacutease la Seccioacuten 561)

572 Integracioacuten en RETELAB

Una vez finalizado y validado el sistema de deteccioacuten de vertidos de hidrocarburos se pro-cedioacute a su integracioacuten en RETELAB Al contrario que el prototipo de escritorio que permitiacuteair visualizando el efecto de ejecutar diferentes acciones sobre los datos SAR la versioacuten Gridde SENTINAZOS fue pensada para ser ejecutada en modo no interactivo de forma que elusuario debe seleccionar en un primer momento los paraacutemetros de la tarea y a continuacioacutenprocesarla y esperar a los resultados finales

A pesar de la limitacioacuten en cuanto a la interaccioacuten las ventajas que proporciona la compu-tacioacuten Grid al sistema SENTINAZOS son importantes

57 Validacioacuten del sistema de deteccioacuten de vertidos 111

Figura 527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de los paraacutemetros por defectoy un clasificador ANN

ndash Permite compartir los datos (vientos datos SAR etc) entre los diferentes centros par-ticipantes

ndash Los resultados obtenidos pueden ser distribuidos y utilizados para nuevos estudios porel resto de los participantes de la red por ejemplo para realizar predicciones de laevolucioacuten de los vertidos o para ejecutar algoritmos de backtracking con el objetivo dedetectar su fuente

ndash El entorno de RETELAB permite ejecutar diferentes instancias de SENTINAZOS y asiacuteprocesar diferentes aacutereas simultaacuteneamente

ndash La presencia de recursos computacionales de gran potencia puede aportar una mayorvelocidad de procesamiento

El portlet para la deteccioacuten de sentinazos permite seleccionar diferentes acciones a rea-lizar sobre los datos SAR como por ejemplo segmentar clasificar una imagen previamentesegmentada o segmentar y clasificar Para la clasificacioacuten se permite escoger uno de los dosclasificadores implementados (ANN o aacuterboles de decisioacuten) y los paraacutemetros escogidos tantopara los filtros (ruido aacuterea vientos) como para los clasificadores estaacuten prefijados

112 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Al igual que el resto de los portlets eacuteste ha sido integrado con el Data Grid (veacutease laSeccioacuten 33) tanto para poder acceder y utilizar los datos de la DB virtual como para compartirlos resultados generados Ademaacutes el portlet tambieacuten se ha integrado con el monitor de tareaspara realizar un seguimiento del estado de las tareas y acceder a los resultados que generen

La Figura 528 muestra el portlet desarrollado para SENTINAZOS y su integracioacuten en ellaboratorio de RETELAB

Figura 528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en el laboratorio virtual

CAPIacuteTULO 6

RESULTADOS

61 Eficacia

Los clasificadores presentados en las secciones 561 y 562 han sido desarrollados uti-lizando la DB de candidatos presentada en la Figura 517 es decir se han utilizado los mis-mos conjuntos para entrenar validar y probar los clasificadores lo que permitioacute realizar unacomparativa entre ellos en teacuterminos de eficacia (veacutease Tabla 61) Los datos relativos al rendi-miento del aacuterbol de decisioacuten original (sin podar) son meramente ilustrativos ya que reflejancoacutemo el sobreentrenamiento afecta a la clasificacioacuten de otros conjuntos que no sean el deentrenamiento En la praacutectica soacutelo el aacuterbol podado y la red MLP han sido utilizados comoclasificadores

Validacioacuten TestSentinazos Look-alikes Sentinazos Look-alikes

Red MLP 857 852 929 963Aacuterbol decisioacuten original 500 889 357 889Aacuterbol decisioacuten podado 929 852 929 926

Tabla 61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten y test

La eficacia de los clasificadores fue comprobada directamente sobre las imaacutegenes SARal ser eacutestos implementados como parte del prototipo descrito en la seccioacuten 571 La Figu-ra 61 muestra una composicioacuten realizada soacutelo con el objeto de facilitar la visualizacioacuten de2 imaacutegenes SAR (Figura 61a) y su correspondiente segmentacioacuten (Figura 61b) asiacute comolos resultados obtenidos por los clasificadores (Figura 61c y Figura 61d) Enmarcados en

114 Capiacutetulo 6 Resultados

color rojo se identifican varios sentinazos confirmados a traveacutes de misiones de vigilancia deSASEMAR que se detallan en la Figura 62 junto al resultado de clasificarlos mediante la redMLP

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

a b9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

c d

Figura 61 a) Composicioacuten a efectos de visualizacioacuten de 2 imaacutegenes SAR La imagen lsquo1rsquo fue obtenida el28032011 y la imagen lsquo2rsquo el 14102011 b) Composicioacuten formada por la segmentacioacuten de lasimaacutegenes SAR c) Montaje formado por los resultados de aplicar el clasificador basado en el aacuterbol dedecisioacuten a las imaacutegenes segmentadas d) Montaje formado por los resultados de aplicar el clasificadorbasado en la red MLP a las imaacutegenes segmentadas

Se puede observar que los resultados obtenidos a traveacutes del clasificador basado en el aacuterbolde decisioacuten son muy similares a los ofrecidos por el que utiliza la red MLP (sobre todo desdeel punto de vista de la deteccioacuten de sentinazos) si bien la ANN (veacutease la Figura 61d) generauna menor cantidad de falsos positivos

61 Eficacia 115

A

10deg30W10deg40W

43deg40N

0 1 2 305Millas Naacuteuticas

B

9deg50W10degW10deg10W10deg20W10deg30W

43degN

42deg50N

42deg40N

0 4 8 122Millas Naacuteuticas

C

9deg40W9deg50W10degW

42deg10N

42degN

0 2 4 61Millas Naacuteuticas

Figura 62 A la izquierda detalle de los sentinazos confirmados e identificados en la Figura 61 a la derecharesultados obtenidos a traveacutes del clasificador basado en una red MLP

116 Capiacutetulo 6 Resultados

62 Tiempo de procesamiento

El tiempo requerido para el procesamiento de las imaacutegenes en la buacutesqueda de vertidos dehidrocarburos es criacutetico y por ello los algoritmos presentados en las secciones anteriores hansido desarrollados con el objetivo de minimizarlo pero sin sacrificar su eficacia sobre todoen cuanto a la no deteccioacuten de sentinazos (falsos negativos) Ademaacutes de tener un especialcuidado en el disentildeo e implementacioacuten del software el coacutedigo se desarrolloacute pensando enobtener el mejor rendimiento de los microprocesadores multinuacutecleo presentes en la mayoriacuteade las computadoras actuales Para la implementacioacuten se empleoacute el API de OpenMP [36] quepermite adaptar y paralelizar automaacuteticamente la ejecucioacuten del coacutedigo entre los diferentesnuacutecleos de los que disponga el procesador donde se ejecuta la aplicacioacuten y asiacute obtener elmaacuteximo rendimiento

Fueron probadas dos versiones del algoritmo (claacutesica y optimizada) utilizando un nodode computacioacuten Core 2 Duo - 213 Ghz con 3 GB de RAM y despueacutes de 100 iteracionessobre una imagen de 8088 x 6481 piacutexeles la versioacuten optimizada empleoacute una media de 194segundos por ejecucioacuten mejorando un 296 el tiempo de ejecucioacuten del algoritmo claacutesico

CAPIacuteTULO 7

DISCUSIOacuteN

Debido a las condiciones tanto geograacuteficas como climatoloacutegicas de la costa gallega (aacutereade estudio) los vientos de baja intensidad generan la mayor parte de los falsos positivos olook-alikes El algoritmo desarrollado los filtra en su mayor parte en la fase de segmentacioacutenal introducir una umbralizacioacuten basada en la velocidad del viento Una de las consecuenciasde este proceso de segmentacioacuten es que algunos vertidos pueden quedar parcialmente ocultosen la salida si se encuentran situados en aacutereas afectadas por vientos de baja intensidad Modi-ficar el umbral de viento miacutenimo mejora la segmentacioacuten en algunos de los casos pero a costade incrementar notablemente el nuacutemero de falsos positivos Es muy complicado detectar sen-tinazos en aacutereas con vientos de baja intensidad debido a que la superficie del mar no genera elbrillo suficiente en la imagen SAR para que se produzca un contraste entre la superficie afec-tada por el sentinazo y el mar limpio y ademaacutes la intensidad de la sentildeal retrodispersada quellega al sateacutelite se aproxima al ruido de fondo (veacutease la Seccioacuten 521) dificultando discernirlos fenoacutemenos presentes en la superficie

A pesar de que la utilizacioacuten de los datos de viento mejoroacute considerablemente la segmen-tacioacuten eacutesta podriacutea ser maacutes precisa si se utilizasen medidas reales o provenientes de modelosde vientos maacutes precisos que el CMOD5 que trabaja directamente con los datos SAR El mo-delo CMOD5 es bastante exacto cuando se trata de velocidades de viento inferiores a 15 msy empeora con vientos de mayor intensidad [62] El error producido por el modelo aunquesea pequentildeo podriacutea ser clave para que una zona sea identificada como look-alike sobre todosi no alcanza el umbral miacutenimo de viento

118 Capiacutetulo 7 Discusioacuten

Otro de los inconvenientes que se presentan al emplear un modelo basado en los pro-pios datos SAR es la dificultad para calcular los datos de viento en las aacutereas proacuteximas a lacosta CMOD5 soacutelo calcula la velocidad del viento en la superficie oceaacutenica y necesita unalaquoventanaraquo de datos alrededor del aacuterea de estudio por lo que la presencia de la costa puededistorsionar los resultados La propia costa tambieacuten genera muchos falsos positivos al pro-teger del viento a la superficie marina generando aacutereas de baja intensidad Para evitar estosinconvenientes se ha usado una maacutescara de tierra extendida (veacutease la Seccioacuten 532) pero losresultados siguen mostrando una mayor cantidad de look-alikes en las aacutereas maacutes cercanas ala costa Aumentar la maacutescara para reducir el efecto de la costa obtendriacutea mejores resultadosdesde el punto de vista de los look-alikes pero a costa de ocultar posibles sentinazos que sehayan desplazado y que puedan ser potencialmente peligrosos para el medioambiente

La comparativa entre los diferentes sistemas de deteccioacuten de sentinazos presentes en laliteratura es especialmente complicada debido a que cada uno utiliza su propia DB para entre-nar y para validar se basa en diferentes tipos y resoluciones de imaacutegenes SAR usa diferentesvectores de caracteriacutesticas etc Ademaacutes es habitual que las DB contengan imaacutegenes con ver-tidos que solamente han sido identificados por expertos y directamente sobre la propia imagenpero sin confirmacioacuten in situ Los porcentajes de eficacia de los diferentes sistemas deben sertomados a modo de referencia pero de ellos no puede extrapolarse ninguna conclusioacuten defi-nitiva Algunos de los sistemas de deteccioacuten de hidrocarburos presentes en la literatura asiacutecomo sus porcentajes de eficacia son mostrados en la Tabla 7

Ref DB Clasificador Eficacia[37] 71 Sentinazos 68 Look-alikes Red MLP (validacioacuten

cruzada)82 Look-alikes 90 Sentinazos

[108] 34 Sentinazos 45 Look-alikes Red MLP 91 Look-alikes 87 Sentinazos[103] 71 Sentinazos 6980 Look-alikes Modelo estadiacutestico +

Sist basado en reglas99 Look-alikes 94 Sentinazos

[104] 37 Sentinazos 12110 Look-alikes Modelo estadiacutestico +Sist basado en reglas

994 Look-alikes 784 Sentinazos

[26] 41 Sentinazos 12245 Look-alikes Modelo estadiacutestico +Sist basado en reglas+ Estimador de con-fianza

897 Look-alikes 9207 Sentinazos(sin aplicar el estimador de confianza)

[41] 11 Sentinazos 6 Look-alikes 4Desconocidos

Distancia de Mahala-nobis

100 Look-alikes 82 Sentinazos 0Desconocidos

Clasificador probabi-liacutestico

67 Look-alikes 909 Sentinazos 50Desconocidos

[54] 1915 piacutexeles (552 Sentinazos 557Bajo viento 806 Superficie limpia)

Red MLP 9825 Look-alikes 9702 Sentinazos

Tabla 71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia en la clasificacioacuten

119

Los resultados de los clasificadores implementados (veacutease Tabla 61) son muy promete-dores a la vista de los porcentajes de eficacia obtenidos por los clasificadores presentes enla literatura No obstante es sorprendente que un clasificador tan sencillo como el aacuterbol dedecisioacuten binario obtenga unos resultados comparables a la mayoriacutea de clasificadores siendoeacutestos en general mucho maacutes complejos Esto puede ser debido a varios factores por un ladola mayoriacutea de los look-alikes son filtrados gracias al empleo de datos meteoroloacutegicos en lafase de segmentacioacuten por otro lado la mayoriacutea de los candidatos segmentados pueden serclasificados basaacutendose soacutelo en una de las variables del vector (ratio entre la intensidad de lospiacutexeles de la mancha respecto al aacuterea circundante) mientras que el uso de las otras varia-bles del vector permitiraacute discernir los casos maacutes problemaacuteticos siendo esto lo que marca ladiferencia entre la red neuronal implementada y el aacuterbol

La mayoriacutea de los sistemas dan sus porcentajes de eficacia en funcioacuten de la clasificacioacutende los candidatos pero en otros casos como Oacutescar Garcia-Pineda et aacutel [54] se presentala eficacia en funcioacuten de la correcta clasificacioacuten a nivel de piacutexel En general se espera unaeficacia mayor a nivel de piacutexel dado que las DB suelen estar formadas por un mayor nuacutemero derepresentantes y los errores si son pocos quedan maacutes diluidos en los porcentajes Ademaacutessi se analizan imaacutegenes completas la cantidad de piacutexeles que representan hidrocarburos esclaramente inferior a la que representa superficie limpia por lo que se espera un porcentajede eficacia media muy alto de piacutexeles correctamente etiquetados

El tiempo de procesamiento es criacutetico en un sistema que debe dar respuesta en tiempocuasi real pero la mayoriacutea de los sistemas de deteccioacuten de hidrocarburos presentes en la lite-ratura lo relegan a un segundo plano en pos de la eficacia Sin embargo una raacutepida deteccioacutenpuede marcar la diferencia a la hora de ser efectivos gestionando un vertido o incluso en labuacutesqueda de los responsables Teniendo en cuenta que en la praacutectica la mayoriacutea de los siste-mas funcionan de forma semiautomaacutetica es decir que un operador suele revisar los resultadosantes de enviar los medios de vigilancia se hace maacutes plausible que el sistema se desarrollecon el objetivo de detectar sentinazos en el intervalo de tiempo maacutes breve posible incluso sipara ello se sacrifica eficacia en la eliminacioacuten de los falsos positivos o look-alikes El sistemapresentado con una media de 194 s de tiempo de procesamiento representa una importantemejora respecto a otros sistemas como el TCNNA (65 min) el cual se aplica a imaacutegenescompletas Solberg et aacutel [104] (145 min) que utiliza factores de escape en su algoritmo parano procesar completamente la imagen es decir no utiliza todos los datos con el consecuenteriesgo de no conseguir los mejores resultados o Topouzelis et aacutel [108] (2-5 min) que utiliza

120 Capiacutetulo 7 Discusioacuten

subsecciones de la imagen de entre 4 y 16 MB previamente seleccionadas por un operadorEn otros casos se opta por reducir la resolucioacuten radiomeacutetrica y trabajar soacutelo con 256 nivelesde grises [90] [54] lo que conlleva un incremento en la velocidad de procesamiento de lasimaacutegenes pero a costa de perder informacioacuten

Es importante tener en cuenta que los datos presentados en cuanto al tiempo de procesa-miento estaacuten iacutentimamente relacionados con las caracteriacutesticas de la computadora utilizada esdecir que podriacutean ser faacutecilmente mejorados disponiendo de un hardware con mayor poten-cia y aunque esto pueda parecer obvio para cualquier software en el caso presentado cobramayor relevancia puesto que fue desarrollado para adaptarse automaacuteticamente y utilizar losdiferentes nuacutecleos disponibles

Epiacutelogo

CAPIacuteTULO 8

RESULTADOS Y CONCLUSIONES

En este trabajo se ha planteado el desarrollo despliegue y validacioacuten de un laboratorio vir-tual oceanograacutefico Partiendo de unos requisitos iniciales ambiciosos en los que se abordarondiferentes liacuteneas de investigacioacuten se desarrolloacute un entorno de trabajo basado en computacioacutenGrid enfocado a la ejecucioacuten de aplicaciones de oceanografiacutea Para validar el entorno se desa-rrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos en la superficieoceaacutenica a traveacutes de datos de sateacutelite

Las principales aportaciones del presente trabajo han sido

ndash Desarrollo de un laboratorio virtual de altas prestaciones se ha presentado un en-torno de trabajo unificado y versaacutetil que permite a los investigadores realizar una granparte de su trabajo sin necesidad de otras herramientas Como si de un laboratorio realse tratase el entorno permite

bull Administrar el acceso de los usuarios

bull Gestionar analizar y visualizar datos

bull Procesar datos utilizando recursos computacionales de altas prestaciones

bull Distribuir y compartir los resultados de los proyectos con la comunidad

ndash Desarrollo de una interfaz amigable tanto la arquitectura del sistema como su inter-faz han sido disentildeadas para abstraer a los usuarios finales de la tecnologiacutea subyacenteInternet es un entorno coacutemodo y familiar para la mayor parte de los usuarios y porello se escogioacute un portal Web como medio de acceso al sistema Grid El portal fue

124 Capiacutetulo 8 Resultados y conclusiones

implementado empleando GridSphere que proporciona un entorno de desarrollo deportales Web basado en portlets El uso de portlets permite desplegar aplicaciones inde-pendientes del middleware Grid utilizado en el sistema asiacute como reutilizarlas en otrosportales La solucioacuten tecnoloacutegica desarrollada permite al usuario centrar sus esfuerzosen el desarrollo de sus trabajos y no en el aprendizaje de las herramientas

ndash Sistema de autenticacioacuten y autorizacioacuten simplificado buscando una solucioacuten bienequilibrada entre seguridad y facilidad de uso se disentildeoacute y desarrolloacute un sistema deautenticacioacuten y autorizacioacuten integrando y mejorando diferentes tecnologiacuteas El sistemade registros de usuarios PURSe fue desplegado para abstraer a los usuarios del usode los DCs Tanto PURSe como GridSphere fueron modificados para gestionar rolesde usuarios a traveacutes de ACs y asiacute poder emplearlos como medio de autorizacioacuten enel Grid El uso de un sistema de autorizacioacuten del tipo RBAC en un Grid simplifica laadministracioacuten de los recursos y por esta razoacuten en RETELAB se integroacute el softwarePERMIS que permite gestionar poliacuteticas de seguridad basadas en roles

ndash Despliegue de un sistema de autenticacioacuten SSO los usuarios que pertenezcan a cen-tros incluidos en la red de confianza de RETELAB pueden acceder al portal sin nece-sidad de registrarse a traveacutes del sistema de autenticacioacuten de sus centros Para realizareste proceso se integroacute Shibboleth y se desarrollaron procedimientos que generan deforma temporal DCs y ACs para los usuarios externos Los datos necesarios para losdiferentes certificados son proporcionados por las organizaciones en el proceso de au-tenticacioacuten

ndash Despliegue de un sistema de almacenamiento distribuido basado en metadatosse ha disentildeado y desplegado un sistema de almacenamiento distribuido que permitea la comunidad de RETELAB compartir los datos de sus investigaciones Esta DBvirtual que soporta formatos estaacutendar en oceanografiacutea estaacute dirigida por metadatos parafacilitar el etiquetado y descripcioacuten de los datos almacenados y asiacute mejorar los sistemasde buacutesquedas Para unificar el uso de los metadatos se ha seleccionado el estaacutendar paradescribir informacioacuten geograacutefica ISO 19115

ndash Despliegue de un metaplanificador y un monitor de trabajos se ha disentildeado una in-terfaz de ejecucioacuten y monitorizacioacuten de trabajos que permite a los usuarios configurarejecutar y monitorizar sus trabajos sin que sea necesario que conozcan la infraestruc-tura hardware Para ello se ha desplegado una versioacuten mejorada del metaplanificador

125

GridWay que se encarga de gestionar en nombre del usuario la ejecucioacuten de las tareasEl monitor permite visualizar el estado de las tareas y acceder a los resultados una vezque hayan finalizado Tanto la versioacuten del GridWay utilizada como la interfaz de ejecu-cioacuten y monitorizacioacuten de los trabajos ha sido realizada por el CESGA en el marco delproyecto RETELAB

ndash Validacioacuten y distribucioacuten de los resultados utilizando la interfaz de monitorizacioacutenel usuario puede acceder a los resultados de las tareas ejecutadas Desde la interfazde resultados el usuario puede descargar los ficheros generados o compartirlos con lacomunidad publicaacutendolos previa descripcioacuten a traveacutes de metadatos en la DB virtuallo que realimenta el sistema El entorno cuenta con una herramienta avanzada para lavisualizacioacuten y validacioacuten de los datos llamada IDV (desarrollada por Unidata) Estesoftware se descarga e instala en el puesto de trabajo del usuario de forma temporal ytransparente y se ejecuta con los datos seleccionados por el usuario

ndash Desarrollo de un sistema de deteccioacuten de vertidos de hidrocarburos el laboratoriovirtual se ha validado a traveacutes del despliegue de varias aplicaciones y entre ellas porsu entidad alcance y necesidad de investigacioacuten adicional del estado del arte destacaSENTINAZOS Eacuteste es un sistema de deteccioacuten de vertidos de hidrocarburos en lasuperficie oceaacutenica que fue desarrollado con el doble propoacutesito de validar el sistema yde encontrar una solucioacuten para un problema diario de nuestras costas Las principalesaportaciones de este sistema son

bull Desarrollo de un procedimiento de segmentacioacuten adaptativo basado en la ve-locidad del viento partiendo de una DB de imaacutegenes SAR enriquecida tanto condatos de viento como con informacioacuten de vertidos de hidrocarburos se implemen-toacute un segmentador basado en una umbralizacioacuten adaptativa El establecimiento deeste umbral tiene como base el estudio de centenares de datos muestreados en losque se analizoacute la velocidad del viento el IA del sateacutelite respecto al punto mues-treado y su valor de intensidad Tras el estudio de la muestra se constatoacute que siel IA era similar las muestras asociadas a hidrocarburos teniacutean valores de intensi-dad menores a las que representaban superficie limpia pero ademaacutes se comproboacuteque estos valores teniacutean una relacioacuten directa con el viento que afectaba a la zonaEmpleando estos datos se establecioacute una funcioacuten definida por partes que repre-sentaba el umbral de intensidad del hidrocarburo seguacuten el IA y la velocidad del

126 Capiacutetulo 8 Resultados y conclusiones

viento Este procedimiento de segmentacioacuten obtiene un menor nuacutemero de falsospositivos que otras alternativas lo que permite facilitar el trabajo del clasificadory obtener mejores resultados

bull Caracterizacioacuten de los candidatos a traveacutes de la forma diferentes estudios hanconstatado que los sentinazos adquieren formas que siguen patrones singularesdebido a su origen y a su antiguumledad Partiendo de la hipoacutetesis de que la formaes un elemento diferenciador se desarrolloacute un procedimiento para caracterizar loscandidatos que generaba un vector dominado por las caracteriacutesticas relacionadascon la forma La dimensionalidad de dicho vector fue reducida a traveacutes de unPCA siendo el resultado utilizado como entrada para el clasificador

bull Sistema semiautomaacutetico de deteccioacuten de vertidos se desarrollaron y analizarondos clasificadores para separar los falsos positivos de los sentinazos Tanto la ANNcomo el aacuterbol de decisioacuten obtuvieron resultados muy prometedores El uso de unsegmentador optimizado permite emplear clasificadores maacutes sencillos por lo quese reduce el tiempo de procesamiento sin sacrificar la tasa de aciertos

bull Disminucioacuten del tiempo de procesamiento empleando un paradigma de pro-gramacioacuten paralela con memoria compartida se ha implementado un sistema quepermite procesar completamente un producto SAR en un tiempo considerable-mente inferior al usado por aplicaciones similares encontradas en la literatura Es-ta mejora en el tiempo de procesamiento permite emplear el sistema de deteccioacutencomo una herramienta de ayuda a la toma de decisiones en tiempo casi real

CAPIacuteTULO 9

TRABAJO FUTURO

91 Trabajo futuro en el proyecto RETELAB

El futuro del laboratorio virtual puede verse desde dos puntos de vista por un lado la evo-lucioacuten del propio entorno que se centraraacute en el anaacutelisis de los posibles puntos de confluenciaentre la computacioacuten Grid y la Cloud Por otro el del desarrollo y mejora de las aplicacionesdesplegadas en particular la mejora de los algoritmos para la deteccioacuten de vertidos asiacute comola adaptacioacuten de eacutestos para trabajar con datos provenientes de fuentes diferentes al Envisatcomo por ejemplo el futuro sateacutelite Sentinel-1

911 Computacioacuten Cloud

La computacioacuten Cloud es un nuevo paradigma de computacioacuten distribuida que ha surgidocon fuerza estos uacuteltimos antildeos Al igual que ocurrioacute con la computacioacuten Grid su definicioacutenha sido objeto de debate tanto en el mundo empresarial como entre la comunidad cientiacuteficaLa literatura presenta multitud de definiciones pero en general se observa que las que provie-nen del mundo empresarial se centran en la perspectiva del usuario final y su experiencia deuso mientras que desde la comunidad cientiacutefica se incluyen tambieacuten aspectos relativos a suarquitectura Foster et aacutel [48] definen la computacioacuten Cloud como

laquoUn paradigma de computacioacuten distribuida de gran envergadura dirigido por economiacuteas

de escala en el que un conjunto administrado de recursos (procesamiento almacenamiento

entornos y aplicaciones) abstractos virtualizados y dinaacutemicamente escalables se proporcio-

nan bajo demanda a clientes viacutea Internetraquo

128 Capiacutetulo 9 Trabajo futuro

La computacioacuten Cloud es un paradigma de computacioacuten distribuida altamente especiali-zado que presenta las siguientes diferencias respecto a anteriores paradigmas [48]

ndash Es altamente escalable

ndash Puede ser encapsulado como una entidad abstracta y proporcionar diferentes niveles deservicios a los clientes finales

ndash Estaacute dirigido por economiacuteas de escala

ndash Los servicios son proporcionados bajo demanda y pueden ser configurados dinaacutemica-mente a traveacutes de la virtualizacioacuten

Su arquitectura puede dividirse en capas [48] y eacutestas mantienen una estrecha relacioacuten conlos servicios proporcionados (veacutease la Figura 91)

ndash Capa de infraestructura contiene los recursos hardware maacutes baacutesicos como son los recur-sos computacionales los de almacenamiento o los relacionados con la infraestructurade red

ndash Capa de recursos unificados empleando los recursos baacutesicos se encapsulan a traveacutesde la virtualizacioacuten nuevos recursos maacutes complejos que pueden ser proporcionados alas capas superiores o directamente a los usuarios finales

ndash Capa de plataforma proporciona a los recursos unificados herramientas especializadasmiddleware y servicios Su finalidad es preparar un entorno de desarrollo o de desplie-gue que pueda ser utilizado por la capa de aplicaciones o proporcionado como servicioa los usuarios

ndash Capa de aplicaciones contiene aplicaciones que son ejecutadas en el Cloud y expuestascomo servicios para ser utilizadas por los usuarios finales

Los Clouds en general proporcionan bajo demanda hasta tres tipos de servicios a los queel usuario puede acceder a traveacutes de un navegador Web o de un API bien definida [105]

ndash Infraestructura como Servicio (IaaS) proporciona recursos computacionales (procesa-miento y almacenamiento) virtualizados Esto permite que los usuarios puedan obtenerrecursos con unas determinadas caracteriacutesticas (nuacutemero de procesadores memoria es-pacio en disco etc) para cubrir unas necesidades concretas

91 Trabajo futuro en el proyecto RETELAB 129

ndash Plataforma como Servicio (PaaS) los servicios de plataforma estaacuten pensados para pro-porcionar a los usuarios entornos especiacuteficos bien sea para desarrollar software o biensea para desplegarlo permitiendo que los usuarios se abstraigan del hardware yo con-figuraciones

ndash Sofware como Servicio (SaaS) proporciona software especiacutefico para que sea accesibleremotamente por los clientes a traveacutes de Internet

Figura 91 Arquitectura del Cloud relacionada con los servicios que proporciona Figura adaptada de [105]

912 Integracioacuten de la computacioacuten Cloud en RETELAB

La integracioacuten de la computacioacuten Cloud en el proyecto RETELAB podriacutea proporcionaruna mayor flexibilidad al laboratorio Existen varias liacuteneas de futuro interesantes para desa-rrollar

ndash Agregacioacuten de recursos bajo demanda los recursos proporcionados por RETELAB es-taacuten limitados tanto en su nuacutemero como en sus caracteriacutesticas Si la demanda de recursospor parte de los usuarios excede la capacidad del laboratorio ya sea porque la cantidadde trabajos ejecutados es mayor de la que puede absorber porque los trabajos requie-ren recursos con caracteriacutesticas superiores (nuacutemero de procesadores memoria etc) oporque necesitan de un determinado entorno de ejecucioacuten que no estaacute disponible elCloud podriacutea proporcionar una solucioacuten raacutepida y puntual Aprovechando que el Cloud

130 Capiacutetulo 9 Trabajo futuro

proporciona IaaS podriacutean agregarse bajo demanda los recursos necesarios y graciasal PaaS seriacutea posible obtener recursos con una determinada configuracioacuten La tarea deinstanciar los recursos recaeriacutea sobre el metaplanificador GridWay del que existe unplugin (Broker GW-SLA) que permite negociar con entidades externas para incorporarrecursos al Grid y que ya fue utilizado con eacutexito en proyectos previos [55]

ndash Modificacioacuten dinaacutemica de los recursos el uso de la computacioacuten Cloud tambieacuten seriacuteauacutetil para gestionar los propios recursos de RETELAB ya que podriacutea optimizar su usoCuando se ejecuta un trabajo en el laboratorio el metaplanificador necesita conocer susnecesidades para poder gestionar su ejecucioacuten Puede darse el caso de que un trabajosea asignado a un recurso libre y lo infrautilice ya que no necesita de todo su potencial(procesadores memoria etc) Mientras tanto puede llegar a la cola un trabajo queaunque realmente necesite mejores condiciones para que su ejecucioacuten sea oacuteptima po-driacutea aprovechar la parte ociosa del recurso a la espera de mejores recursos Desplegandoun Cloud sobre los recursos disponibles podriacutean virtualizarse y optimizarse generandorecursos laquoa medidaraquo Asociando a cada cada tarea informacioacuten sobre cuaacuteles seriacutean losrequisitos miacutenimos y cuaacuteles los deseados para su ejecucioacuten se podriacutea virtualizar y asig-nar un recurso en el momento en que estuviesen disponibles los recursos miacutenimos Amedida que los recursos base fuesen quedando ociosos se aprovechariacutea la escalabilidaddinaacutemica del Cloud para mejorar el recurso virtual asignado a la tarea hasta alcanzar losrequisitos deseados El metaplanificador seriacutea el encargado de gestionar este procesopor lo que seriacutea necesario extender el JSDL para soportar dicha informacioacuten

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS

921 Fuentes de datos

Los algoritmos desarrollados para localizar vertidos de hidrocarburos estaacuten basados endatos obtenidos por el sateacutelite Envisat a traveacutes del modo de operacioacuten WSM A pesar de quela base de los algoritmos es vaacutelida para otras fuentes de datos es cierto que eacutestos deberiacutean seradaptados para ajustarse a sus particularidades como por ejemplo a las diferentes resolucio-nes espaciales La adaptacioacuten de los algoritmos para trabajar con diferentes fuentes siemprefue considerado como un trabajo futuro que actualmente y debido a la peacuterdida de contactocon el sateacutelite Envisat ha cobrado mayor relevancia A corto plazo los algoritmos deberiacuteanser adaptados para analizar datos provenientes del Radarsat mientras que a medio plazo seriacutea

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 131

interesante adaptarlos para trabajar con los datos que provengan del Sentinel-1 sateacutelite cuyolanzamiento estaacute previsto para el antildeo 2013

922 Mejora de los algoritmos

Existen varias liacuteneas de trabajo que podriacutean conducir a una mejora de los algoritmos ac-tuales para la deteccioacuten de vertidos

ndash Informacioacuten contextual dado que los sentinazos son generados habitualmente por bu-ques que transitan por el ESTF o por sus cercaniacuteas seriacutea interesante antildeadir informacioacutencontextual respecto a su entorno como por ejemplo la proximidad a una posible fuentedel vertido o su localizacioacuten respecto al ESTF Esta informacioacuten podriacutea ser obtenidaempleando los propios datos SAR ya que es posible utilizarlos para detectar embarca-ciones [89] y al estar georreferenciados tambieacuten es posible posicionar los sentinazosrespecto al ESTF

ndash Incorporacioacuten de datos provenientes de los Sistemas Automaacuteticos de Identificacioacuten(AISs) de buques la Organizacioacuten Internacional Mariacutetima (IMO) requiere que la ma-yor parte de las embarcaciones posean un sistema AIS para identificarlos y localizarlosEstos sistemas enviacutean sus datos a estaciones receptoras que almacenan y procesan lainformacioacuten SASEMAR ha implantado cobertura para AIS a lo largo de toda la cos-ta espantildeola por lo que la informacioacuten recogida podriacutea ser utilizada en el sistema dedeteccioacuten para acotar los posibles causantes del vertido

ndash Incorporacioacuten de nuevos datos de viento unos pocos informes de las misiones aeacutereasa las que tuvo acceso SASEMAR conteniacutean medidas de la velocidad del viento de laszonas en las que fueron detectados vertidos Estas medidas no se ajustaban correcta-mente a las obtenidas por el modelo CMOD5 y aunque la comparacioacuten es complicadadebido a que las misiones aeacutereas eran enviadas despueacutes de obtener y procesar la imagenSAR (no correspondiacutean al mismo momento) se considera que una posible liacutenea futuraes incorporar datos reales o de otros modelos que puedan ser maacutes precisos y asiacute podercomparar los resultados con los obtenidos actualmente

ndash Anaacutelisis de nuevos clasificadores a pesar de que los resultados obtenidos con las ANNsy con los aacuterboles de decisioacuten son satisfactorios seriacutea deseable analizar otros clasifica-dores con el objetivo de alcanzar un mejor porcentaje de aciertos De entre las diferentes

132 Capiacutetulo 9 Trabajo futuro

posibilidades las Maacutequinas de Soporte Vectorial (SVM) resultan especialmente intere-santes ya que en problemas tanto de clasificacioacuten como de regresioacuten tratan de definirun hiperplano en un espacio n-dimensional que separe las posibles clases de una formaestricta desde el punto de vista matemaacutetico Otras opciones posibles seriacutean las redesfuncionales o los clasificadores basados en loacutegica borrosa

Bibliografiacutea

[1] European Space Agency (ESA) httpsearthesain

[2] PURSE Portal-based User Registration Service httpwwwGrids-centerorgsolutionspurse (Retrieved October 2012)

[3] Sakai project Web Page httpwwwsakaiprojectorg (Retrieved October 2012)

[4] The Apache Velocity Project httpvelocityapacheorg (Retrieved October 2012)

[5] Tupelo Web Page httptupeloprojectncsauiucedu (Retrieved October 2012)

[6] Xen Web page httpwwwxenorg (Retrieved October 2012)

[7] ISO 191152003 Geographic information - Metadata Technical report InternationalOrganization for Standardization 2003

[8] The Grid 2 Second Edition Blueprint for a New Computing Infrastructure MorganKaufmann 2 edition December 2003

[9] Ahmar Abbas Grid computing a practical guide to technology and applications Char-les River Media 2004

[10] A Abdelnur and S Hepper JSR 168 Portlet Specification Tech-nical report Sun Microsystems October 2003 Also available onlinehttpwwwjcporgenjsrdetailid=168 (Retrieved Sept 2012)

[11] International Energy Agency Medium-Term Oil and Gas

Markets IEA Publications 2011 Also available onlinehttpwwwieaorgpublicationsfreepublicationspublicationMTOGM2011_Unsecuredpdf(Retrieved Sept 2012)

134 Bibliografiacutea

[12] Jay Alameda Marcus Christie Geoffrey Fox Joe Futrelle Dennis Gannon MihaelHategan Gopi Kandaswamy Gregor von Laszewski Mehmet A Nacar Marlon Pier-ce Eric Roberts Charles Severance and Mary Thomas The Open Grid ComputingEnvironments collaboration portlets and services for science gateways Concurrency

Computat Pract Exper 19(6)921ndash942 2007

[13] William Allcock John Bresnahan Rajkumar Kettimuthu Michael Link Catalin Dumi-trescu Ioan Raicu and Ian Foster The Globus Striped GridFTP Framework and ServerIn Proceedings of the 2005 ACMIEEE conference on Supercomputing volume 0 of SC

rsquo05 Washington DC USA 2005 IEEE Computer Society

[14] Ethem Alpaydin Introduction to Machine Learning (Adaptive Computation and Ma-chine Learning series) chapter 9 pages 185ndash208 The MIT Press second editionDecember 2009

[15] A Andronico R Barbera A Falzone G Lo Re A Pulvirenti and A Rodolico GE-NIUS a web portal for the grid Nuclear Instruments and Methods in Physics Research

Section A Accelerators Spectrometers Detectors and Associated Equipment 502(2-3)433ndash436 April 2003

[16] A Anjomshoaa F Brisard M Drescher D Fellows A Ly S McGough D Pul-sipher and A Savva ob submission description language (jsdl) specification ver-sion 10 Technical report Open Grid Forum November 2005 Also available onlinehttpwwwogforgdocumentsGFD56pdf (Retrieved October 2012)

[17] Mario Antonioletti Malcolm Atkinson Rob Baxter Andrew Borley Neil PChue Hong Brian Collins Neil Hardman Alastair C Hume Alan Knox Mike Jack-son Amy Krause Simon Laws James Magowan Norman W Paton Dave PearsonTom Sugden Paul Watson and Martin Westhead The design and implementation ofGrid database services in OGSA-DAI Concurrency Computat Pract Exper 17(2-4)357ndash376 2005

[18] C F Balseiro P Carracedo B Goacutemez P C Leitatildeo P Montero L Naranjo E Pena-bad and V Peacuterez-Muntildeuzuri Tracking the Prestige oil spill An operational experiencein simulation at MeteoGalicia Weather 58(12)452ndash458 2003

[19] R Barbera A Falzone and A Rodolico The genius grid portal In Computing in

High Energy and Nuclear Physics volume 24 page 28 2003

Bibliografiacutea 135

[20] M J Behrenfeld and P G Falkowski A consumerrsquos guide to phytoplankton primaryproductivity models Limnology and Oceanography 1997

[21] G Benelli and A Garzelli Oil-spills detection in SAR images by fractal dimensionestimation In Geoscience and Remote Sensing Symposium 1999 IGARSS amp03999

Proceedings IEEE 1999 International volume 1 pages 218ndash220 vol1 IEEE 1999

[22] Fran Berman Geoffrey Fox and Tony Hey The Grid Past Present Future In Grid

Computing pages 9ndash50 John Wiley amp Sons Ltd 2003

[23] D Bernholdt S Bharathi D Brown K Chanchio M Chen A Chervenak L Cinqui-ni B Drach I Foster P Fox and Others The earth system grid Supporting the nextgeneration of climate modeling research Proceedings of the IEEE 93(3) 2005

[24] Leo Breiman J H Friedman R A Olshen and C J Stone Classification and Re-

gression Trees Wadsworth 1984

[25] Camilla Brekke and Anne H S Solberg Oil spill detection by satellite remote sensingRemote Sensing of Environment 95(1)1ndash13 March 2005

[26] Camilla Brekke and Anne H S Solberg Classifiers and Confidence Estimation for OilSpill Detection in ENVISAT ASAR Images IEEE Geoscience and Remote Sensing

Letters 5(1)65ndash69 January 2008

[27] D Chadwick A Otenko and E Ball Role-based access control with X509 attributecertificates Internet Computing IEEE 7(2)62ndash69 March 2003

[28] David W Chadwick and Alexander Otenko The PERMIS X509 role based privile-ge management infrastructure Future Generation Computer Systems 19(2)277ndash289February 2003

[29] C F Chen K S Chen L Y Chang and A J Chen The use of satellite imagery formonitoring coastal environment in Taiwan In Geoscience and Remote Sensing 1997

IGARSS rsquo97 Remote Sensing - A Scientific Vision for Sustainable Development 1997

IEEE International volume 3 pages 1424ndash1426 vol3 IEEE August 1997

[30] R Chinnici J J Moreau A Ryman and S Weerawarana Web Services DescriptionLanguage (WSDL) Version 20 Part 1 Core Language Technical report W3C June2007

136 Bibliografiacutea

[31] E Chuvieco Radar In Teledeteccioacuten ambiental chapter 3 pages 108ndash116 ArielPublications 1 edition May 2002

[32] P Cornillon J Gallagher and T Sgouros OPeNDAP Accessing data in a distributedheterogeneous environment Data Science Journal 2164ndash174 2003

[33] Carmen Cotelo Andreacutes Goacutemez J Ignacio Loacutepez David Mera Joseacute M Cotos J Peacute-rez Marrero and Constantino Vaacutezquez Retelab A geospatial grid web laboratoryfor the oceanographic research community Future Generation Computer Systems26(8)1157ndash1164 October 2010

[34] Joseacute M Cotos and Alejandro Tobar Teledeteccioacuten de la marea negra del petroleroPrestige In Teledeteccioacuten de pesqueriacuteas y prediccioacuten de mareas toacutexicas chapter 9pages 177ndash182 Netbiblo first edition 2002

[35] L da Fontoura Costa and R M Cesar Shape analysis and classification theory and

practice CRC 2001

[36] L Dagum and R Menon OpenMP an industry standard API for shared-memoryprogramming IEEE Computational Science and Engineering 5(1)46ndash55 January1998

[37] F Del Frate A Petrocchi J Lichtenegger and G Calabresi Neural networks for oilspill detection using ERS-SAR data IEEE Transactions on Geoscience and Remote

Sensing 38(5)2282ndash2287 September 2000

[38] Dietmar Erwin and David Snelling UNICORE A Grid Computing Environment InRizos Sakellariou John Gurd Len Freeman and John Keane editors Euro-Par 2001

Parallel Processing volume 2150 of Lecture Notes in Computer Science pages 825ndash834 Springer Berlin Heidelberg 2001

[39] Esa Oil pollution monitoring in ERS and its applications Marine Technical report1998

[40] H A Espedal Satellite SAR oil spill detection using wind history information Inter-

national Journal of Remote Sensing 20(1)49ndash65 January 1999

Bibliografiacutea 137

[41] B Fiscella A Giancaspro F Nirchio P Pavese and P Trivero Oil spill detectionusing marine SAR images International Journal of Remote Sensing 21(18)3561ndash3566 2000

[42] FAO Fisheries and Aquaculture Dept The state of world fisheries and aquaculture

2012 Food and Agriculture Organization of the United Nations 2012

[43] J Fortuny-Guasch Improved Oil Slick Detection and Classification with PolarimetricSAR In Applications of SAR Polarimetry and Polarimetric Interferometry volume 529of ESA Special Publication April 2003

[44] I Foster J Geisler B Nickless W Smith and S Tuecke Software infrastructure forthe I-WAY high-performance distributed computing experiment In High Performance

Distributed Computing 1996 Proceedings of 5th IEEE International Symposium onIEEE 1996

[45] I Foster and C Kesselman Globus A metacomputing infrastructure toolkit Interna-

tional Journal of High Performance Computing Applications 11(2) 1997

[46] I Foster and C Kesselman Computational Grids In The grid blueprint for a new

computing infrastructure chapter 2 pages 15ndash53 Morgan Kaufmann 1998

[47] I Foster and C Kesselman The Globus project A status report Future Generation

Computer Systems 15(5) 1999

[48] I Foster Y Zhao I Raicu and S Lu Cloud computing and grid computing 360-degree compared In Grid Computing Environments Workshop 2008 GCErsquo08 Ieee2008

[49] Ian Foster What is the Grid - a three point checklist GRIDtoday 1(6) July 2002

[50] Ian Foster and Carl Kesselman Concepts and Architecture In The Grid 2 Second Edi-

tion Blueprint for a New Computing Infrastructure chapter 4 pages 37ndash63 MorganKaufmann 2 edition December 2003

[51] Ian Foster Carl Kesselman Jeffrey M Nick and Steven Tuecke The physiology of thegrid In Grid Computing Making The Global Infrastructure a Reality pages 217ndash249John Wiley amp Sons Ltd 2003

138 Bibliografiacutea

[52] Ian Foster Carl Kesselman and Steven Tuecke The Anatomy of the Grid EnablingScalable Virtual Organizations Int J High Perform Comput Appl 15(3)200ndash222August 2001

[53] Ian Foster Veronika Nefedova Mehran Ahsant Rachana Ananthakrishnan Lee Li-ming Ravi Madduri Olle Mulmo Laura Pearlman and Frank Siebenlist Streamli-ning Grid Operations Definition and Deployment of a Portal-based User RegistrationService Journal of Grid Computing 4(2)135ndash144 June 2006

[54] O Garcia-Pineda B Zimmer M Howard W Pichel Li XiaoFeng and I R MacDo-nald Using SAR images to delineate ocean oil slicks with a texture-classifying neuralnetwork algorithm (TCNNA) Canadian Journal of Remote Sensing 35(5)411ndash4212009

[55] A Goacutemez Remote Conputational Tools for Radiotherapy Cancer Treatment PlanningIn K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud compu-

ting a business perspective on technology and applications chapter 9 pages 147ndash158Springer Publishing Company Incorporated 2009

[56] W W Gregg M E Conkright P Ginoux J E OrsquoReilly and N W Casey Oceanprimary production and climate Global decadal changes Geophys Res Lett30(15)1809 2003

[57] Andrew S Grimshaw Wm and CORPORATE The Legion Team The Legion visionof a worldwide virtual computer Commun ACM 40(1)39ndash45 January 1997

[58] Hecht-Nielsen Theory of the backpropagation neural network In International Joint

Conference on Neural Networks pages 593ndash605 vol1 IEEE June 1989

[59] S Hepper Comparing the JSR 168 Java Portlet Specification

with the IBM Portlet API December 2003 Also available onlinehttpwwwibmcomdeveloperworkswebspherelibrarytecharticles0312_hepperhepperhtml(Retrieved Sept 2012)

[60] H Hersbach A Stoffelen and S de Haan An improved C-band scatterome-ter ocean geophysical model function CMOD5 Journal of Geophysical Research112(C3)C03006 March 2007

Bibliografiacutea 139

[61] S Hesmer P Fischer T Buckner and I Schuster Portlet de-

velopment guide 1 edition April 2002 Also available onlineftpftpsoftwareibmcomsoftwarewebserverportalV41PortletDevelopmentGuidepdf(Retrieved Sept 2012)

[62] J Horstmann and W Koch Measurement of ocean surface winds using synthetic aper-ture radars Oceanic Engineering IEEE Journal of 30(3)508ndash515 July 2005

[63] H A Hovland J A Johannessen and G Digranes Slick detection in SAR images InProceedings of IGARSS rsquo94 - 1994 IEEE International Geoscience and Remote Sensing

Symposium pages 2038ndash2040 IEEE 1994

[64] Eduardo Huedo Ruben S Montero and Ignacio M Llorente A framework for adap-tive execution in grids Softw Pract Exper 34(7)631ndash651 2004

[65] Eduardo Huedo Rubeacuten S Montero and Ignacio M Llorente A modular meta-scheduling architecture for interfacing with pre-WS and WS Grid resource manage-ment services Future Generation Computer Systems 23(2)252ndash261 February 2007

[66] C Jackson and J Apel editors Synthetic Aperture Radar Marine Userrsquos Manual USDepartement of Commerce National Oceanic and Atmospheric Administration 1stedition April 2005 Also available online httpwwwsarusersmanualcom (RetrievedMay 2012)

[67] I T Jolliffe and MyiLibrary Principal component analysis volume 2 Wiley OnlineLibrary 2002

[68] Maozhen Li and Mark Baker Applications In The grid core technologies pages377ndash400 Wiley May 2005

[69] Maozhen Li and Mark Baker Grid Portals In The grid core technologies pages335ndash376 Wiley May 2005

[70] Maozhen Li and Mark Baker Grid Security In The grid core technologies pages124ndash152 Wiley May 2005

[71] R F Loacutepez and J M F Fernaacutendez Las Redes Neuronales Artificiales Netbiblo Sl2008

140 Bibliografiacutea

[72] Maged Marghany RADARSAT for oil spill trajectory model Environmental Mode-

lling and Software 19(5)473ndash483 2004

[73] J M M Mariacuten and S B Caacutemara Evolucioacuten de las tecnologiacuteas Grid de la informacioacutenIn Las tecnologiacuteas Grid de la informacioacuten como nueva herramienta empresarial pages87ndash111 Septem 2008

[74] S W McCandless and C Jackson Principles of Synthetic Aperture Radarchapter 1 pages 1ndash23 US Department of Commerce National Oceanic andAtmospheric Administration 1st edition April 2005 Also available onlinehttpwwwsarusersmanualcom (Retrieved May 2012)

[75] David Mera Joseacute Cotos Joaquiacuten Trinanes and Carmen Cotelo An Integrated Solutionto Store Manage and Work with Datasets Focused on Metadata in the Retelab GridProject In Sigeru Omatu Miguel Rocha Joseacute Bravo Florentino Fernaacutendez EmilioCorchado Andreacutes Bustillo and Juan Corchado editors Distributed Computing Arti-

ficial Intelligence Bioinformatics Soft Computing and Ambient Assisted Living volu-me 5518 of Lecture Notes in Computer Science chapter 71 pages 491ndash494 SpringerBerlin Heidelberg Berlin Heidelberg 2009

[76] David Mera Joseacute Cotos Joseacute Viqueira and Joseacute Varela A User Management Web Sys-tem Based on Portlets for a Grid Environment Integrating Shibboleth PURSe PERMISand Gridsphere In Juan Corchado Sara Rodriacuteguez James Llinas and Joseacute Molinaeditors International Symposium on Distributed Computing and Artificial Intelligence

2008 (DCAI 2008) volume 50 of Advances in Soft Computing chapter 3 pages 19ndash23Springer Berlin Heidelberg Berlin Heidelberg 2009

[77] David Mera Joseacute M Cotos Pedro Saco and Andreacutes Goacutemez An integrated Solutionto the Security User Access in the RETELAB Grid Project using a Web System basedon Portlets and a RBAC Model by means of User Attribute Certificates and PKI InFernando Silva Gaspar Barreira and Ligia Ribeiro editors 2nd Iberian Grid Infras-

tructure Conference Proceedings pages 296ndash307 2008

[78] David Mera Joseacute M Cotos Joseacute Varela Carmen Cotelo and J Ignacio Loacutepez AnIntegration of Several Technologies in the Architecture Definition and Deployment ofa Geospatial Grid Web Portal In Hamid R Arabnia and George A Gravvanis editors

Bibliografiacutea 141

Proceedings of the 2009 International Conference on Grid Computing and Applica-

tions pages 86ndash91 CSREA Press 2009

[79] David Mera Joseacute M Cotos Joseacute Varela-Pet and Oscar Garcia-Pineda Adaptive thres-holding algorithm based on SAR images and wind data to segment oil spills along thenorthwest coast of the Iberian Peninsula Marine Pollution Bulletin 64(10)2090ndash2096October 2012

[80] David Mera Joseacute M Cotos Joseacute R R Viqueira and Carmen Cotelo Software Inte-gration in the Development of a Spatial Data Grid Prototype based on Metadata InVicente H Garciacutea Gaspar Barreira Ignacio B Espert and Jorge Gomes editors 3rd

Iberian Grid Infrastructure Conference Proceedings pages 305ndash314 2009

[81] M Migliaccio M Tranfaglia and S A Ermakov A physical approach for the obser-vation of oil spills in SAR images Oceanic Engineering IEEE Journal of 30(3)496ndash507 July 2005

[82] Daniel Minoli A networking approach to grid computing Wiley 2005

[83] R L Morgan Scott Cantor Steven Carmody Walter Hoehn and Ken KlingensteinFederated Security The Shibboleth Approach EDUCAUSE Quarterly 27(4)12ndash172004

[84] D Murray J McWhirter S Wier and S Emmerson The Integrated Data Viewermdashaweb-enabled application for scientific analysis and visualization In 19th Intl Conf on

IIPS for Meteorology Oceanography and Hydrology 2003

[85] J Novotny The grid portal development kit Concurrency and Computation Practice

and experience 14(13-15) 2002

[86] J Novotny S Tuecke and V Welch An online credential repository for the GridMyProxy In High Performance Distributed Computing 2001 Proceedings 10th IEEE

International Symposium on pages 104ndash111 IEEE 2001

[87] Jason Novotny Michael Russell and Oliver Wehrens GridSphere a portal frameworkfor building collaborations Concurrency Computat Pract Exper 16(5)503ndash5132004

142 Bibliografiacutea

[88] M A Oliver and R Webster Kriging a method of interpolation for geographical infor-mation systems International journal of geographical information systems 4(3)313ndash332 July 1990

[89] R B Olsen and T Wahl The ship detection capability of ENVISATrsquos ASAR InIGARSS 2003 2003 IEEE International Geoscience and Remote Sensing Symposium

Proceedings (IEEE Cat No03CH37477) pages 3108ndash3110 IEEE 2003

[90] J M Torres Palenzuela L Gonzaacutelez Vilas and M Sacau Cuadrado Use of ASARimages to study the evolution of the Prestige oil spill off the Galician coast Internatio-

nal Journal of Remote Sensing 27(10)1931ndash1950 2006

[91] Joon S Park Ravi Sandhu and Gail J Ahn Role-based access control on the webACM Trans Inf Syst Secur 4(1)37ndash71 February 2001

[92] P Pavlakis D Tarchi and A Sieber On the monitoring of illicit vessel dischargesusing spaceborne sar remote sensing - a reconnaissance study in the Mediterraneansea Annals of Telecommunications 56(11)700ndash718 November 2001

[93] R Rew and G Davis NetCDF an interface for scientific data access Computer

Graphics and Applications IEEE 10(4)76ndash82 July 1990

[94] M Romberg The UNICORE architecture seamless access to distributed resources InHigh Performance Distributed Computing 1999 Proceedings The Eighth Internatio-

nal Symposium on pages 287ndash293 IEEE 1999

[95] Betlem Rosich and Peter Meadows Absolute Calibration of ASAR Level 1 ProductsGenerated with PF-ASAR Technical Report Iss 1 rev 5 ESA October 2004

[96] D E Rumelhart G E Hintont and R J Williams Learning representations by back-propagating errors Nature 323(6088) 1986

[97] M Russell J Novotny and O Wehrens Gridspherersquos Grid Portlets Computational

Methods In Science and Technology 12(1) 2006

[98] Alexander F Shchepetkin and James C McWilliams The regional oceanic modelingsystem (ROMS) a split-explicit free-surface topography-following-coordinate ocea-nic model Ocean Modelling 9(4)347ndash404 January 2005

Bibliografiacutea 143

[99] J Shiers The worldwide LHC computing grid (worldwide LCG) Computer physics

communications 177(1) 2007

[100] G Singh S Bharathi A Chervenak E Deelman C Kesselman M Manohar S Patiland L Pearlman A Metadata Catalog Service for Data Intensive Applications InSupercomputing 2003 ACMIEEE Conference page 33 IEEE November 2003

[101] J Sirott J Callahan and S Hankin Inside the live access server In 17th Intl Conferen-

ce on Interactive Information and Processing Systems for Meteorology Oceanography

and Hydrology AMS 2001

[102] Chris Smith and Ian Lumb The Open Grid Services Architecture In Grid computing

a practical guide to technology and applications chapter 9 pages 159ndash187 CharlesRiver Media 2004

[103] A H S Solberg G Storvik R Solberg and E Volden Automatic detection of oilspills in ERS SAR images IEEE Transactions on Geoscience and Remote Sensing37(4)1916ndash1924 July 1999

[104] Anne H S Solberg Camilla Brekke and Per O Husoy Oil Spill Detection in Radarsatand Envisat SAR Images IEEE Transactions on Geoscience and Remote Sensing45(3)746ndash755 March 2007

[105] K Stanoevska-Slabeva and T Wozniak Cloud Basics- An introduction to Cloud Com-puting In K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud

computing a business perspective on technology and applications Springer PublishingCompany Incorporated 2009

[106] Kevin Swingler Applying Neural Networks A Practical Guide chapter 323 pages53ndash56 Morgan Kaufmann papdsk edition May 1996

[107] M Thomas S Mock M Dahan K Mueller D Sutton and J R Boisseau TheGridPort toolkit a system for building Grid portals In High Performance Distributed

Computing 2001 Proceedings 10th IEEE International Symposium on pages 216ndash227 IEEE 2001

[108] K Topouzelis V Karathanassi P Pavlakis and D Rokos Detection and discrimi-nation between oil spills and look-alike phenomena through neural networks ISPRS

Journal of Photogrammetry and Remote Sensing 62(4)264ndash270 September 2007

144 Bibliografiacutea

[109] K Topouzelis D Stathakis and V Karathanassi Investigation of genetic algorithmscontribution to feature selection for oil spill detection Int J Remote Sens 30(3)611ndash625 January 2009

[110] Konstantinos Topouzelis Oil Spill Detection by SAR Images Dark Formation De-tection Feature Extraction and Classification Algorithms Sensors 8(10)6642ndash6659October 2008

[111] Konstantinos Topouzelis and Apostolos Psyllos Oil spill feature selection and classifi-cation using decision tree forest on SAR image data ISPRS Journal of Photogrammetry

and Remote Sensing 68135ndash143 March 2012

[112] P Troumlger R Brobst D Gruber M Mamonski and D Templeton Distributed Resour-ce Management application API Version 2 (DRMAA) Technical report Open Grid Fo-rum January 2012 Also available online httpwwwogforgdocumentsGFD194pdf(Retrieved October 2012)

[113] G Von Laszewski I Foster J Gawor and P Lane A Java commodity grid kit Con-

currency and Computation practice and experience 13(8-9) 2001

[114] Ping Wang Y Tony Song Yi Chao and Hongchun Zhang Parallel Computation ofthe Regional Ocean Modeling System International Journal of High Performance

Computing Applications 19(4)375ndash385 2005

[115] Barry Wilkinson System Infrastructure II Grid Computing Services In Grid compu-

ting techniques and applications pages 201ndash222 CRC Press 2010

[116] Chongjie Zhang Ian Kelley and Gabrielle Allen Grid portal solutions a comparisonof GridPortlets and OGCE Concurrency Computat Pract Exper 19(12)1739ndash17482007

Anexos

145

ANEXO A

COacuteDIGO FUENTE

A1 Procedimiento para el registro de una JCE

Un error no corregido del JCE Cryptix impide su uso en el caso de que alguacuten otro JCE searegistrado despueacutes de su utilizacioacuten El orden de registro de los proveedores funciona comouna lista Last In First Out (LIFO) por lo que se desarrolloacute un procedimiento para cambiar elorden de la lista en caso de que eacuteste no fuese el adecuado Una explicacioacuten maacutes detallada delproblema se presenta en la Seccioacuten 321

Cambiando Proveedores

RetelabSigningUtility signingUtility = new RetelabSigningUtility()

if (javasecuritySecuritygetProviders()lengthgt1 ampamp javasecuritySecurity

getProviders()[0]getName()equals(new String(IAIK)))

javasecurityProvider provider_iaik=javasecuritySecuritygetProvider(IAIK)

javasecuritySecurityremoveProvider(IAIK)

javasecuritySecurityinsertProviderAt(provider_iaik javasecuritySecurity

getProviders()length)

Coacutedigo A1 Modificacioacuten del orden de los proveedores JCE para evitar el bug del proveedor Cryptix

148 Anexo A Coacutedigo Fuente

A2 Gestioacuten de certificados y roles desde la interfaz de Grid-Sphere

GridSphere gestiona la autorizacioacuten de los usuarios a los portlets a traveacutes de roles mien-tras que la integracioacuten de PERMIS en RETELAB permitioacute hacer lo propio sobre los recursosdel Grid En el caso del PERMIS los roles son gestionados a traveacutes de ACs por lo que pa-ra simplificar la administracioacuten se implementaron varias modificaciones sobre el coacutedigo deGridSphere para que eacuteste pudiese gestionar los roles de los usuarios viacutea ACs y asiacute ser admi-nistrados desde un punto uacutenico Una explicacioacuten maacutes detallada del desarrollo se presenta enla Seccioacuten 321

private void saveUserRole(FormEvent event User user)

logdebug(Entering saveUserRole())

PortletRequest req = eventgetPortletRequest()

Get selected role

PortletRole selectedRole = getSelectedUserRole(event)

reqsetAttribute(role selectedRole)

If super role was chosen

if (selectedRoleequals(PortletRoleSUPER))

logdebug(Granting super role)

Grant super role

thisaclManagerServicegrantSuperRole(user)

else

Revoke super role (in case they had it)

thisaclManagerServicerevokeSuperRole(user)

Create appropriate access request

Set groups = portalConfigServicegetPortalConfigSettings()getDefaultGroups

()

Iterator it = groupsiterator()

GroupRequest groupRequest

while (ithasNext())

PortletGroup group = (PortletGroup) itnext()

GroupEntry ge = aclManagerServicegetGroupEntry(user group)

if (ge = null)

groupRequest = thisaclManagerServiceeditGroupEntry(ge)

else

groupRequest = thisaclManagerServicecreateGroupEntry()

groupRequestsetUser(user)

groupRequestsetRole(selectedRole)

groupRequestsetGroup(group)

logdebug(Granting + selectedRole + role in gridsphere)

Submit changes

A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 149

thisaclManagerServicesaveGroupEntry(groupRequest)

Start Retelab Code

String path= reqgetRealPath()

logdebug(Save Role PATH +path)

String ldapBaseDN=

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

LdapConnector ldap_conector= new LdapConnector()

try

logdebug(Fichero de propiedades +path+FileseparatorChar+WEB-INF+File

separatorChar+permis_ldapproperties)

FileInputStream file_properties =new FileInputStream(path+FileseparatorChar

+WEB-INF+FileseparatorChar+permis_ldapproperties)

logdebug(Cargando Fichero de Propiedades)

cargamos las propiedades del LDAP y de los certificados de atributos de

ficheros de propiedades

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12)

int year=new Integer(retelab_propertiesgetProperty(validityperiodbefore

year))intValue()

int month=new Integer(retelab_propertiesgetProperty(validityperiodbefore

month))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiodbefore

day))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiodafteryear

))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiodafter

month))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiodafterday))

intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

port=new Integer(retelab_propertiesgetProperty(ldapport))intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

150 Anexo A Coacutedigo Fuente

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(selectedRolegetName())

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

Eliminamos el certificado anterior

ArrayList atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttribute))

int tipo_modificacion=10=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

Creamos el nuevo certificado

atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttributecertificate

))

tipo_modificacion=00=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no encontrado

+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

End Retelab Code

logdebug(Exiting saveUserRole())

Coacutedigo A2 Integracioacuten del sistema RBAC con GridSphere Ejemplo de alta de usuarios

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS

A continuacioacuten se muestra un ejemplo de coacutemo utilizar PERMIS para gestionar a traveacutesde los roles la autorizacioacuten de un usuario para ejecutar una tarea en un recurso del Gridconcreto

ltsecurityConfig xmlns=httpwwwglobusorggt

ltmethod name=createManagedJobgt

ltauth-methodgt

ltGSITransportgt

ltGSISecureMessagegt

ltGSISecureConversationgt

ltauth-methodgt

ltmethodgt

ltauthz value=permisAuthzissrggt4PermisPDP gridmapgt

ltreject-limited-proxy value=truegt

ltsecurityConfiggt

Coacutedigo A3 Modificacioacuten de la poliacutetica de autorizacioacuten del meacutetodo createManagedJob para integrar unsistema RBAC

A4 Integracioacuten de Shibboleth en el sistema

RETELAB cuenta con un sistema de autenticacioacuten SSO soportado por el software Shibbo-leth El acceso al laboratorio de usuarios externos y sin registrar trae consigo dificultades paragestionar su autorizacioacuten ya que RETELAB se basa en DCs y ACs para administrar el usode los recursos Fue necesario desarrollar procedimientos para generar certificados tempora-les para los usuarios de Shibboleth A continuacioacuten se muestran los meacutetodos implementadospara la creacioacuten de los DCs (Coacutedigo A4) y de los ACs (Coacutedigo A5) para los usuarios deShibboleth

private void createCertificate4Shibboleth(String nameString mailString password)

Variables Autoridad Certificadora

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

152 Anexo A Coacutedigo Fuente

String ca_dir=new String()

String ca_hash=new String()

variables MyProxy

String binDir_=new String()

String hostName_=new String()

int portNumber_=0

String dn_=new String()

String dir_=new String()

int expirationLeadTime_=0

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

try

FileInputStream file_properties =new FileInputStream(path+

WEB-INF+FileseparatorChar+permis_ldapproperties)

Cargando Fichero de Propiedades de la CA y MyProxy

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

simpleCA Properties

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

MyProxy Properties

binDir_=retelab_propertiesgetProperty(myProxyBin)

hostName_=retelab_propertiesgetProperty(myProxyHost)

portNumber_=IntegerparseInt(retelab_propertiesgetProperty(

myProxyPort))

dn_=retelab_propertiesgetProperty(myProxyDn)

dir_=retelab_propertiesgetProperty(myProxyDir)

expirationLeadTime_=IntegerparseInt(retelab_properties

getProperty(expirationLeadTime))

Opciones generales de la CA

CertificateGenerationOptions cert_options= new

CertificateGenerationOptions(bin_dirtmp_dirca_dir

ca_hash)

UserCertificateGenerationinitialize(cert_options)

String certDir=null

A4 Integracioacuten de Shibboleth en el sistema 153

certDir = UserCertificateGenerationgenerate(namemail

password)

logdebug(-----gtCertificado Generadolt-------)

Use CA to sign the certs

UserCertificateGenerationsignCerts(certDir password_ca)

logdebug(-----gtCertificado Firmadolt-------)

MyProxy options

MyProxyOptions myProxyOpts= new MyProxyOptions(binDir_

hostName_portNumber_dn_ dir_ expirationLeadTime_)

MyProxyManagerinitialize(myProxyOpts)

Cambiar orden de los providers JCE debido al bug de

Cryptix

changeProviders()

Upload creds to MyProxy

MyProxyManagerstoreRemoteCredential(namepasswordtmp_dir+

+name+)

logdebug(-----gtCertificado Subido a MyProxylt-------)

Delete local certificates

RegisterUtildeleteCerts(certDir)

logdebug(-----gtEliminados certificados localeslt-------)

file_properties=null

retelab_properties=null

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(MyProxyAccessException myExc)Systemoutprintln(Error

subiendo las credenciales a MyProxy+myExc)

catch(CertificateGenerationException certExp)Systemoutprintln(

Error creando las credenciales para el usuario+certExp)

catch(Exception e)Systemoutprintln(Excepcion no controlada +e

+ End)

Coacutedigo A4 Meacutetodo para crear y almacenar DCs para los usuarios de Shibboleth

private void createAttributeCertificate4Shibboleth(SportletUser userString role)

String ldapBaseDN=

String defaultUser=null

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

154 Anexo A Coacutedigo Fuente

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

String defaultGridsphereUser=

String pathGridMap=

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

String ca_dir=new String()

String ca_hash=new String()

LdapConnector ldap_conector= new LdapConnector()

generate certificate

try

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

Cargando el fichero de propiedades del LDAP y de los Certificados

de atributos

FileInputStream file_properties =new FileInputStream(path+WEB-INF+

FileseparatorChar+permis_ldapproperties)

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12

)

int year=new Integer(retelab_propertiesgetProperty(validityperiod

beforeyear))intValue()

int month=new Integer(retelab_propertiesgetProperty(validity

periodbeforemonth))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiod

beforeday))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiod

afteryear))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiod

aftermonth))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiod

afterday))intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

A4 Integracioacuten de Shibboleth en el sistema 155

port=new Integer(retelab_propertiesgetProperty(ldapport))

intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

defaultGridsphereUser=retelab_propertiesgetProperty(gridsphere

defaultuser)

defaultUser=retelab_propertiesgetProperty(globusdefaultuser)

pathGridMap=retelab_propertiesgetProperty(globusgridmappath)

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

file_properties=null

retelab_properties=null

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

LDAPAttributeSet attributeSet = new LDAPAttributeSet()

attributeSetadd( new LDAPAttribute(objectclass new String[]top

organizationalPersoninetOrgPersonpmiUser))

attributeSetadd( new LDAPAttribute(cnusergetUserName()))

attributeSetadd( new LDAPAttribute(givennamenew String[]user

getUserName()usergetFullName() ))

attributeSetadd( new LDAPAttribute(sn usergetFamilyName()))

attributeSetadd( new LDAPAttribute(mailusergetEmailAddress()))

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(role)

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

attributeSetadd(new LDAPAttribute( attributeCertificateAttribute

generatormakeCertificate()))

ldap_conectoraddEntry(attributeSet dn)

Creamos un certificado para el usuario y lo subimos a MyProxy

createCertificate4Shibboleth(usergetUserName()usergetEmailAddress

()(String)hsgetAttribute(shibbolethuserpassword))

anhadir usuario al GRIDMAP

String entry=new String()

156 Anexo A Coacutedigo Fuente

entry= convertDnToGridMapEntry(dndefaultUser)

if (entry=)

logdebug(Adding user to Grid-mapFile +entry)

addEntryToFile (pathGridMapentry)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

Coacutedigo A5 Meacutetodo para crear y almacenar ACs para los usuarios Shibboleth

A5 Despliegue del sistema de almacenamiento distribuido

El sistema de almacenamiento de datos de RETELAB se construyoacute utilizando como baseel RLS de GT4 y el MCS La integracioacuten de estos servicios con la interfaz Web no fue inme-diata y fue necesario realizar ciertas modificaciones Tal y como se describe en los detalle deimplementacioacuten de la Seccioacuten 33 la clase GenericserviceFetcher fue modificada para hacerimpliacutecita la clase necesaria para establecer la conexioacuten con el servicio de datos

private String getWSDL(final URL url) throws IOException

Start Retelab

URL url2 = new URL(url(javanetURLStreamHandler)new orgglobusnet

protocolhttpsHandler())

InputStreamReader input = new InputStreamReader(url2openConnection()

getInputStream())

End Retelab

InputStreamReader input = new InputStreamReader(urlopenStream())

StringBuffer buf = new StringBuffer()

char[] charArray = new char[1024]

int readBytes

A5 Despliegue del sistema de almacenamiento distribuido 157

while ((readBytes = inputread(charArray)) gt= 0)

bufappend(charArray 0 readBytes)

String wsdl = buftoString()

return wsdl

Coacutedigo A6 Modificacioacuten de la clase GenericserviceFetcher para permitir la conexioacuten con el servicio demetadatos

La integracioacuten del servicio RLS con la interfaz Web implicoacute cambiar ligeramente el modode autenticar los usuarios del portal En lugar de utilizar el proxy del usuario como un paraacute-metro de un meacutetodo de autenticacioacuten del servicio fue necesario descargarlo de la sesioacuten delportal y almacenarlo local y temporalmente para que el servicio pudiese laquoencontrarloraquo ya queno soportaba el paso por variable

private DataGridWorker conectarWorker( String username) throws orgietfjgss

GSSException

GSSCredential proxy

GlobusCredential globusCred = null

proxy=ProxyManagergetDefaultProxy(username)

if(proxy instanceof orgglobusgsigssapiGlobusGSSCredentialImpl)

globusCred = ((GlobusGSSCredentialImpl)proxy)

getGlobusCredential()

Ruta para almacenar el CD

String proxyfoldername=SystemgetProperty(userhome)+

SystemgetProperty(fileseparator)+propiedades

getProperty(PATHUSERPROXIES)

String proxyfilename=proxyfoldername+SystemgetProperty(

fileseparator)+activeproxy+username

FileOutputStream out =null

File file=null

try

boolean create=true

file=new File(proxyfoldername)

if (fileexists())

create=filemkdir()

158 Anexo A Coacutedigo Fuente

if (create)

file=new File(proxyfilename)

if (fileexists())

create=filecreateNewFile()

if(create)

out = new FileOutputStream(file)

Since Java does not provide an API for setting the permissions of a file the

JGlobus module will attempt to execute the binchmod program

in the background to set the permissions of the given file If that program cannot

be executed for any reason or fails to execute correctly

a proxy file might end up with incorrect file permissions (depending on umask

setting)

Usually a warning will be displayed if that occurs (especially on Windows since bin

chmod is not supported on that platform)

if (orgglobusutilUtilsetFilePermissions

(proxyfilename 600))

Systemerrprintln(Por favor

compruebe que los permisos de

su archivo de proxy son de

solo lectura para el

propietario)

globusCredsave(out)

outclose()

catch(IOException io)ioprintStackTrace()

finally

out=null

file=null

GlobusGSSCredentialImpl gssci = new GlobusGSSCredentialImpl(

globusCredGSSCredentialINITIATE_AND_ACCEPT)

GlobusCredentialsetDefaultCredential(gsscigetGlobusCredential())

Creamos el DataGridWorker Ya dispone todos los datos necesarios

para autenticar al usuario

return new DataGridWorker(propiedadesgetProperty(METADATACATALOG

GRIDSERVICE)username)

Coacutedigo A7 Procedimiento para autenticar a un usuario en el servicio RLS

A5 Despliegue del sistema de almacenamiento distribuido 159

Listado de acroacutenimos

AATSR Radioacutemetro Avanzado de Exploracioacuten Longitudinal 81

AC Certificado de Atributos 39ndash41 43 44 56 124 148 151 156

AI Inteligencia Artificial 13

AIS Sistema Automaacutetico de Identificacioacuten 131

ANN Red Neuronal Artificial 75 98ndash100 103 107 110 111 114 126 131

API Application Programming Interface 24 26ndash28 55 116 128

ASAR Radar de Apertura Sinteacutetica Avanzado 82ndash84

AZTI Centro Tecnoloacutegico del Mar y los Alimentos del Paiacutes Vasco 11

CA Autoridad Certificadora 35 39

CART Aacuterboles de Clasificacioacuten y Regresioacuten 105

CERN Organizacioacuten Europea para la Investigacioacuten Nuclear 28

CESGA Centro de Supercomputacioacuten de Galicia 11 33 34 54 59 125

CLI Interfaz de Liacutenea de Comandos 8 21 55

CoG Java Commodity Grid Kit 24 27

DB Base de Datos 3 5 7 44 46ndash49 52 53 57 75 76 80 85 86 89 91 97 112 113118 119 124 125

162 Listado de acroacutenimos

DC Certificado Digital 29 35ndash44 49 56 124 151 153

DORIS Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite 81

DRMAA Distributed Resource Management Application 55 56

EMSA Agencia Europea de Seguridad Mariacutetima 79 85

ESA Agencia Espacial Europea 65 80 83 85

ESG Earth System Grid 29

ESTF Esquema de Separacioacuten de Traacutefico de Fisterra 77ndash79 85ndash87 89 131

GMES Monitorizacioacuten Global para el Medioambiente y la Seguridad 81

GOMOS Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Estrellas 81

GPDK Grid Portal Development Kit 23

GPIR GridPort Information Repository 27

GSI Security Grid Infrastructure 35ndash37

GT Globus Toolkit 18ndash20 23 24 28 32 34 35 37 41 45ndash49 156

GWSDL Grid Web Service Definition Language 19

HPC Computacioacuten de Alto Rendimiento 11

HTC Computacioacuten de Altas Prestaciones 6 11

IA Aacutengulo de Incidencia 68 69 73 83 84 89 90 92 93 95 125

IaaS Infraestructura como Servicio 128 130

ICCM Instituto Canario de Ciencias del Mar 11 60

IDV Integrated Data Viewer 53 54 57 61 125

IMO Organizacioacuten Internacional Mariacutetima 131

Listado de acroacutenimos 163

JAR ARchivo Java 40 47

JavaWS Java Web Start 30 53

JCE Extensioacuten Criptograacutefica de Java 41 147

JNLP Java Networking Launching Protocol 53

JRE Entorno de Ejecucioacuten de Java 53

JSDL Job Submission Description Language 55 130

JSP Java Server Pages 23 24 28

LAS Live Access Server 52 53

LDAP Lightweight Directory Access Protocol 39ndash41

LFN Nombre Loacutegico de Fichero 45 46 49

LHC Large Hadron Collider 3 28

LIFO Last In First Out 147

LRC Local Replica Catalog 46

LRR Retrorreflector Laacuteser 82

MAMS Meta Access Management System 43 44

MCS Metadata Catalog System 46 48 156

MEC Ministerio de Educacioacuten y Ciencia 10

MERIS Espectroacutemetro de Imaacutegenes de Resolucioacuten Media 81

MIPAS Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva 82

MLP Perceptroacuten Multicapa 100 101 103 104 113ndash115 118

MPI Message Passing Interface 59

MWR Radioacutemetro de Microondas 81 82

164 Listado de acroacutenimos

NetCDF Network Common Data Form 51 54 59

OGCE Open Grid Computing Environments 27 28

OGSA Open Grid Service Architecture 19 20 46

OGSI Open Grid Services Infrastructure 19

OpenMP Open Multiprocessing 59 116

PaaS Plataforma como Servicio 129 130

PCA Anaacutelisis de Componentes Principales 95 126

PDP Policy Decision Point 41 42

PFN Nombre Fiacutesico de Fichero 45 46

PKI Public Key Infrastructure 9 35

PP Produccioacuten Primaria 2 51 60

PURSe Portal-based User Registration Service 29 30 38ndash40 124

RA-2 Altiacutemetro de Radar 81 82

RBAC Control de Acceso Basado en Roles 9 11 37 39 41 124 150 151

RETEMAR Red Espantildeola de Teledeteccioacuten Marina 8 31

RLI Replica Location Index 46

RLS Replica Location Service 45 49 156ndash158

ROI Regioacuten de Intereacutes 73

ROMS Regional Ocean Model System 58 59

SaaS Sofware como Servicio 129

SAR Radar de Apertura Sinteacutetica 12 50 61 68ndash73 77 79 82 84 86 88 89 91 93 109ndash111 113 114 117 118 125 126 131

Listado de acroacutenimos 165

SASEMAR Agencia espantildeola de Salvamento y Seguridad Mariacutetima 79 80 85 114 131

SCIAMACHY Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes para CartografiacuteaAtmosfeacuterica 82

SLAR Radar Lateral Aerotransportado 66

SSO Single-Sign On 43 44 124 151

SVM Maacutequinas de Soporte Vectorial 132

UDC Universidad de la Coruntildea 12

UNICORE Uniform Interface to Computing Resources 18 23

USC Universidad de Santiago de Compostela 11 12 33

VGPM Vertically Generalised Production Model 60

VO Organizacioacuten Virtual 3ndash5 7 17 20 37

WSDL Web Services Description Language 19 48

WSM Wide Swath Mode 76 82 84ndash86 130

WSRF Web Service Resource Framework 19 20

Iacutendice alfabeacutetico

Aacuterbol de decisioacuten 105ndash108 113 114 119126 131

Nodo decisioacuten 105Nodo hoja 105ndash108Poda 107 108

ASAR 82ndash84Autoridad certificadora 35 39

Caracterizacioacuten 12 71 73 94 126Certificado de atributos 39ndash41 43 44 56

124 148 151 156Certificado digital 29 35ndash40 42ndash44 49

56 124 151 153Clasificacioacuten 10 13 71 73ndash75 90 96

111 126Clasificadores probabiliacutesticos 75CMOD5 91 117 118 131CoG 24 27Computacioacuten Cloud 127ndash130Computacioacuten distribuida 1ndash3 17 127 128Contenedor de portlets 24

EMSA 79 85Envisat 68 69 75 76 80ndash86 127 130ESA 65 80 83 85

ESG 29Espectro electromagneacutetico 82 83ESTF 77ndash79 85ndash87 89 131

Filtro de aacuterea 94 110Filtro de mediana 88 89 110Filtro de ruido 87 88 110Filtro de viento 94 110

Genius Grid Portal 28Globus Toolkit 8 18ndash20 22 23 28 30

32 45ndash49 156GPDK 23Grid 3ndash6 9 11 17ndash21 23 24 28ndash30 32

35 36 42 44ndash46 52 54 56 57110 124 130 148 151

Aplicaciones 6 19 27 28Computacioacuten 2 3 5ndash7 9 11 17ndash19

22 23 25 29 32 44 110 123127

Interfaz 21Middleware 8 22 23 124Portal 22ndash25 27ndash30 32 33 37 46

123Primera generacioacuten 22 29

168 Iacutendice alfabeacutetico

Segunda generacioacuten 24Servicios 19 20 25 27 28 41 42Sistema 4ndash6 8 11 19ndash23 27 28

30 33 35 41 54 55 60 123Tecnologiacutea 4 5 17ndash19 28

GridFTP 47GridPort 23 27GridPortlets 27 28GridSphere 25ndash28 30 32 40 41 43 44

124 148 150GridWay 11 55 56 125 130GSI 35ndash37GWSDL 19

I-WAY 17 18IDV 53 54 57 61 125ISO 19115 46 49 124

JCE 41 147

LAS 52 53Legion 18Look-alike 70 71 74ndash76 85 88 90 94

96 117ndash119LRC 46

Maacutescara de tierra 87 88 110 118MCS 46 48 156Metadatos 11 44 46 47 49 50 56 109

124Metaplanificador 11 55 56 124 130MyProxy 29 36 37 39 49

Noise floor veacutease Ruido de fondo

OGCE 27 28

OGSA 19 20 46OGSI 19Organizacioacuten virtual 3ndash5 7 17 20 21 37

P-Grade 30PCA 95 126PERMIS 40ndash42 124 148 151Polarizacioacuten 83ndash85Portlet 13 22 24ndash27 32 38 41ndash43 47

49ndash51 53 55ndash57 59 60 111112 124 148

Portlet Grid 25ndash27Prestige 78 79PURSe 29 38ndash40 124

Radar 65 66 68Radarsat 75 130RBAC 9 11 37 39 41 124 150 151Red neuronal artificial 75 98 99 103 107

110 111 114 119 126 131Backpropagation 99ndash101 103Perceptroacuten multicapa 100 103 104

113 114Resolucioacuten espacial 66 67 130RETELAB 10ndash13 26 27 30 31 33 34

36 38 39 41ndash44 46 49ndash58 6061 80 110 111 124 125 127129 130 148 151 156

Data Grid 44 47 49 50 56ndash58 61112 124

Monitor de tareas 55 112 125RLI 46RLS 45 49 156ndash158Ruido de fondo 83 84 117

Iacutendice alfabeacutetico 169

SAR 12 50 61 68ndash73 77 79 82 84 8688 89 91 93 109ndash111 113 114117 118 125 131

Segmentacioacuten 10 12 71ndash73 75 88 9193 107 110 117 125 126

Sentinazo 12 13 65 71ndash76 78 85 8690 91 94ndash96 99 110 111 114ndash119 126 131

SENTINAZOS 58 60 82 106 110ndash112125 130

Sentinel 80 81 127 131Servicios Web 19Shibboleth 43 44 124 151 153 156SLAR 66SSO 43 44 124 151

Teledeteccioacuten 2 11 31 44

Umbral adaptativo 10 73 89 92 93 110117 125

Umbral simple 73UNICORE 18 23

Vector de caracteriacutesticas 10 73 74 94ndash96 118 126

Caracteriacutesticas de forma 73 94 95Caracteriacutesticas fiacutesicas 73 95Informacioacuten contextual 74 95Texturas 74

Vertidos de hidrocarburo 10 12 60 6265 66 69 71 78 79 82 84 8587ndash89 110 116 123 125 130131

WebSphere 25 26

WSDL 19 48WSM 76 82 84ndash86 130

  • Portada
  • Iacutendice general
  • Iacutendice de figuras
  • Iacutendice de tablas
  • Introduccioacuten
    • Computacioacuten Grid
      • Aplicaciones Grid
        • Motivacioacuten
        • Objetivos
          • Objetivos concretos
            • Estructura de la memoria
              • Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica
                • Evolucioacuten de la Computacioacuten Grid
                  • Estandarizacioacuten de las tecnologiacuteas Grid
                  • Arquitectura de un sistema Grid
                  • Interfaces Grid
                    • Portales Grid primera generacioacuten
                    • Portales Grid segunda generacioacuten
                    • Portales Grid casos de estudio
                        • Proyecto RETELAB
                          • Descripcioacuten del proyecto
                            • Arquitectura general del sistema
                              • Registro y acceso de los usuarios
                                • Autenticacioacuten y autorizacioacuten
                                  • Sistema de almacenamiento distribuido
                                    • Almacenamiento de datos
                                      • Visualizacioacuten de los datos
                                        • Live Access Server
                                        • Integrated Data Viewer
                                          • Gestioacuten y monitorizacioacuten de trabajos
                                            • Integracioacuten con el sistema de almacenamiento distribuido
                                              • Validacioacuten del laboratorio virtual
                                                • ROMS
                                                • Caacutelculo del modelo de produccioacuten primaria
                                                • sentinazos
                                                  • Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacutetica de vertidos de hidrocarburos
                                                    • Estado del arte
                                                    • Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de SAR
                                                      • Descripcioacuten del proyecto
                                                      • Fuentes de datos
                                                        • Sateacutelite envisat
                                                        • Coleccioacuten de datos
                                                          • Preprocesado
                                                            • Calibrado y proyeccioacuten cartograacutefica
                                                            • Maacutescara de tierra
                                                            • Filtro de ruido
                                                              • Segmentacioacuten
                                                                • Establecimiento del umbral adaptativo
                                                                • Aplicacioacuten del umbral adaptativo
                                                                • Filtro de vientos
                                                                • Filtro de aacuterea
                                                                  • Extraccioacuten de caracteriacutesticas
                                                                  • Clasificacioacuten
                                                                    • Redes Neuronales Artificiales
                                                                    • Aacuterboles de decisioacuten
                                                                      • Validacioacuten del sistema de deteccioacuten de vertidos
                                                                        • Desarrollo de un software de escritorio
                                                                        • Integracioacuten en retelab
                                                                            • Resultados
                                                                              • Eficacia
                                                                              • Tiempo de procesamiento
                                                                                • Discusioacuten
                                                                                  • Epiacutelogo
                                                                                    • Resultados y conclusiones
                                                                                    • Trabajo futuro
                                                                                      • Trabajo futuro en el proyecto RETELAB
                                                                                        • Computacioacuten Cloud
                                                                                        • Integracioacuten de la computacioacuten Cloud en retelab
                                                                                          • Evolucioacuten de las aplicaciones desplegadas SENTINAZOS
                                                                                            • Fuentes de datos
                                                                                            • Mejora de los algoritmos
                                                                                                • Bibliografiacutea
                                                                                                • Anexos
                                                                                                • Coacutedigo Fuente
                                                                                                  • Procedimiento para el registro de una JCE
                                                                                                  • Gestioacuten de certificados y roles desde la interfaz de GridSphere
                                                                                                  • Gestioacuten de la ejecucioacuten de las tareas usando PERMIS
                                                                                                  • Integracioacuten de Shibboleth en el sistema
                                                                                                  • Despliegue del sistema de almacenamiento distribuido
                                                                                                    • Listado de acroacutenimos
                                                                                                    • Iacutendice alfabeacutetico
Page 3: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …

The Answer to the Great Question of Life the

Universe and Everything [] Forty-two said Deep

Thought with infinite majesty and calm [] That

quite definitely is the answer I think the problem

to be quite honest with you is that yoursquove never

actually known what the question is

The Hitchhikerrsquos Guide to the Galaxy

Agradecimentos

Parece que fue ayer cuando me embarqueacute en este viaje pero la realidad es que ya hapasado bastante tiempo y sobre todo muchas horas de trabajo Es el momento de echar lavista atraacutes y pensar en todo el apoyo recibido de mis compantildeeros de trabajo amigos familiay organizaciones sin el cual esto nunca hubiese llegado a buen puerto

En primer lugar agradecer al Dr Joseacute Manuel Cotos Yaacutentildeez y al Dr Joseacute Varela Petdirectores del presente trabajo la oportunidad de emprender esta aventura junto a ellos y porla confianza depositada en miacute desde el comienzo Gracias por apoyarme guiarme y dedicarmetantas horas de vuestro tiempo para sacar esto adelante

A mis compantildeeros de trabajo del Instituto de Investigaciones Tecnoloacutegicas con los quehe pasado la mayor parte de este tiempo que me han aconsejado y ayudado siempre que lo henecesitado

A Carmen Cotelo Queijo mi compantildeera de armas en el proyecto de RETELAB por echar-me una mano desinteresada siempre que me ha hecho falta

Al Dr Pablo Garciacutea Rodriacuteguez por sus conocimientos y consejos pero especialmente porsu apoyo y aacutenimos durante todo el trabajo

Al Dr Oacutescar Garciacutea Pineda de la Universidad Estatal de Florida por su tiempo y conoci-mientos e indicarme el camino cuando eacuteste estaba poco claro

A mis amigos por aguantar mis laquorollos frikisraquo por darme siempre aacutenimos y sobre todopor estar siempre ahiacute aunque los tenga abandonados

VIII

A Leticia laquomi vidaraquo por todas las horas que le he robado y que no podreacute devolverle Nosabriacutea como expresar lo importante que has sido Gracias por estar siempre a mi lado y por tuapoyo incondicional Sin ti esto no seriacutea posible

A mi familia y en especial a mis padres por todo el carintildeo y apoyo recibido durante todami vida y por confiar en que yo era capaz de cualquier cosa y animarme siempre a luchar ya esforzarme al maacuteximo en todos los aspectos de la vida Sin vosotros yo no seriacutea quien soyGracias por todo

Y a tantos otros que no he nombrado pero que llevo en la cabeza y en el corazoacuten

iexclGRACIAS A TODOS

IX

Este trabajo no habriacutea sido posible sin el apoyo yo colaboracioacuten de las siguientes institu-ciones

ndash Sociedad de Salvamento y Seguridad Mariacutetima (SASEMAR) concretamente el Cen-tro de Coordinacioacuten de Salvamento de Finisterre que nos facilitoacute los datos sobre losvertidos detectados en la costa gallega durante los uacuteltimos antildeos

ndash Ministerio de Educacioacuten y Ciencia a traveacutes de la financiacioacuten del proyecto laquoLaboratorioVirtual para la Red Nacional de Teledeteccioacuten Oceanograacuteficaraquo con referencia ESP2006-13778-C04

ndash Xunta de Galicia a traveacutes de la financiacioacuten del proyecto laquoAnaacutelise e interpretacioacuten deimaxes de sateacutelite a partires de teacutecnicas de intelixencia artificial aplicacioacuten a contami-nantes no medio marintildeoraquo con referencia PGIDIT08SIN001236PR

ndash Universidad de Santiago de Compostela mediante el laquoPrograma de Contratos Predoc-torales de la Universidad de Santiago de Compostela 2010raquo

Iacutendice general

Iacutendice de figuras XV

Iacutendice de tablas XIX

1 Introduccioacuten 111 Computacioacuten Grid 3

111 Aplicaciones Grid 612 Motivacioacuten 713 Objetivos 8

131 Objetivos concretos 914 Estructura de la memoria 10

I Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica 15

2 Evolucioacuten de la Computacioacuten Grid 1721 Estandarizacioacuten de las tecnologiacuteas Grid 1722 Arquitectura de un sistema Grid 2023 Interfaces Grid 21

231 Portales Grid primera generacioacuten 22232 Portales Grid segunda generacioacuten 24233 Portales Grid casos de estudio 28

3 Proyecto RETELAB 3131 Descripcioacuten del proyecto 31

XII Iacutendice general

311 Arquitectura general del sistema 3232 Registro y acceso de los usuarios 34

321 Autenticacioacuten y autorizacioacuten 3733 Sistema de almacenamiento distribuido 44

331 Almacenamiento de datos 4934 Visualizacioacuten de los datos 52

341 Live Access Server 52342 Integrated Data Viewer 53

35 Gestioacuten y monitorizacioacuten de trabajos 54351 Integracioacuten con el sistema de almacenamiento distribuido 56

36 Validacioacuten del laboratorio virtual 58361 Regional Ocean Model System (ROMS) 58362 Caacutelculo del modelo de produccioacuten primaria 60363 SENTINAZOS 60

II Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacuteticade vertidos de hidrocarburos 63

4 Estado del arte 65

5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de Radar deApertura Sinteacutetica (SAR) 7751 Descripcioacuten del proyecto 7752 Fuentes de datos 80

521 Sateacutelite Envisat 80522 Coleccioacuten de datos 85

53 Preprocesado 86531 Calibrado y proyeccioacuten cartograacutefica 86532 Maacutescara de tierra 87533 Filtro de ruido 88

54 Segmentacioacuten 88541 Establecimiento del umbral adaptativo 89542 Aplicacioacuten del umbral adaptativo 93

Iacutendice general XIII

543 Filtro de vientos 94544 Filtro de aacuterea 94

55 Extraccioacuten de caracteriacutesticas 9456 Clasificacioacuten 96

561 Redes Neuronales Artificiales 98562 Aacuterboles de decisioacuten 105

57 Validacioacuten del sistema de deteccioacuten de vertidos 109571 Desarrollo de un software de escritorio 109572 Integracioacuten en RETELAB 110

6 Resultados 11361 Eficacia 11362 Tiempo de procesamiento 116

7 Discusioacuten 117

Epiacutelogo 123

8 Resultados y conclusiones 123

9 Trabajo futuro 12791 Trabajo futuro en el proyecto RETELAB 127

911 Computacioacuten Cloud 127912 Integracioacuten de la computacioacuten Cloud en RETELAB 129

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 130921 Fuentes de datos 130922 Mejora de los algoritmos 131

Bibliografiacutea 133

Anexos 145

A Coacutedigo Fuente 147A1 Procedimiento para el registro de una Extensioacuten Criptograacutefica de Java (JCE) 147A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 148

XIV Iacutendice general

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151A4 Integracioacuten de Shibboleth en el sistema 151A5 Despliegue del sistema de almacenamiento distribuido 156

Listado de acroacutenimos 161

Iacutendice alfabeacutetico 167

Iacutendice de figuras

11 Ejemplo de un sistema Grid 5

21 Evolucioacuten de las tecnologiacuteas Grid 1822 Arquitectura Grid basada en capas y construida sobre los principios del

modelo de laquoreloj de arenaraquo 2123 Ejemplo de un portal Web desarrollado a traveacutes de portlets 25

31 Arquitectura general del sistema RETELAB 3332 Recursos aportados por el Centro de Supercomputacioacuten de Galicia (CESGA) 3433 Arquitectura del sistema de registro y acceso de usuarios de RETELAB 3834 Esquema simplificado del registro y acceso de usuarios al sistema 3935 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles 4036 Esquema del control de acceso basado en roles de RETELAB 4237 Arquitectura del Data Grid desplegado en RETELAB 4538 Secuencia resumida de acciones para buscar y acceder a los datos almacenados 4739 Diagrama de clases simplificado en el que se presentan las clases utilizadas

para desarrollar las operaciones sobre la Base de Datos (DB) virtual 48310 Portlet para el almacenamiento de datos locales en RETELAB 50311 Portlet para la integracioacuten de datos externos en el sistema 51312 Portlet para el almacenamiento de los resultados generados tras la ejecucioacuten

de un trabajo 52313 Integracioacuten del Live Access Server en RETELAB 53314 Integracioacuten del Integrated Data Viewer (IDV) en RETELAB 54

XVI Iacutendice de figuras

315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten detrabajos en RETELAB 55

316 Integracioacuten del espacio de almacenamiento privado del usuario con el portletde enviacuteo de trabajos 56

317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos 57318 Portlet para la monitorizacioacuten de los trabajos de usuario 58319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten

empleando ROMS 59320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data

Grid y el sistema de visualizacioacuten de IDV 61

41 Oriacutegenes de los vertidos de hidrocarburos 6642 Resolucioacuten espacial de un radar a bordo de un sateacutelite 6743 Antena virtual generada por SAR 6844 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007) 6945 Efecto del viento en la retrodispersioacuten de un pulso SAR 7046 Sistema automaacutetico para la deteccioacuten de sentinazos 7247 Analisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo

durante el antildeo 1999 74

51 Esquema de Separacioacuten de Traacutefico de Fisterra 7852 Imagen SAR del vertido provocado por el accidente del buque petrolero

Prestige (17112002) 7953 Bases de la Agencia espantildeola de Salvamento y Seguridad Mariacutetima

(SASEMAR) en Galicia y recursos asignados a la regioacuten 8054 Espectro electromagneacutetico 8355 Retrodispersioacuten media obtenida de una imagen Radar de Apertura Sinteacutetica

Avanzado (ASAR) Wide Swath Mode (WSM) para vientos de 4 ms 6 ms y10 ms 84

56 Representacioacuten de la densidad de cobertura de la Base de Datos 8557 Aacuterea de estudio y Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF) 8658 DB de imaacutegenes con sentinazos utilizada para el proyecto SENTINAZOS 8659 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten 87510 Maacutescara de tierra utilizada en SENTINAZOS 88

Iacutendice de figuras XVII

511 Ejemplo de uso del filtro de mediana 89512 Piacutexeles muestreados agrupados seguacuten su Aacutengulo de Incidencia (IA) 90513 Elementos de la muestra agrupados por la velocidad del viento 91514 Esquema de acciones realizadas para establecer el umbral adaptativo 92515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para

distintos valores de la velocidad del viento 93516 Componentes principales y porcentaje de varianza explicado 96517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores 97518 Elementos de una neurona artificial 99519 Estructura de una red neuronal Perceptroacuten Multicapa (MLP) 100520 Ejemplo simplificado de una red MLP 101521 Esquema de la neuronas empleadas en la Red Neuronal Artificial (ANN)

desarrollada 103522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP 104523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario 106524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el

proceso de entrenamiento 108525 Aacuterbol de decisioacuten binario podado 108526 Pantalla principal del software de escritorio 109527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de

los paraacutemetros por defecto y un clasificador ANN 111528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en

el laboratorio virtual 112

61 Composicioacuten de dos imaacutegenes SAR y resultados generados por los diferentesclasificadores 114

62 Detalle de los sentinazos detectados por la ANN 115

91 Arquitectura del Cloud relacionada con los servicios que proporciona 129

Iacutendice de tablas

51 Nuacutemero de embarcaciones identificadas en el ESTF 7852 Paraacutemetros orbitales del sateacutelite Envisat 8153 Modos de operacioacuten del sensor ASAR a bordo del Envisat 8354 Coeficientes y puntos de corte para las funciones de umbral adaptativo 9355 Vector de caracteriacutesticas 9556 Componentes principales y porcentaje de varianza explicado 9657 Coeficientes de los componentes principales seleccionados 97

61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten ytest 113

71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia enla clasificacioacuten 118

CAPIacuteTULO 1

INTRODUCCIOacuteN

Las necesidades computacionales de la sociedad actual son cada vez mayores Determi-nadas aacutereas de investigacioacuten como la fiacutesica de altas energiacuteas las ciencias de la Tierra o lameteorologiacutea ven limitado su desarrollo por la necesidad de maacutes y mejores recursos compu-tacionales Aunque el desarrollo tecnoloacutegico es la primera barrera que se encuentran los in-vestigadores tambieacuten lo es el acceso a la propia tecnologiacutea ya que a menudo la tecnologiacuteamaacutes puntera es econoacutemicamente inaccesible o su uso requiere de extensos conocimientos quelimitan su generalizacioacuten

La computacioacuten distribuida surge con el objetivo de permitir la colaboracioacuten y comparti-cioacuten de recursos para reducir costes y maximizar la capacidad de almacenamiento y procesa-miento Su raacutepida evolucioacuten permitioacute a los investigadores resolver problemas complejos quehasta hace poco eran inasumibles y afrontar retos maacutes ambiciosos incluso cuando los mediosde los que disponiacutean eran escasos

La observacioacuten remota de la Tierra es un claro ejemplo en el que las necesidades compu-tacionales avanzan a un ritmo difiacutecil de igualar por el desarrollo tecnoloacutegico Desde que en1957 el Sputnik Sovieacutetico fuese el primer sateacutelite en ser enviado al espacio han sido muchaslas misiones tanto civiles como militares que se han llevado a cabo para observar remotamentela Tierra Antildeo tras antildeo el nuacutemero de misiones espaciales asiacute como el nuacutemero de proyectosde investigacioacuten relacionados con eacutestas se ha ido incrementando y al menos en un futuroa corto y medio plazo la poliacutetica a este respecto seraacute continuista ya que seguacuten un informede Euroconsult Satellite-Based Earth Observation Market Prospects to 2017 se espera quecerca de 200 nuevos sateacutelites esteacuten operativos en el 2017

2 Capiacutetulo 1 Introduccioacuten

Gracias a los avances tecnoloacutegicos las misiones se han vuelto cada vez maacutes sofisticadasy cuentan con instrumentacioacuten maacutes especializada generando un gran volumen de informa-cioacuten sobre nuestro planeta que es necesario almacenar y procesar La observacioacuten remota dela Tierra o teledeteccioacuten se ha convertido en una teacutecnica imprescindible en el seguimiento yestudio de determinados procesos ambientales criacuteticos para nuestro planeta como por ejem-plo el cambio climaacutetico el deshielo o el deterioro de la capa de ozono Del mismo modo lateledeteccioacuten tambieacuten es esencial en el seguimiento de desastres tanto naturales como provo-cados por el hombre como son los incendios los terremotos o los vertidos contaminantes Enparticular la teledeteccioacuten es una herramienta fundamental en el estudio de los oceacuteanos y susfenoacutemenos asociados

Los oceacuteanos cubren cerca de las tres cuartas partes del planeta y albergan al 97 de lasespecies pero a pesar de estas cifras a menudo no somos conscientes de su importancia einfluencia por ejemplo son el pulmoacuten del planeta ya que maacutes de la mitad de la captura mun-dial de CO2 y de la produccioacuten de oxiacutegeno se realizan a traveacutes del mecanismo conocido comoProduccioacuten Primaria (PP) [56] las actividades relacionadas con el mar sustentan al 10-12de la poblacioacuten mundial [42] y nuestra dependencia energeacutetica hacia ellos es incuestionablepuesto que aproximadamente la mitad de la produccioacuten mundial de gas natural y el 30 dela de petroacuteleo se extrae de los yacimientos presentes en el lecho marino [11]

El estudio de los oceacuteanos es una tarea interdisciplinar en el que grupos tan heterogeacuteneoscomo los de los bioacutelogos fiacutesicos meteoroacutelogos oceanoacutegrafos o informaacuteticos deben traba-jar juntos para abordar problemas de naturaleza compleja y obtener los mejores resultadosA menudo dichos grupos se encuentran dispersos y pertenecen a centros diferentes lo quesupone un problema tanto organizativo como de seguridad y en muchos casos este tipo dedificultades puede obstaculizar la buena marcha de los proyectos o directamente imposibi-litarlos Ademaacutes la gran cantidad de datos obtenidos a traveacutes de la observacioacuten remota ynecesarios para la investigacioacuten genera grandes dificultades en cuanto a su almacenamientoprocesamiento y distribucioacuten Los centros necesitan disponer tanto de recursos de compu-tacioacuten de altas prestaciones como de almacenamiento masivo acordes a las necesidades delos proyectos pero esto no siempre es posible

La computacioacuten Grid paradigma de la computacioacuten distribuida se posiciona como la tec-nologiacutea maacutes adecuada para cubrir las demandas tecnoloacutegicas de la investigacioacuten oceanograacuteficay proporcionar un acceso aacutegil y eficiente a los datos almacenados La computacioacuten Grid per-mite desplegar entornos dedicados a compartir recursos entre diferentes centros a traveacutes de la

11 Computacioacuten Grid 3

red y ademaacutes permite administrar grupos virtuales de usuarios que se forman en el marco deun proyecto para maximizar sus posibilidades en torno a objetivos comunes

11 Computacioacuten Grid

Tradicionalmente los grupos y las organizaciones para la investigacioacuten han trabajado deforma local con sus propios recursos (computadores sensores bases de datos etc) y a me-nudo la heterogeneidad de los recursos asiacute como la ausencia en el uso de estaacutendares hadificultado tanto la colaboracioacuten con otros centros como la comparticioacuten de la informacioacutenEste modelo de trabajo queda obsoleto desde el momento en que se afrontan problemas inter-disciplinares interorganizativos y que demandan cantidades ingentes de recursos que ninguacutencentro puede asumir por siacute solo Un ejemplo de ello es el proyecto Large Hadron Collider

(LHC) que genera alrededor de 15 Petabytes de datos cada antildeo [99] los cuales deben ser al-macenados procesados y distribuidos Proyectos de tal envergadura que normalmente englo-ban a multitud de grupos hacen necesario modificar la forma de trabajar y buscar alternativasque permitan compartir recursos para adaptarse a las necesidades de los proyectos

La colaboracioacuten entre grupos interdisciplinares y dispersos geograacuteficamente es una piezaclave en este nuevo modelo de trabajo ya que deja obsoleto el concepto tradicional de orga-nizacioacuten y da paso a las llamadas Organizaciones Virtuales (VOs) donde diferentes grupos seunen durante un periacuteodo de tiempo determinado y comparten sus recursos para acometer unasactividades concretas La comparticioacuten de recursos en VOs debe entenderse en el sentido maacutesgeneral es decir acceso remoto a software Bases de Datos (DBs) sensores computadorasy cualquier otro tipo de medio tanto fiacutesico como loacutegico por lo que se hacen indispensablesmeacutetodos adaptados para su gestioacuten

Durante la deacutecada de los 90 aparece una nueva aproximacioacuten denominada computacioacutenGrid que nace con los objetivos de solucionar las demandas computacionales de la sociedad yde facilitar la adaptacioacuten a los nuevos conceptos organizativos La computacioacuten Grid suponeun nuevo paradigma de computacioacuten distribuida que permite agregar y compartir recursosheterogeacuteneos y geograacuteficamente distribuidos entre diferentes organizaciones

En uno de los primeros esfuerzos por concretar el teacutermino Grid Ian Foster y Carl Kessel-man [46] lo definen como

laquoUna infraestructura hardware y software que proporciona un acceso fiable consistente

generalizado y de bajo coste a capacidades computacionales de alta calidadraquo

4 Capiacutetulo 1 Introduccioacuten

Profundizando en la descripcioacuten tenemos que

ndash Por infraestructura Foster y Kesselman se refieren a un conjunto de recursos hetero-geacuteneos que incluye datos sensores ciclos de computacioacuten etc asiacute como al hardwarenecesario para la interconexioacuten de los recursos y el software utilizado para su monito-rizacioacuten y gestioacuten

ndash El acceso es considerado fiable si proporciona a los usuarios unos niveles de rendimien-to altos predecibles y estables

ndash Por acceso consistente se entiende que se proporcionan servicios a traveacutes de interfa-ces estaacutendar y utilizando paraacutemetros normalizados El uso de estaacutendares beneficia a lageneralizacioacuten del paradigma y al desarrollo de aplicaciones de usuario

ndash Se consideraraacute que el acceso es generalizado si el usuario cuenta con un nuacutecleo deservicios geneacutericos sea cual sea el sistema Grid al que se conecta

ndash El acceso a bajo coste es determinante para su aceptacioacuten ya que su uso deberaacute ser maacutesrentable que el de sus alternativas

A medida que la tecnologiacutea Grid fue evolucionando la definicioacuten anterior fue manifes-taacutendose insuficiente e incluso se dudoacute de la necesidad de este nuevo paradigma por elloFoster et aacutel [52] redefinen el concepto y lo asocian a un problema sin resolver

laquoEl problema real que subyace tras el concepto Grid es la coordinacioacuten de organizaciones

virtuales dinaacutemicas y multiinstitucionales en la resolucioacuten de problemas y la comparticioacuten de

recursosraquo

En la definicioacuten anterior se entiende por una VO un conjunto de personas yo institucionesque se agrupan a traveacutes de una poliacutetica de comparticioacuten de recursos Las VOs pueden variaren gran medida en cuanto a su propoacutesito aacutembito tamantildeo duracioacuten y localizacioacuten

Los autores justifican la necesidad de este nuevo paradigma por no existir hasta ese mo-mento una tecnologiacutea de computacioacuten distribuida que permitiese gestionar recursos compar-tidos basaacutendose en relaciones tan flexibles como las de las VOs con sofisticados controlesde acceso que incluyesen una gestioacuten desde el punto de vista maacutes especiacutefico al maacutes generalcon delegacioacuten de credenciales o que integrase el uso de poliacuteticas tanto locales como globalesy que ademaacutes ofreciera un alto rendimiento calidad de servicio planificacioacuten de las tareasmuacuteltiple asignacioacuten de recursos monitorizacioacuten y bajo coste

11 Computacioacuten Grid 5

La Figura 11 muestra un ejemplo de un sistema Grid y del uso de los recursos compartidospor parte de dos VOs En este ejemplo tres centros ponen a disposicioacuten de la comunidadparte de sus recursos pero gestionados por una poliacutetica de acceso que filtra por la VO a laque pertenecen los usuarios Cada centro estaacute etiquetado con los recursos que comparte y lapoliacutetica de seguridad que se les aplica

Centro B

Centro C

Centro AParticipantes en la VO-Ciclos pueden utilizar potencia computacional siempre y cuando no esteacute en uso por el centro propietario

Participantes en la VO-Aeronaacuteutica pueden acceder a la BD1 y BD2

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW1

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW2 y SW3

Figura 11 Ejemplo baacutesico de un sistema Grid formado por 3 centros que comparten parte de sus recursos con dosVOs (VO-Aeronaacuteutica y VO-Ciclos) Los participantes en la VO-Ciclos aprovechan la potenciacomputacional (ciclos) de los recursos compartidos por los centros lsquoArsquo y lsquoCrsquo Los participantes de laVO-Aeronaacuteutica pueden ejecutar aplicaciones que han sido compartidas por los centros lsquoArsquo y lsquoBrsquo yacceder a las DBs del centro lsquoBrsquo Elaboracioacuten propia a partir de [52]

A medida que las tecnologiacuteas Grid se fueron popularizando el teacutermino Grid se empezoacute aexplotar comercialmente diluyeacutendose su significado y utilizaacutendose como eslogan para captarnuevos clientes Las empresas incluyeron el teacutermino en muchos productos que difiacutecilmentepodiacutean encajar dentro de su definicioacuten En un intento de delimitar el concepto Ian Foster [49]publicoacute una lista con 3 puntos baacutesicos que recogen la esencia del concepto y que en una pu-blicacioacuten posterior junto con Carl Kesselman [8] agrupoacute para proponer una nueva definicioacuten

6 Capiacutetulo 1 Introduccioacuten

laquoUn Grid es un sistema que coordina recursos distribuidos a traveacutes de protocolos e inter-

faces abiertas estaacutendar y de propoacutesito general con el objetivo de proporcionar una calidad

de servicio no trivialraquo

Los elementos clave de la definicioacuten anterior y que formaban la lista de tres puntos baacutesicosse detallan a continuacioacuten

ndash Integracioacuten y gestioacuten de recursos heterogeacuteneos y distribuidos

ndash Uso de protocolos e interfaces estaacutendar abiertos y de propoacutesito general Un sistemaGrid gestiona un entorno formado por recursos heterogeacuteneos por lo que la implemen-tacioacuten de protocolos estaacutendar y libres permitiraacute que cualquier producto o aplicacioacutentanto open-source como comercial pueda interoperar con el resto de componentes delsistema

ndash Garantiacutea de calidad de servicio en cuanto a tiempo de respuesta disponibilidad seguri-dad muacuteltiple asignacioacuten de recursos etc

111 Aplicaciones Grid

En general la computacioacuten Grid se adapta a cualquier aplicacioacuten que por su complejidadno pueda ejecutarse de forma local y que potencialmente posea un alto grado de paraleli-zacioacuten Foster y Kesselman [46] identifican 5 tipos de aplicaciones que pueden obtener elmaacuteximo rendimiento de la computacioacuten Grid pero esperan la incorporacioacuten de otros tipos amedida que la computacioacuten Grid evolucione

ndash Computacioacuten distribuida aplicaciones con problemas de alta complejidad que utilizanla computacioacuten Grid para incorporar potentes recursos computacionales

ndash Computacioacuten de Altas Prestaciones (HTC) se trata de aplicaciones que presentan pro-blemas que requieren la ejecucioacuten de tareas secuenciales con baja interdependencia

ndash Computacioacuten bajo demanda se trata de aplicaciones que utilizariacutean las capacidades dela computacioacuten Grid para satisfacer necesidades puntuales de recursos Son aplicacio-nes dirigidas por una poliacutetica de costes y no de rendimiento

ndash Computacioacuten intensiva de datos este tipo de aplicaciones se centran en sintetizar nuevainformacioacuten a traveacutes del anaacutelisis de grandes cantidades de datos Los datos son divididos

12 Motivacioacuten 7

en segmentos que pueden ser procesados de forma independiente por los diferentesrecursos del sistema Posteriormente se deberaacuten unificar las salidas parciales en unresultado final

ndash Computacioacuten colaborativa aplicaciones centradas en permitir y mejorar las interaccio-nes entre los usuarios a menudo utilizando un espacio virtual comuacuten y compartiendorecursos computacionales

La computacioacuten Grid aporta una serie de beneficios claros para los centros de investiga-cioacuten que tambieacuten pueden trasladarse a la empresa privada [82] como por ejemplo

ndash Permite compartir recursos heterogeacuteneos a traveacutes de VOs (DBs ciclos de computacioacutensoftware etc)

ndash Provee un acceso transparente a recursos remotos

ndash Reduce el nuacutemero de servidores necesarios en las organizaciones

ndash Permite agregar recursos bajo demanda Ante una eventual emergencia su flexibilidadpermitiriacutea alquilar y agregar recursos externos por un tiempo limitado

ndash Optimiza el uso de recursos organizativos compartieacutendolos cuando esteacuten infrautiliza-dos

ndash Reduce el tiempo de ejecucioacuten de aplicaciones complejas

ndash Provee tolerancia a fallos

ndash Permite la virtualizacioacuten de centros de datos

ndash Permite balancear la carga entre los diferentes recursos

12 Motivacioacuten

Como se ha visto en los apartados anteriores el estudio de los oceacuteanos es de vital im-portancia y aglutina disciplinas con poca o ninguna relacioacuten En el pasado soacutelo los grandescentros de investigacioacuten podiacutean contar con equipos multidisciplinares y recursos locales sufi-cientes para afrontar cierto tipo de proyectos La computacioacuten Grid facilitoacute la colaboracioacuten yla comparticioacuten de recursos de altas prestaciones entre centros maacutes modestos

8 Capiacutetulo 1 Introduccioacuten

Desde el punto de vista de las tecnologiacuteas a menudo los usuarios finales son reacios a uti-lizar herramientas o sistemas software que a pesar de ser adecuados para su trabajo presentenuna interfaz de usuario complicada o simplemente diferente a lo que estaacuten acostumbrados

Los middleware Grid como por ejemplo Globus permiten desplegar sistema distribuidosGrid con relativa rapidez y facilidad pero muy limitados en cuanto a usabilidad y basados enuna Interfaz de Liacutenea de Comandos (CLI) poco intuitiva y amigable lo que puede llevar areducir su grado de aceptacioacuten

Seriacutea deseable disponer de un sistema Grid enfocado a la investigacioacuten oceanograacutefica quepermita compartir recursos y posibilite la colaboracioacuten entre diferentes grupos pero desarro-llado desde la sencillez y la usabilidad ya que debido a la heterogeneidad de los grupos losconocimientos tecnoloacutegicos no seraacuten los mismos entre todos los integrantes

13 Objetivos

El presente trabajo nace con el propoacutesito de cubrir las necesidades de la Red Espantildeolade Teledeteccioacuten Marina (RETEMAR) en materia de computacioacuten de altas prestaciones Es-ta Red auna investigadores y tecnoacutelogos de diferentes centros con el objetivo de maximizarrecursos y conocimientos y dirigirlos hacia la consecucioacuten de objetivos comunes en el marcodel desarrollo de proyectos de investigacioacuten El desarrollo de un laboratorio virtual asiacute co-mo de aplicaciones y herramientas enfocadas a la investigacioacuten oceanograacutefica es clave en labuacutesqueda de la cooperacioacuten entre los diferentes socios de RETEMAR

La Red permite afrontar proyectos de mayor envergadura de la que podriacutea abarcarse demanera independiente De entre los objetivos comunes cabe destacar el intereacutes mutuo en lalucha contra la contaminacioacuten marina que desgraciadamente afecta diariamente a las costasespantildeolas

Este trabajo presenta dos objetivos principales

ndash El desarrollo y despliegue de un laboratorio virtual a traveacutes de un entorno de compu-tacioacuten distribuida que permita a los investigadores colaborar y realizar proyectos deforma conjunta

ndash Desarrollar e integrar en el laboratorio un sistema de deteccioacuten de vertidos de hidrocar-buros en el mar a partir del anaacutelisis de imaacutegenes de sateacutelite

13 Objetivos 9

El laboratorio deberaacute permitir a los investigadores acceder a recursos y datos distribuidosasiacute como a la potencia computacional y espacio de almacenamiento necesarios para desarro-llar sus trabajos El acceso deberaacute ser amigable y concebido para que los cientiacuteficos puedancentrar sus esfuerzos en la investigacioacuten y no en el aprendizaje yo utilizacioacuten de las herra-mientas

Dado que los recursos seraacuten interorganizativos la seguridad deberaacute ser una de las bases dela plataforma pero sin ser un impedimento para el trabajo por lo que las poliacuteticas de seguridaddeberiacutean ser transparentes para los usuarios finales

Para validar el uso de la plataforma se desarrollaraacute un sistema de deteccioacuten de vertidosde hidrocarburos que permita monitorizar la costa a traveacutes de imaacutegenes de sateacutelite y de formasemiautomaacutetica identificar y georreferenciar los vertidos

131 Objetivos concretos

Se propone el desarrollo de un entorno colaborativo y distribuido que constituya un labo-ratorio virtual para el desarrollo de proyectos de investigacioacuten interdisciplinares relacionadoscon la teledeteccioacuten oceanograacutefica Para ello se deberaacuten alcanzar los siguientes subobjetivos

1 Despliegue de un sistema de computacioacuten Grid que permita compartir recursos hetero-geacuteneos y distribuidos

2 Desarrollo de una interfaz de usuario amigable como medio de acceso al Grid quepermita a los usuarios finales centrarse en sus trabajos y no en las herramientas

3 Implementacioacuten de un sistema de acceso y registro de usuarios basado en Public Key

Infrastructure (PKI) y Control de Acceso Basado en Roles (RBAC)

4 Despliegue de un sistema de almacenamiento distribuido gestionado por metadatos

5 Implementacioacuten de un sistema de enviacuteo y ejecucioacuten de trabajos optimizado para selec-cionar de forma dinaacutemica y transparente al usuario el mejor recurso Grid para ejecutarla tarea

6 Desarrollo de un sistema de monitorizacioacuten que permita visualizar el estado de cadatarea enviada al Grid

7 Integracioacuten de herramientas de visualizacioacuten que permitan al usuario acceder a las co-lecciones de datos almacenadas en el laboratorio

10 Capiacutetulo 1 Introduccioacuten

8 Despliegue e integracioacuten de herramientas y aplicaciones del aacutembito oceanograacutefico parala validacioacuten del laboratorio

Con el doble propoacutesito de validar el laboratorio y de desarrollar un sistema de apoyo ala lucha contra la contaminacioacuten marina se implementaraacute una aplicacioacuten para la deteccioacutende vertidos de hidrocarburos en la superficie oceaacutenica mediante el anaacutelisis de imaacutegenes desateacutelite Los subobjetivos planteados son los siguientes

1 Desarrollo de un algoritmo de segmentacioacuten basado en una umbralizacioacuten adaptativaque permita separar los posibles vertidos del resto de la imagen

2 Integracioacuten de datos meteoroloacutegicos en el algoritmo de segmentacioacuten

3 Anaacutelisis y desarrollo de un vector de caracteriacutesticas que permita representar a los can-didatos segmentados

4 Implementacioacuten de diferentes algoritmos de clasificacioacuten que a partir de los candidatossegmentados separen los falsos positivos de los vertidos

5 Optimizacioacuten del tiempo de ejecucioacuten de los algoritmos para ser utilizados en tiempocasi real

6 Seleccioacuten del clasificador que proporcione los mejores resultados e integracioacuten del sis-tema de deteccioacuten en el laboratorio virtual

14 Estructura de la memoria

Despueacutes del actual capiacutetulo introductorio en el que se describen los oriacutegenes motivacioacuteny objetivos del trabajo la presente memoria se divide en dos grandes bloques que responden alos objetivos principales de la tesis doctoral Cada uno de estos objetivos se corresponde conun proyecto de investigacioacuten financiado por un organismo diferente pero ambos con una metacomuacuten

La primera parte detalla el desarrollo de RETELAB laquoLaboratorio Virtual para la Red Na-cional de Teledeteccioacuten Oceanograacuteficaraquo RETELAB fue desarrollado gracias a la financiacioacutendel Ministerio de Educacioacuten y Ciencia (MEC) con la referencia ESP2006-13778-C04 entrelos antildeos 2007 y 2010 Siguiendo el espiacuteritu del propio proyecto el desarrollo de RETELABaunoacute el trabajo de varias organizaciones distribuidas y heterogeacuteneas

14 Estructura de la memoria 11

ndash La Universidad de Santiago de Compostela (USC) y el Centro de Supercomputacioacutende Galicia (CESGA) se centraron en la implementacioacuten del laboratorio Por un ladola USC aportoacute su experiencia en teletedeteccioacuten anaacutelisis de imaacutegenes y desarrollo deportales y por otro lado el CESGA aportoacute su amplia su experiencia en el desarrollo deentornos de Computacioacuten de Alto Rendimiento (HPC) y Computacioacuten de Altas Presta-ciones (HTC)

ndash Los usuarios tiacutepicos del laboratorio estaban representados por el Instituto Canario deCiencias del Mar (ICCM) y el Centro Tecnoloacutegico del Mar y los Alimentos del PaiacutesVasco (AZTI) La experiencia de los investigadores de estos centros fue vital para rea-lizar el anaacutelisis de requisitos asiacute como para desarrollar las aplicaciones del laboratorio

El Capiacutetulo 2 estaacute dedicado a la descripcioacuten de diferentes aspectos de la computacioacuten Gridla Seccioacuten 21 muestra las diferentes fases en la evolucioacuten de la tecnologiacutea mientras que laSeccioacuten 22 describe la arquitectura tiacutepica de un sistema Grid para finalmente ocuparse en laSeccioacuten 23 del desarrollo de portales Web como medio de acceso a los sistemas

El Capiacutetulo 3 se centra en la implementacioacuten del laboratorio virtual de RETELAB y pro-fundiza en los diferentes moacutedulos incluidos en su desarrollo

ndash La Seccioacuten 32 describe la implementacioacuten del moacutedulo de acceso y gestioacuten de usuariosy coacutemo la integracioacuten de diferentes tecnologiacuteas permitioacute desplegar un sistema de accesousable y seguro basado en un control de acceso RBAC

ndash La Seccioacuten 33 profundiza en el despliegue y desarrollo del sistema de almacenamientodistribuido utilizado en RETELAB La integracioacuten con la interfaz Web asiacute como elempleo de metainformacioacuten para describir las colecciones de datos son dos de lospuntos fundamentales

ndash La integracioacuten de diferentes herramientas para la visualizacioacuten de las colecciones dedatos presentes en RETELAB es descrita en la Seccioacuten 34

ndash La ejecucioacuten de tareas en RETELAB asiacute como su monitorizacioacuten se aborda en laSeccioacuten 35 A pesar de que no se profundiza en los detalles de la implementacioacuten yaque esta tarea fue desarrollada principalmente por el CESGA este apartado introducecoacutemo se ha integrado y mejorado el metaplanificador GridWay para su utilizacioacuten desdeel laboratorio GridWay facilita a los usuarios el enviacuteo de tareas a un Grid seleccionandoautomaacuteticamente el mejor recurso disponible para su ejecucioacuten

12 Capiacutetulo 1 Introduccioacuten

ndash Por uacuteltimo la Seccioacuten 36 muestra diferentes aplicaciones integradas para validar ellaboratorio virtual e introduce el sistema desarrollado para detectar vertidos de hidro-carburos denominado SENTINAZOS y que centra la siguiente parte de la memoria

La segunda parte de la tesis doctoral describe en detalle el proyecto SENTINAZOS laquoAnaacute-lise e interpretacioacuten de imaxes de sateacutelite a partires de teacutecnicas de intelixencia artificialaplicacioacuten a contaminantes no medio marintildeoraquo El proyecto con referencia PGIDIT08SIN-001236PR fue financiado por la Conselleriacutea de Innovacioacuten e Industria de la Xunta de Galiciaentre los antildeos 2008 y 2010 e implicoacute en su desarrollo a la Universidad de la Coruntildea (UDC) yla USC los equipos de ambas instituciones abordaron el problema desde dos puntos de vistadiferentes pero complementarios

ndash La UDC centroacute su esfuerzos en el desarrollo de algoritmos para la deteccioacuten grandescantidades de vertidos ocasionados por cataacutestrofes

ndash La USC se implicoacute en el desarrollo de un sistema de deteccioacuten de pequentildeos vertidos(sentinazos) ocasionados generalmente por tareas de mantenimiento y en la integra-cioacuten de dicho sistema en RETELAB

Despueacutes de introducir en el Capiacutetulo 4 el problema de la contaminacioacuten oceaacutenica y elestado del arte de los sistemas de deteccioacuten de vertidos el Capiacutetulo 5 se centra en el desarrollodel sistema implementado La descripcioacuten detallada del problema a resolver (Seccioacuten 51) ylas fuentes de datos empleadas (Seccioacuten 52) son la antesala para entrar en el detalle de lasdiferentes fases y algoritmos involucrados en el anaacutelisis e interpretacioacuten de las imaacutegenes Radarde Apertura Sinteacutetica (SAR)

ndash Las diferentes acciones de preprocesado necesarias para preparar los datos SAR parasu posterior anaacutelisis son descritas en la Seccioacuten 53

ndash La segmentacioacuten de la imagen relacionando las condiciones meteoroloacutegicas con laintensidad de la sentildeal del sateacutelite se detalla en la Seccioacuten 54 Durante esta fase losposibles vertidos o candidatos son identificados y aislados

ndash La Seccioacuten 55 describe el proceso por el que cada candidato es descrito empleando unconjunto de caracteriacutesticas

14 Estructura de la memoria 13

ndash Cada candidato a traveacutes de teacutecnicas de Inteligencia Artificial (AI) es clasificado comofalso positivo o vertido seguacuten sus descriptores La implementacioacuten uso y comparacioacutende los diferentes clasificadores empleados es detallada en la Seccioacuten 56

ndash La Seccioacuten 57 describe la aplicacioacuten de escritorio desarrollada para validar el sistemaasiacute como su integracioacuten en RETELAB a traveacutes de un portlet

La parte reservada al desarrollo de SENTINAZOS finaliza con un anaacutelisis detallado (Ca-piacutetulo 6) y la discusioacuten (Capiacutetulo 7) de los resultados obtenidos

Los capiacutetulos finales de la tesis doctoral se reservan para mostrar los resultados y conclu-siones del trabajo (Capiacutetulo 8) y para perfilar las liacuteneas de investigacioacuten abiertas por la tesisdoctoral y que seriacutea interesante desarrollar a corto y medio plazo (Capiacutetulo 9)

Parte I

Laboratorio Virtual de TeledeteccioacutenOceanograacutefica

CAPIacuteTULO 2

EVOLUCIOacuteN DE LA COMPUTACIOacuteN GRID

21 Estandarizacioacuten de las tecnologiacuteas Grid

La computacioacuten Grid (veacutease el Capiacutetulo 1) es un paradigma de computacioacuten distribuidaque surge como respuesta a dos necesidades por un lado la de disponer de entornos espe-cializados en la resolucioacuten de problemas complejos con altas demandas computacionales ypor otro la de gestionar VOs que permitan la colaboracioacuten entre grupos interdisciplinares ydispersos geograacuteficamente

El camino hacia su estandarizacioacuten y globalizacioacuten (veacutease la Figura 21) se inicia a prin-cipios de la deacutecada de los 90 a partir de implementaciones ad hoc que resolviacutean problemasconcretos Las aplicaciones resultantes aprovechaban la potencia computacional procedentede unir diferentes recursos distribuidos

En esta primera etapa la meta de los desarrolladores era hacer que funcionasen las apli-caciones y explorar nuevas posibilidades tecnoloacutegicas La implementacioacuten se realizaba direc-tamente sobre los protocolos de Internet sin seguir ninguacuten tipo de estaacutendar y en general lassoluciones estaban muy limitadas en cuanto a seguridad escalabilidad robustez o interopera-bilidad

I-WAY [44] es considerado el primer Grid moderno que abrioacute la puerta al desarrollo y estu-dio de la computacioacuten Grid en profundidad [22] [9] Se presentoacute en la conferencia ACMIEEESupercomputing del antildeo 1995 (SC95) a traveacutes de una demostracioacuten en la que se conectaron17 centros de supercomputacioacuten por medio de 11 redes de alta velocidad Se creoacute un super-ordenador virtual sobre el que se probaron alrededor de 60 aplicaciones diferentes I-WAYexploroacute varios aspectos que ahora se consideran esenciales en un Grid como la seguridad o

18 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

1990 1995 2000 2005

SolucionesAd-Hoc

Globus Toolkit

Open GridServices Arch

Fun

cion

alid

ad

y e

stan

dari

zaci

oacuten

Gestioacuten de sistemas virtuales compartidos

Estaacutendar de factoImplementacioacuten uacutenica

Estaacutendares de iureMuacuteltiples implementacionesEstaacutendares de internet

Web services etc

2010

Figura 21 Evolucioacuten de las tecnologiacuteas Grid Imagen adaptada de [50]

el enviacuteo y la gestioacuten de trabajos Su eacutexito demostroacute las posibilidades de la computacioacuten Gridy llevoacute a aumentar considerablemente los esfuerzos en el desarrollo de proyectos concebidospara compartir recursos de computacioacuten distribuidos

I-WAY puede considerarse el germen del proyecto Globus [45] que surge con el objetivode investigar y desarrollar tecnologiacuteas Grid fundamentales y marca el comienzo de la segundaetapa en la evolucioacuten hacia la estandarizacioacuten El proyecto liderado por Ian Foster (codesa-rrollador de I-WAY y fundador del concepto de computacioacuten Grid) tiene uno de sus pilaresen la implementacioacuten del Globus Toolkit (GT) [47] El GT es un conjunto de componentessoftware disentildeado para desplegar infraestructuras Grid y proporcionar servicios que gestionenaspectos tales como la seguridad el enviacuteo de trabajos o la administracioacuten de los recursos

El GT se situacutea en la capa de middleware es decir entre la capa de aplicaciones de usuarioy la de recursos Esta capa proporciona herramientas que permiten que los recursos participende forma coordinada en un entorno unificado y aseguren el acceso transparente a los usuarios

Ademaacutes del GT surgieron otros proyectos para el desarrollo de infraestructuras Grid comoLegion [57] o Uniform Interface to Computing Resources (UNICORE) [94] pero desde suprimera versioacuten en 1998 el GT se posicionoacute como el middleware dominante y en 2002 susegunda versioacuten (GT2) se establecioacute como el estaacutendar de facto en el desarrollo de aplicacionesGrid

21 Estandarizacioacuten de las tecnologiacuteas Grid 19

El GT2 fue pionero en el desarrollo de sistemas Grid interoperables [50] pero aunquealgunos de sus componentes fueron desarrollados formalmente en general la implementacioacutendel GT2 careciacutea de directrices y no fue sometida a una revisioacuten puacuteblica

A medida que la computacioacuten Grid se estableciacutea y se popularizaba (trascendiendo inclusoal aacutembito acadeacutemico) se hizo maacutes patente la necesidad de desarrollar estaacutendares que aporta-sen total interoperabilidad no soacutelo a nivel de aplicaciones Grid sino tambieacuten de componentesfundamentales del sistema y permitiesen la integracioacuten de muacuteltiples tecnologiacuteas en un sistemade recursos compartidos [73]

En el antildeo 2002 surge la Open Grid Service Architecture (OGSA) [51] la cual define unestaacutendar que incluye servicios baacutesicos de computacioacuten Grid como la seguridad gestioacuten derecursos administracioacuten de trabajos etc OGSA busca la convergencia entre la tecnologiacuteaGrid y los servicios Web por lo que define una arquitectura abierta basada en servicios paradesarrollar entornos Grid OGSA no aporta detalles para la implementacioacuten del estaacutendar y enconsecuencia surge una importante dificultad OGSA requeriacutea servicios Web con estado peroel estaacutendar de dichos servicios no lo proporcionaba

En 2003 surge la Open Grid Services Infrastructure (OGSI) la cual detalla una posible im-plementacioacuten de OGSA y presenta una versioacuten modificada de los servicios Web denominadaservicios Grid [68] Estos servicios proporcionaban entre otras cosas soporte para el estadogracias a una modificacioacuten del Web Services Description Language (WSDL) [30] llamadaGrid Web Service Definition Language (GWSDL) [115] La tercera versioacuten del GT surge en2004 y en su camino hacia la estandarizacioacuten basa su implementacioacuten en el estaacutendar definidopor OGSI

La comunidad Grid pronto consideroacute que OGSI era una aproximacioacuten poco convenien-te [102] sobre todo por usar una versioacuten modificada de los servicios Web en lugar de basarseen el estaacutendar Se continuoacute trabajando para encontrar una mejor solucioacuten para la implementa-cioacuten del estaacutendar OGSA en general y para la implementacioacuten de servicios Web con estadoen particular En 2004 se propuso la especificacioacuten Web Service Resource Framework (WSRF)con el objetivo de sustituir a OGSI y aportar una implementacioacuten de los servicios Web con es-tado aceptada tanto por la comunidad Grid como por la comunidad de servicios Web WSRFintegra OGSA con los servicios Web puros y es la base para la implementacioacuten de la cuartaversioacuten del Globus Toolkit (GT4) (versioacuten empleada en el desarrollo del laboratorio virtual deRETELAB)

20 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

El teacutermino de servicio Grid ha continuado utilizaacutendose pero a partir de la especificacioacutende WSRF se asocia a cualquier servicio que de acuerdo a la nueva especificacioacuten se ajuste alas convenciones de interfaz de una infraestructura Grid

Continuando con el proceso de estandarizacioacuten Foster y Kesselman [50] anticiparon enel antildeo 2003 una futura fase en la buacutesqueda de un sistema Grid global que denominaron ges-tioacuten de sistemas virtuales compartidos Partiendo de la especificacioacuten de OGSA en esta fasese preveiacutea un incremento del conjunto de servicios y sistemas estaacutendar orientados a la inter-operabilidad Este nuevo conjunto de estaacutendares estariacutea enfocado a la administracioacuten tanto dedispositivos moacuteviles como de grandes sistemas con muacuteltiples VOs y todo ello aumentando elgrado de virtualizacioacuten enriqueciendo los modos de comparticioacuten e incrementando la calidadde servicio

22 Arquitectura de un sistema Grid

La arquitectura de un sistema Grid desarrollado con GT (veacutease la Figura 22) se divideen capas y estaacute construida sobre los principios del modelo de reloj de arena (hourglass mo-

del) [50] en el que las capas intermedias situadas en el cuello del reloj contienen un conjuntode protocolos e interfaces que los desarrolladores de servicios y aplicaciones de maacutes alto nivel(capas superiores) utilizan y que les permiten abstraerse de los desarrollos y tecnologiacuteas delas capas inferiores que gestionan el uso de los recursos locales

ndash Capa de infraestructura (Fabric layer) proporciona las operaciones baacutesicas sobre losrecursos que seraacuten utilizadas como base para el desarrollo de operaciones de maacutes altonivel

ndash Capa de conectividad (Connectivity layer) define el nuacutecleo de los protocolos utilizadospara la comunicacioacuten y la autenticacioacuten requeridos en las transacciones

ndash Capa de recursos (Resource layer) contiene los protocolos necesarios para gestionar deforma remota el acceso e interaccioacuten con los recursos individuales

ndash Capa colectiva (Collective layer) contiene protocolos para la gestioacuten de recursos muacutel-tiples Utiliza los protocolos definidos en las capas inferiores para implementar susoperaciones

23 Interfaces Grid 21

Recursos locales computadoras redes

almacenamiento sensores etc

Acceso seguro a recursos y servicios

Gestioacuten de recursos muacuteltiples diagnoacutestico monitorizacioacuten

etc

Herramientas y aplicaciones de usuario

Capa de aplicaciones

Capa colectiva

Capa de recursos

Capa de conectividad

Capa de infraestructura

Figura 22 Arquitectura Grid basada en capas y construida sobre los principios del modelo de laquoreloj de arenaraquoFigura adaptada de [50]

ndash Capa de aplicaciones (Application layer) esta capa contiene las aplicaciones de usua-rio que se implementan de forma especiacutefica para dar respuesta a un problema dentrodel entorno de una organizacioacuten virtual Para su desarrollo se utilizan las interfacesdesarrolladas en las capas inferiores

23 Interfaces Grid

Existen dos tipos de usuarios relacionados con los sistemas Grid desarrolladores y usua-rios finales Es habitual que los usuarios no tengan grandes conocimientos tecnoloacutegicos y enparticular la formacioacuten en este aacutembito es muy escasa Eacutestos ven al sistema como un mediopara desarrollar su trabajo por lo que la usabilidad del entorno ha de ser primordial La CLIes la solucioacuten baacutesica para el acceso a un Grid pero es muy poco amigable y requiere de unestudio previo de los comandos y sus formas de uso por lo que habitualmente es rechazadapor los usuarios finales Es conveniente desarrollar entornos que faciliten el acceso y utiliza-cioacuten de los sistemas y en la medida de lo posible que abstraigan a los usuarios de los detallestecnoloacutegicos para que puedan centrarse en sus trabajos

Con el desarrollo de la Web 20 surge la tendencia de migrar aplicaciones y sistemas ala Web convirtiendo Internet en un entorno amigable y conocido para el usuario La compu-

22 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

tacioacuten Grid no fue ajena a este cambio y surgieron los llamados portales Grid que actuabancomo interfaces de acceso a los sistemas distribuidos El acceso Web suponiacutea una evolucioacutenen cuanto a la generalizacioacuten y popularizacioacuten de los sistemas Grid ya que permitiacutea accedera los usuarios en cualquier momento y desde cualquier lugar a traveacutes de una interfaz ergonoacute-mica y sin tener que instalar software especiacutefico Desde el punto de vista de su finalidad losportales Grid pueden dividirse en dos categoriacuteas

ndash Portales Grid especializados proveen de un subconjunto de operaciones Grid en elmarco de una aplicacioacuten especiacutefica

ndash Portales Grid de propoacutesito general proveen de un acceso baacutesico y sin propoacutesito concre-to a servicios y recursos de un Grid

Los desarrollos de portales Grid pueden dividirse en dos generaciones dependiendo desu implementacioacuten y tecnologiacuteas utilizadas [69] la primera generacioacuten estaacute caracterizada pordesarrollos fuertemente acoplados con el middleware (habitualmente GT2) mientras que lasegunda generacioacuten hace uso de tecnologiacuteas como por ejemplo los portlets que permitensoluciones maacutes configurables y dinaacutemicas

231 Portales Grid primera generacioacuten

Surgen a mediados de los antildeos 90 como una forma de hacer maacutes accesibles y usables lossistemas Grid Se realizaron grandes esfuerzos para implementar entornos de computacioacutenGrid que ofreciesen a traveacutes de la Web los mismos servicios que un sistema Grid claacutesico Estosdesarrollos previos a los estaacutendares (veacutease la Seccioacuten 21) son soluciones personalizadaspoco modulares y fuertemente acopladas con el middleware Esta primera generacioacuten aportoacutesoluciones pero sobre todo un valioso conocimiento de la problemaacutetica que permitioacute allanarel terreno para desarrollos posteriores A continuacioacuten se detallan algunas de las limitacionesmaacutes importantes [69]

ndash Los portales tienen poca o ninguna posibilidad de personalizacioacuten por parte del usuariofinal

ndash El alto acoplamiento entre los portales y el middleware Grid hace que sea muy compli-cado integrar servicios suministrados por otro middleware

23 Interfaces Grid 23

ndash En esta eacutepoca el desarrollo de la computacioacuten Grid era muy dinaacutemico La integracioacutende nuevas funcionalidades Grid no contempladas desde un primer momento era muycomplicada

Aunque no son los uacutenicos los ejemplos presentados a continuacioacuten son una muestra rele-vante de sistemas de primera generacioacuten Es importante destacar que se describen las primerasversiones importantes pero que eacutestos han continuado evolucionando y cambiando por lo quelas limitaciones mencionadas no tienen que estar presentes en las sucesivas versiones

UNICORE Uno de los primeros ejemplos importantes de portales Grid de propoacutesitogeneral fue UNICORE [94] No dependiacutea de ninguna implementacioacuten especiacutefica ni de servi-cios ni de un middleware Grid sino que se trataba de una solucioacuten completa para la gestioacuten yuso de una red de recursos heterogeacuteneos y distribuidos En los primeros prototipos el accesoa UNICORE se proporcionaba a traveacutes de un applet disponible a traveacutes de la Web Imple-mentaciones posteriores descartaron el uso del applet en beneficio de una aplicacioacuten Java deescritorio [38]

GridPort 20 Es un toolkit basado en scripts CGI de Perl para desarrollar y desplegarraacutepidamente portales Grid [107] Fue implementado pensando en potenciar la compatibilidada expensas de sacrificar rendimiento y flexibilidad y por ello se utilizaron tecnologiacuteas baacutesicasy se descartaron otras maacutes complejas y actuales como los applets (en el lado del cliente) oJava Server Pages (JSP) y servlets (en el lado del servidor) Se utiliza GT para acceder a losrecursos de alta computacioacuten y sus comandos son invocados a traveacutes de los scripts La interfazde usuario se construye a traveacutes de paacuteginas HTML que contienen llamadas a los scripts Tantoel uso de scripts y de HTML para modelar la interfaz como la encapsulacioacuten de los serviciosen los propios scripts facilita el despliegue pero complica el mantenimiento y personalizacioacutendel portal

Grid Portal Development Kit (GPDK) Es un toolkit que provee de una serie de compo-nentes reutilizables que permiten interactuar con los recursos de un sistema Grid y desarrollarportales y aplicaciones con interfaces personalizables [85] En la medida de lo posible GPDKfue desarrollado a traveacutes de software libre y abierto GT2 es el middleware utilizado para elacceso y gestioacuten del sistema distribuido mientras que el desarrollo del portal y las aplicacio-

24 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

nes se basan en JSP y servlets La interaccioacuten entre Java y GT2 se realiza a traveacutes de Java

Commodity Grid Kit (CoG) [113]

232 Portales Grid segunda generacioacuten

El inicio de la segunda generacioacuten de portales Grid viene marcado por la aparicioacuten de losportlets o componentes reutilizables para portales Web y por el desarrollo de los estaacutendaresGrid basados en servicios

Tecnologiacuteas empleadas

Portlets Como hemos visto en el apartado anterior los portales de primera generacioacutenestaban muy limitados en cuanto a personalizacioacuten y esto se solucionoacute en gran medida gra-cias a la aparicioacuten de los portlets Seguacuten la primera versioacuten de la especificacioacuten del estaacutendarde desarrollo de portlets de Java (JSR168) [10]

laquoUn portlet es un componente Web desarrollado en Java y gestionado por un contene-

dor de portlets que procesa peticiones y genera contenido dinaacutemico Los portales utilizan

portlets como componentes de la interfaz de usuario que se pueden activar o desactivar y que

proporcionan una capa de presentacioacuten a los sistemas de informacioacutenraquoEl usuario final ve al portlet como una ventana dentro de un portal que proporciona in-

formacioacuten o acceso a un servicio concreto como por ejemplo un calendario noticias o elacceso a un buzoacuten de correo [61] Un portlet genera un fragmento de coacutedigo HTML que esincrustado en una seccioacuten del portal La unioacuten de los fragmentos generados por los diferentesportlets forman la interfaz del portal Una caracteriacutestica importante de este tipo de portales esla posibilidad de personalizacioacuten que ofrecen al usuario final ya que el contenido generadopuede variar dependiendo de la configuracioacuten e incluso es posible administrar queacute portletsestaacuten activos y cuaacuteles no (veacutease la Figura 23) Es faacutecil imaginarse un portal como un puzzleque puede tomar cualquier forma (la elige el usuario final) y en el que se pueden intercambiarpiezas siendo cada pieza un portlet Lo interesante es que estas piezas pueden ser reutilizadaspara formar parte de nuevos portales pues lo uacutenico que se exige es que el portal de des-tino sea compatible con el Application Programming Interface (API) estaacutendar de desarrollode portlets Cada portlet funciona de forma independiente respecto al resto y tiene su propiociclo de vida que es gestionado por el contenedor de portlets

23 Interfaces Grid 25

Contenedor de portlets Podemos definir un contenedor de portlets como un entorno deejecucioacuten en donde los portlets pueden ser instanciados usados y finalmente destruidos Esresponsabilidad del contenedor la gestioacuten del ciclo de vida del portlet [69] Un contenedorde portlets no puede ser usado de forma independiente sino que se despliega dentro de uncontenedor de servlets y aprovecha sus funcionalidades

Noticias de la Red X-

Red Nacional de Teledeteccioacuten Oceanograacutefica

Gestioacuten de Credenciales X-

Activo

X-

X-

Modelo Produccioacuten Primaria

Roms

X-Sentinazos

Seleccionar portlet activo

Portlets con acceso restringido Usuario no autorizado

Portlets con acceso restringido Usuario autorizado

Figura 23 Ejemplo de un portal Web desarrollado a traveacutes de portlets

Portlets Grid

Un portlet Grid es un tipo especial de portlet que estaacute asociado a un servicio Grid pro-porcionado por un middleware Gracias a la estandarizacioacuten tanto de los portlets como de losservicios Grid un portlet puede ser reutilizado e interactuar con un servicio Grid sea cualsea el middleware que lo hace accesible por lo que se puede afirmar que los portales Griddesarrollados con portlets se encuentran deacutebilmente acoplados al middleware

Entornos para el desarrollo de portales Web basados en portlets

Los entornos disentildeados para desarrollar portales basados en portlets no son especiacuteficosde la computacioacuten Grid es decir son geneacutericos y pueden contener portlets de cualquier tipo(incluido portlets Grid) WebSphere y GridSphere son probablemente los entornos de mayorpopularidad

26 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

IBM WebSphere Portal Es una aplicacioacuten J2EE que se ejecuta sobre un servidor deaplicaciones con el mismo nombre y que permite desarrollar y administrar portales Web cen-trados en el acceso a aplicaciones contenidos y servicios a traveacutes de portlets [69] Es unaimplementacioacuten propietaria que actualmente se encuentra en su octava versioacuten Durante susprimeras versiones el desarrollo de portlets estaba basado en el API de IBM que aunquefundamentalmente era similar al API JSR168 sus pequentildeas diferencias [59] impediacutean la to-tal compatibilidad de los portlets El soporte para el API JSR168 fue incluido a partir de laversioacuten 502 y la versioacuten actual soporta tanto el API JSR168 como el API JSR286

Con el portal se distribuye un toolkit que permite su administracioacuten y personalizacioacuten asiacutecomo la creacioacuten prueba depuracioacuten y despliegue de portlets para un raacutepido desarrollo ElIBM WebSphere Portal tambieacuten provee de mecanismos para la personalizacioacuten de la vista delportal por el usuario final permitiendo seleccionar las aplicaciones y contenidos asiacute comoestablecer la forma en que son mostrados

GridSphere Es uno de los entornos de desarrollo de portales basados en portlets maacutesconocidos y utilizados [87] y concretamente fue el empleado para desplegar el laboratoriovirtual de RETELAB Se trata de un proyecto de coacutedigo libre desarrollado en el marco delproyecto GridLab que incluye un contenedor de portlets un conjunto baacutesico de portlets ylibreriacuteas de desarrollo

GridSphere es compatible con el API de WebSphere y con el API estaacutendar para portlets loque permite una raacutepida integracioacuten del software desarrollado por terceros Cuando el proyectofue iniciado la primera versioacuten del estaacutendar todaviacutea no se habiacutea publicado por lo que deentrada fue construido conforme al de IBM La compatibilidad con el estaacutendar fue antildeadidaen una versioacuten posterior

El conjunto baacutesico de portlets incluido en GridSphere facilita el desarrollo de nuevosportales y aporta funcionalidades baacutesicas como la administracioacuten de usuarios y grupos elacceso de los usuarios al portal la gestioacuten de las cuentas o la personalizacioacuten del portal

Entornos y herramientas para el desarrollo de portlets Grid

Para facilitar la implementacioacuten de portlets Grid y su despliegue en los portales surgieronproyectos especiacuteficos que proporcionaban tanto entornos de desarrollo como toolkits

23 Interfaces Grid 27

GridPortlets y Open Grid Computing Environments (OGCE) son dos de los entornos dedesarrollo maacutes populares y extendidos Ambos aportan herramientas baacutesicas que permiten alos desarrolladores interactuar con el middleware facilitando el desarrollo de portlets Grid

OGCE Es un proyecto de coacutedigo libre que proporciona un ecosistema en el que seintegran diferentes tecnologiacuteas y herramientas para la creacioacuten de portales Grid [12] [116]

Varias son las liacuteneas en las que OGCE ha centrado sus esfuerzos

ndash Establecer un entorno de desarrollo de portlets Grid desde la segunda versioacuten del OG-CE los portlets desarrollados cumplen con el estaacutendar y pueden ser reutilizados Parafacilitar su implementacioacuten OGCE proporciona una utilidad que permite la creacioacuten deportlets estaacutendar a traveacutes de la herramienta de desarrollo Web denominada Velocity [4]

ndash Abstraer a los desarrolladores de aplicaciones del sistema Grid utilizado OGCE noutiliza un uacutenico API para acceder a los diferentes servicios Grid sino que se basa enun conjunto procedente de varios proyectos como CoG o GridPort CoG se puede con-siderar el API principal y proporciona una capa de abstraccioacuten que independiza a losportlets del middleware utilizado

ndash Desarrollar servicios Grid avanzados la segunda versioacuten de OGCE integra y proporcio-na servicios para por ejemplo monitorizar los recursos locales utilizando el GridPort

Information Repository (GPIR) incorporar el repositorio semaacutentico de contenido Tu-pelo [5] o generar interfaces de servicio Web para las aplicaciones cientiacuteficas que sedesee integrar en el portal

ndash Desarrollar servicios para la colaboracioacuten de grupos OGCE desarrolloacute servicios y di-sentildeoacute interfaces portlet para integrar las herramientas colaborativas Sakai [3]

OGCE ha sido el entorno utilizado para el desarrollo de los portlets en RETELAB ademaacutestambieacuten se incorporaron al laboratorio varios portlets ya implementados por OGCE como elportlet para la administracioacuten de credenciales o el dedicado a la gestioacuten de ficheros remotos

GridPortlets Surge dentro del proyecto GridSphere con el objetivo de proporcionar alos desarrolladores un entorno para la implementacioacuten de portlets Grid [97] GridPortletsdistribuye una coleccioacuten de portlets baacutesicos que pueden ser utilizados individualmente o juntoa otras aplicaciones y que permiten desplegar un portal Grid baacutesico Este conjunto de portlets

28 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

estaacute implementado a traveacutes de componentes JSP reutilizables que pueden ser integrados ennuevas implementaciones

Al contrario de OGCE que utilizaba varias APIs GridPortlets proporciona una uacutenica APIde alto nivel pensada para acceder a los servicios Grid e interactuar con los recursos y asiacutedesarrollar portlets y aplicaciones Grid especiacuteficas

Los portlets desarrollados a traveacutes de GridPortlets no son completamente independientesde GridSphere y aunque teoacutericamente son compatibles con el API estaacutendar no se puedenintegrar faacutecilmente en otros contenedores de portlets [116] GridPortlets pensando en la usa-bilidad proporciona una sencilla pero potente interfaz para el enviacuteo de trabajos que abstrae alusuario de los detalles de bajo nivel y almacena un detallado historial de cada trabajo proce-sado para que pueda ser consultado a posteriori

233 Portales Grid casos de estudio

Durante la primera deacutecada del siglo XXI sobre todo en los primeros antildeos la incidencia delos sistemas Grid en la sociedad fue en aumento no soacutelo en el campo acadeacutemico sino tambieacutenen el empresarial La estandarizacioacuten de las tecnologiacuteas Grid y la mejora de las interfaces deusuario hicieron de esta tecnologiacutea una valiosa herramienta Fueron muchos los sistemas Griddesplegados y numerosos tambieacuten los portales Grid desarrollados para interactuar con lossistemas de una forma amigable Una gran mayoriacutea de estos portales estaban centrados enla visualizacioacuten de informacioacuten monitorizacioacuten de los recursos y sistemas y en la ejecucioacutende tareas simples no obstante algunos otros profundizaron en la tecnologiacutea y desarrollaronaplicaciones Web que facilitaban la realizacioacuten de tareas Grid complejas a los usuarios

GENIUS Grid Portal La Organizacioacuten Europea para la Investigacioacuten Nuclear (CERN)en general y el proyecto LHC en particular han ejercido una gran influencia en el desarrollode la tecnologiacutea Grid El portal Grid GENIUS [19] [15] implementado dentro del marco delproyecto europeo DataGrid fue desarrollado para proporcionar acceso a los datos del LHC ypermitir su utilizacioacuten en diferentes aplicaciones sobre un sistema Grid Estaba disentildeado paraproporcionar un acceso seguro a funcionalidades Grid como el enviacuteo y ejecucioacuten de trabajosla administracioacuten de datos o el acceso interactivo para el anaacutelisis de los datos generados

GENIUS fue un portal Grid pionero basado en una versioacuten extendida del GT Este mid-

dleware modificado extendioacute la interfaz de Globus facilitando la interaccioacuten entre las aplica-ciones software y el sistema Grid La primera versioacuten del portal se puede considerar dentro

23 Interfaces Grid 29

de la primera generacioacuten de portales Grid (veacutease la Seccioacuten 231) ya que su desarrollo estaacutefuertemente acoplado con el middleware utilizado

El portal permitiacutea el acceso remoto de usuarios pero manteniacutea la necesidad de tener unacuenta personal en el servidor del portal con la que se proporcionaba acceso al sistema deficheros local La autenticacioacuten y autorizacioacuten de los usuarios sobre los recursos Grid se rea-lizaba a traveacutes de la delegacioacuten de credenciales implementada con MyProxy (veacutease la Sec-cioacuten 32)

Earth System Grid (ESG) En general los proyectos relacionados con el estudio de laTierra poseen una serie de particularidades que dificultan su desarrollo a traveacutes de mediostradicionales

ndash Generan cantidades ingentes de informacioacuten bien sea a traveacutes de la observacioacuten directade fenoacutemenos o bien a traveacutes de la ejecucioacuten de modelos que los simulan

ndash Los algoritmos y modelos utilizados suelen requerir una gran potencia computacional

ndash Implican ciencias interdisciplinares en donde trabajan cientiacuteficos de diferentes ramasque deben colaborar para obtener el maacuteximo rendimiento de las investigaciones

La computacioacuten Grid se adapta especialmente bien a este tipo de proyectos y en concretoel proyecto ESG [23] es uno los maacutes relevantes Centrado en la investigacioacuten climaacutetica ESGproporciona un entorno colaborativo con el objetivo de almacenar distribuir y procesar lasenormes cantidades de datos utilizadas en el seno de sus proyectos

Ademaacutes de proporcionar la infraestructura necesaria para el almacenamiento de la infor-macioacuten climaacutetica gran parte de los esfuerzos del proyecto fueron destinados a desarrollarestaacutendares y servicios de metainformacioacuten orientados a administrar navegar buscar y com-partir los datos almacenados Un portal Grid facilita el acceso a los datos y los servicios debuacutesqueda y recuperacioacuten de informacioacuten

El acceso a los recursos Grid se basa en el sistema de delegacioacuten de credenciales de My-Proxy (veacutease la Seccioacuten 32) pero ESG desarrolloacute y empleoacute un novedoso sistema de registrode usuarios para la generacioacuten automaacutetica de credenciales El Portal-based User Registra-

tion Service (PURSe) [53] permite el registro de usuarios y la creacioacuten y administracioacuten desus Certificados Digitales (DCs) y respectivos proxies de forma automaacutetica Originalmentefue desarrollado dentro del proyecto pero posteriormente evolucionoacute como sistema indepen-diente e integrable en nuevos portales Grid

30 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

PURSe encaja perfectamente con la poliacutetica de facilidad de uso que dirige el proyectoRETELAB por lo que fue integrado como medio de registro de usuarios No obstante elmoacutedulo de registro fue modificado y mejorado para dar un soporte maacutes amplio que el propor-cionado por defecto y asiacute ajustarse a las necesidades del laboratorio virtual Los detalles deimplementacioacuten y de integracioacuten se muestran en detalle en la Seccioacuten 32

P-Grade P-Grade es un portal Grid basado en GridSphere concebido para soportarformas complejas de ejecucioacuten de trabajos dirigidas por flujos de tareas (workflows) P-Gradeestaacute disentildeado para trabajar con Globus como middleware lo que le permite integrarse concualquier sistema Grid que lo utilice y aportarle la capacidad avanzada de administracioacuten deflujos de tareas Proporciona a los usuarios un editor de flujos que permite disentildear localmentelas tareas y subirlas al servidor Empleando Java Web Start (JavaWS) los usuarios puedendescargar el editor desde el portal y eacuteste se instala automaacuteticamente y de forma transparenteen la estacioacuten de trabajo del usuario Dentro de un mismo flujo de tareas P-Grade soportala asignacioacuten de trabajos a recursos que pertenezcan a diferentes Grids e incluso la creacioacutende flujos colaborativos entre varios investigadores Es tarea del usuario la asignacioacuten de losrecursos en concreto en donde se vaya a ejecutar una parte del flujo por lo que el usuario debeconocer la estructura del sistema

CAPIacuteTULO 3

PROYECTO RETELAB

31 Descripcioacuten del proyecto

RETELAB es un laboratorio virtual desplegado sobre un sistema distribuido que propor-ciona un entorno de trabajo colaborativo enfocado al desarrollo de proyectos de teledeteccioacutenoceanograacutefica [78] [33] Nace en el seno de la red RETEMAR con el objetivo proporcionarun entorno para llevar a cabo proyectos de altas prestaciones entre sus integrantes

Seguacuten las especificaciones iniciales los requerimientos que debiacutea cubrir el laboratoriovirtual eran

ndash Gestioacuten de recursos compartidos el laboratorio virtual debiacutea poseer la capacidad deintegrar y administrar recursos distribuidos pertenecientes a los diferentes centros de laRed

ndash Soporte para el almacenamiento administracioacuten e intercambio de datos distribuidos elalmacenamiento local tiene grandes limitaciones a la hora de administrar las ingentescantidades de datos capturados a traveacutes de la teledeteccioacuten por lo que RETELAB de-biacutea disponer de un sistema de datos distribuidos que permitiese almacenar procesar ycompartir la informacioacuten

ndash Potencia computacional en general las aplicaciones cientiacuteficas oceanograacuteficas (mode-los climaacuteticos deteccioacuten de contaminantes etc) demandan una gran cantidad de recur-sos computacionales El sistema proporcionariacutea la potencia necesaria para su ejecucioacuten

32 Capiacutetulo 3 Proyecto RETELAB

ndash Seguridad dado que el laboratorio proporcionariacutea acceso a recursos compartidos laseguridad debiacutea ser uno de los pilares en el disentildeo e implementacioacuten de RETELAB

ndash Interfaz amigable es necesario que la interfaz de acceso al sistema sea intuitiva y faacutecilde utilizar para que los usuarios puedan centrarse en sus trabajos sin tener que dedicaresfuerzos al aprendizaje de nuevas herramientas

ndash Visualizacioacuten el laboratorio virtual debiacutea proporcionar las herramientas necesarias paravisualizar tanto los resultados de los trabajos como los datos almacenados

Las especificaciones del sistema junto con las caracteriacutesticas tiacutepicas de las aplicacionesque se desea ejecutar hacen de la computacioacuten Grid la tecnologiacutea maacutes adecuada para el desa-rrollo del laboratorio virtual y el acceso a traveacutes de un portal Grid la opcioacuten maacutes simple yamigable para el usuario final

311 Arquitectura general del sistema

El disentildeo de RETELAB se corresponde con una arquitectura cliente-servidor multicapa(veacutease la Figura 31) en la que una aplicacioacuten cliente tiacutepicamente un navegador Web realizapeticiones a un servidor que las procesa y devuelve un resultado A continuacioacuten se describenbrevemente las principales capas del sistema

ndash Capa de aplicaciones en esta capa se situacutea el servidor Web (Tomcat + Apache) en el queestaacute desplegado el portal Grid a traveacutes del cual se accede al sistema El portal basadoen el contenedor de portlets GridSphere contiene diferentes portlets que encapsulan ygestionan tareas sobre los recursos de alta computacioacuten

ndash Capa de middleware en esta capa estaacute desplegada la cuarta versioacuten del Globus Tool-

kit que contiene la tecnologiacutea y herramientas necesarias para gestionar un Grid GT4proporciona una coleccioacuten de servicios que permiten a las aplicaciones (capa superior)operar sobre los recursos de alta computacioacuten (capa inferior)

ndash Capa de recursos en esta capa se situacutean los recursos del sistema Se trata de recursosdistribuidos y heterogeacuteneos que pertenecen a diferentes centros

31 Descripcioacuten del proyecto 33

Figura 31 Arquitectura general del sistema RETELAB

Recursos del sistema

El sistema Grid de RETELAB permite incluir recursos de cualquier centro participante enel proyecto pero en el despliegue inicial soacutelo se ponen a disposicioacuten de la comunidad recursosde la USC y del CESGA

La USC colaboroacute con un cluster compuesto por 11 nodos 10 AMD Opteron 2212 y 1INTEL Xeon 5130 cada uno de los cuales presenta las siguientes caracteriacutesticas arquitecturax86_64 2 procesadores dual core frecuencia de 2GHz 4GB RAM e interconexioacuten Giga-Ethernet

El CESGA aportoacute un cluster compuesto de 4 nodos HP Proliant de las siguientes carac-teriacutesticas arquitectura x86_64 2 procesadores Intel Xeon Quadcore X5355 (8 coresequipo)frecuencia de 266GHz 8 GB de RAM 4 x 2MB cacheacute (L2) e interconexioacuten GigaEthernet

Los recursos proporcionados por el CESGA se aprovecharon al maacuteximo gracias a la pla-taforma de virtualizacioacuten Xen [6] Tal y como se muestra en la Figura 32 uno de los nodosdel cluster fue virtualizado para alojar a 3 recursos virtuales diferentes

ndash RETELAB UI aloja la interfaz de acceso al laboratorio virtual es decir el portal Grid

34 Capiacutetulo 3 Proyecto RETELAB

ndash CESGA CE gestiona los trabajos que le llegan al cluster actuando como nodo principalo laquocabezaraquo

ndash Nodo de trabajo se ha virtualizado un nodo de trabajo que si bien no tiene la potenciacomputacional del resto de los nodos es aprovechado y utilizado como parte del cluster

Fedora Core 6 + XENScientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Hardware

Xenreg Hypervisor

CEUI Nodo Trabajo

Scientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Cluster CESGA

Figura 32 Recursos aportados por el CESGA

32 Registro y acceso de los usuarios

El objetivo de esta seccioacuten es mostrar el moacutedulo para el registro y acceso de los usuarios deRETELAB al sistema pero para una mejor comprensioacuten es necesario introducir brevementealgunos conceptos sobre la infraestructura de seguridad del GT

32 Registro y acceso de los usuarios 35

Security Grid Infrastructure (GSI)

La GSI es un conjunto de herramientas libreriacuteas y protocolos usados por el GT paragestionar el acceso de los usuarios y aplicaciones a los recursos de altas prestaciones [70]Los pilares fundamentales del GSI son la PKI y los Certificados Digitales (DCs) X509

Cada participante de un sistema Grid dispone de un DC X509 que lo identifica y queprincipalmente estaacute compuesto por

ndash Un nombre que identifica a la persona o recurso al que representa el DC

ndash La clave puacuteblica del propietario del DC

ndash El nombre de la Autoridad Certificadora (CA) que ha firmado el DC y que garantiza laidentidad del propietario Es esencial que todos los participantes de un Grid confiacuteen ytengan acceso a las claves puacuteblicas de las CAs utilizadas para firmar los DCs

ndash La firma digital de la CA que valida el DC

Es importante diferenciar dos teacuterminos en el aacutembito de la seguridad Grid

ndash Autenticar proceso de identificar uniacutevocamente a un usuario o a un recurso

ndash Autorizar proceso que identifica las acciones que puede realizar un usuario sobre unrecurso concreto

Autenticacioacuten El proceso de autenticacioacuten de participantes en un sistema Grid es mu-tuo es decir para establecer una comunicacioacuten entre dos participantes es necesario que cadauno de ellos se identifique ante el otro a traveacutes del siguiente meacutetodo

1 La entidad lsquoArsquo establece una conexioacuten con la entidad lsquoBrsquo y le enviacutea su DC

2 La entidad lsquoBrsquo comprueba la autenticidad del DC utilizando la clave puacuteblica de la CAcon la firma del certificado

3 Una vez validado el certificado lsquoBrsquo trata de confirmar que la entidad que envioacute el DC esrealmente su propietaria y para ello enviacutea un mensaje aleatorio para que lsquoArsquo lo codifiqueutilizando su clave privada

4 La entidad lsquoArsquo utiliza su clave privada para codificar el mensaje y eacuteste es devuelto a lsquoBrsquo

36 Capiacutetulo 3 Proyecto RETELAB

5 lsquoBrsquo utiliza la clave puacuteblica de lsquoArsquo contenida en el DC para descodificar el mensaje ycomprobar que es el mismo que el original

6 Una vez que lsquoArsquo es autenticada lsquoBrsquo iniciariacutea nuevamente el proceso enviando su DC alsquoArsquo

Cuando un usuario desarrolla una tarea en un Grid eacutesta puede requerir varios recursoso puede que durante su procesamiento necesite solicitar servicios en nombre del usuarioSeguacuten el meacutetodo de autenticacioacuten mostrado cada vez que el usuario necesite un recurso orequiera un servicio deberiacutea autenticarse El uso de la clave privada exige la atencioacuten delusuario ya que se almacena cifrada y es necesario que el usuario introduzca su contrasentildeacada vez que sea necesaria su autenticacioacuten Esto puede resultar tedioso en tareas complejassobre todo si se dilatan en el tiempo Para solucionarlo GSI introduce el concepto de dele-gacioacuten Este mecanismo permite al usuario asignar un proxy a la tarea deseada y evita tenerque presentar su DC cada vez que la tarea realiza una operacioacuten en su nombre Los proxies

son credenciales con un tiempo de vida muy reducido generadas por los usuarios a partir susDCs La identidad de los proxies es la misma que la de los DCs salvo una pequentildea modifi-cacioacuten que indica su naturaleza La creacioacuten de un proxy implica la generacioacuten tanto de unaclave puacuteblica como de una privada que se almacenan sin cifrar y a las que se puede accedersin contrasentildea evitando la accioacuten del usuario

Autorizacioacuten Por defecto GSI proporciona unos sistemas de autorizacioacuten muy baacutesicosde entre los que cabe destacar el sistema gestionado por el GridMap Cada recurso poseeun fichero denominado GridMap que contiene una lista que relaciona nombres de usuario(identificadores presentes en los DCs) con cuentas de usuario locales Si el usuario tiene unacuenta local entonces puede utilizar dicho recurso Es conveniente disponer de sistemas queayuden a la creacioacuten y gestioacuten de dichas listas y de las cuentas correspondientes

La ventaja es que GSI tambieacuten proporciona mecanismos para el desarrollo e integracioacutende sistemas de autorizacioacuten propios y esto seraacute aprovechado para gestionar la autorizacioacuten delos usuarios de RETELAB

MyProxy

MyProxy [86] es un repositorio on-line de certificados cuya finalidad es proporcionarproxies temporales bajo demanda para que puedan ser utilizados en cualquier momento y

32 Registro y acceso de los usuarios 37

desde cualquier lugar MyProxy puede ser utilizado para delegar credenciales a servicios queactuacuteen en lugar del usuario y es el meacutetodo maacutes habitual para delegar y usar credenciales enlos portales Grid MyProxy puede ser utilizado de dos modos diferentes

ndash Repositorio de credenciales de usuario MyProxy actuacutea como almaceacuten de los DCs y delas claves privadas de los usuarios Abstrae al usuario del uso y almacenamiento de loscertificados y permite generar proxies temporales bajo demanda Este uso implica queel usuario delega la seguridad de sus DCs en el servidor

ndash Repositorio de proxies MyProxy almacena los proxies generados por los usuarios atraveacutes de sus DCs y genera nuevos representantes con una vida maacutes corta que los origi-nales Es necesario que los usuarios generen y alojen nuevos proxies cada vez que losalmacenados caduquen

321 Autenticacioacuten y autorizacioacuten

Uno de los requisitos fundamentales para la construccioacuten del laboratorio virtual (veacutease laSeccioacuten 31) era el desarrollo de una interfaz de usuario sencilla y amigable que no demandasegrandes conocimientos tecnoloacutegicos La sencillez de un sistema debe empezar desde el regis-tro y acceso de los usuarios pero a menudo esto entra en conflicto con los requerimientos deseguridad por lo que fue necesario encontrar una solucioacuten equilibrada

La seguridad en RETELAB estaacute basada en el modulo GSI del GT4 lo que condiciona elacceso al sistema y supone que los usuarios deban disponer de un DC El proceso para obtenery emplear un DC es cuanto menos tedioso para el usuario y puede producir rechazo al usodel sistema por lo que es necesario adaptarlo para que sea maacutes coacutemodo Por otro lado esimportante que el sistema de autorizacioacuten sea sencillo de administrar pero lo suficientementepotente para responder a las siguientes preguntas

ndash iquestQuieacuten puede acceder

ndash iquestQueacute recursos puede utilizar

ndash iquestQueacute tareas puede realizar sobre un recurso concreto

Un RBAC [91] parece ser la mejor alternativa En RBAC los permisos se encuentran asociadosa roles y los usuarios son poseedores de uno o maacutes roles por lo que adquieren los permisosasociados a eacutestos Los roles permiten reflejar con mayor veracidad la estructura de una VO y el

38 Capiacutetulo 3 Proyecto RETELAB

puesto o tareas desempentildeadas por un investigador concreto dentro de ella La administracioacutendel control de acceso es considerablemente maacutes sencilla que si se gestiona la seguridad a nivelde usuario

Registro y Acceso

El registro y acceso de los usuarios de RETELAB se ha implementado integrando ymejorando diferentes sistemas para conseguir una solucioacuten amigable sin sacrificar la seguri-dad [76] [77] La Figura 33 muestra un diagrama en donde se aprecian los diferentes sistemasintegrados

Figura 33 Arquitectura del sistema de registro y acceso de usuarios de RETELAB

El acceso al portal puede contemplarse desde tres escenarios diferentes (veacutease la Figu-ra 34) acceso de un usuario no registrado acceso de un usuario registrado y acceso de unusuario perteneciente a una red de centros de confianza

Usuario no registrado

El registro de un nuevo usuario se realiza a traveacutes de un portlet de registro basado enel sistema PURSe [53] [2] Este sistema permite registrar a un usuario y solicitarle un DCde forma automaacutetica en el mismo momento en que enviacutea sus datos Por cada registro el

32 Registro y acceso de los usuarios 39

Usuario

Shibboleth

Recuperar

Certificados

Registro Usuario

PURSe

Usuario

Registrado

Acceder al Portal

AutenticarIdentificar

Usuario

No

No

Siacute

No

Rol

Identificar desde

Shibboleth

Auntenticar Centro Origen

Redirigir Datos Usuario

Crear Cuenta

Temporal

Rol

Generar

Certificados

Siacute

Acceso Concedido

Siacute

Figura 34 Esquema simplificado del registro y acceso de usuarios al sistema

administrador del portal recibe un aviso para que valide los datos del nuevo usuario y sies oportuno se genera el DC a traveacutes de una CA propia del sistema Los certificados y lasclaves privadas son almacenados en MyProxy e identificados con el nombre y contrasentildeaproporcionados por el usuario al registrarse

Para integrar el RBAC fue necesario implementar una mejora sobre PURSe para quepudiese dar soporte a los roles de usuario Gracias a esta mejora el administrador puedeasignar roles a los usuarios que gestionan sus accesos tanto al portal como a los recursosdel sistema La mejora realizada permite crear automaacuteticamente Certificados de Atributos(ACs) X509 con informacioacuten sobre los roles de los usuarios y almacenarlos en un aacuterbol dedirectorios Lightweight Directory Access Protocol (LDAP) para su posterior uso en la gestioacutendel acceso

Detalles de implementacioacuten La implantacioacuten de un sistema RBAC en RETELAB serealizoacute intentando que tuviese el menor impacto posible sobre el resto de los subsistemas

40 Capiacutetulo 3 Proyecto RETELAB

integrados con el objetivo de que fuese reutilizable y sencillo de instalar En el proceso seintentoacute aprovechar al maacuteximo el coacutedigo libre desarrollado por los proyectos integrados (PUR-Se PERMIS GridSphere etc) e implementar nuevas clases que sirviesen de nexo entre lasdiferentes tecnologiacuteas

Para integrar los roles con el sistema de registro PURSe fue necesario implementar variasclases Java (veacutease la Figura 35) que se encapsularon como un ARchivo Java (JAR) generarun archivo de propiedades con los datos de acceso al LDAP y antildeadir un nuevo moacutedulo deregistro en el fichero webxml de PURSe El diagrama mostrado en la Figura 35 contiene lasclases implicadas en la asignacioacuten de roles El moacutedulo de registro es el nexo con el paquetePURSe y el encargado de laquoescucharraquo los eventos y realizar las acciones consecuentes PURSeproporciona un moacutedulo de registro para integrarse con GridSphere que da de alta a los usua-rios en el portal pero ademaacutes permite antildeadir nuevos moacutedulos siempre y cuando implementenla interfaz RegistrationModule El moacutedulo RetelabRegistrationModule fue desarrollado espe-ciacuteficamente para dar soporte a los ACs Cuando un nuevo usuario es dado de alta a traveacutesde PURSe el evento es capturado y gestionado por la clase RetelabRegistrationModule Loseventos de PURSe se reciben como objetos que contienen tanto la informacioacuten de la accioacutencomo los datos del usuario Utilizando la informacioacuten personal y la traveacutes de la clase Certi-

ficateGenerator se genera un AC que es firmado por la clase RetelabSigningUtility Una vezse ha generado un AC la clase LdapConnector es utilizada para almacenarlo en el directorioLDAP Las clases dedicadas tanto a la generacioacuten como a la firma de los ACs fueron im-plementadas basaacutendose en clases de PERMIS que es el software empleado para gestionar elacceso de los usuarios registrados a los recursos a traveacutes de roles

---

----

Figura 35 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles

La solucioacuten desarrollada utiliza DCs generados por PURSe y ACs creados a traveacutes de cla-ses basadas en procedimientos empleados por PERMIS Es interesante destacar un problema

32 Registro y acceso de los usuarios 41

surgido de la integracioacuten de los dos tipos de certificados para la creacioacuten de los DCs se utili-zoacute el proveedor de Extensioacuten Criptograacutefica de Java (JCE) denominado Cryptix mientras quepara los ACs se utilizoacute el JCE IAIK Para utilizar un proveedor JCE es necesario registrarloy concretamente un error en la implementacioacuten de Cryptix impediacutea su uso en caso de quealguacuten otro proveedor fuese registrado con posterioridad Al utilizar varios JCEs se generabanerrores frecuentemente por lo que fue necesario insertar un procedimiento previo a su utiliza-cioacuten para comprobar el orden de registro y modificarlo en caso de que fuese necesario (veacuteaseel Coacutedigo A1)

Una de las ventajas de usar GridSphere como base para el desarrollo del portal fue quedisponiacutea de una serie de portlets ya desarrollados para crear portales Web baacutesicos Del nuacutecleode portlets de GridSphere cabe destacar el portlet de administracioacuten que entre otras cosaspermite crear y asignar roles a los usuarios del portal GridSphere en base a dichos rolesgestiona el uso y acceso de los usuarios a los portlets

Dado que la gestioacuten del sistema Grid tambieacuten estaacute basada en roles y con el objetivo dedesarrollar un sistema de administracioacuten sencillo y usable se implementoacute una mejora sobreel sistema de administracioacuten de GridSphere para dar soporte a los ACs De este modo unadministrador puede gestionar los roles tanto del portal como del sistema Grid desde un puntouacutenico ya que en el momento en que un rol es asignado el AC correspondiente es creado yalmacenado automaacuteticamente en el directorio LDAP

Para dar soporte a los ACs fue necesario modificar la clase de GridSphere UserManager-

Portlet El fragmento de Coacutedigo A2 muestra los cambios realizados en el meacutetodo que antildeadeusuarios a GridSphere

Usuario registrado

Los usuarios con cuenta en RETELAB pueden acceder al portal autenticaacutendose en unportlet dedicado a tal fin Una vez que el usuario es identificado el sistema utiliza su nom-bre y contrasentildea para recuperar sus credenciales almacenadas Las acciones que el usuariopuede realizar sobre el sistema estaacuten guiadas por su rol y una poliacutetica de autorizacioacuten basa-da en un modelo RBAC PERMIS [28] [27] es el sistema de autorizacioacuten basado en rolesutilizado para gestionar el acceso de los usuarios a los servicios Grid Su integracioacuten con elGT4 se realiza gracias a que eacuteste permite configurar para cada servicio Grid una secuenciade mecanismos de autorizacioacuten denominados Policy Decision Point (PDP) PERMIS puededesplegarse como un PDP para antildeadir un control basado en roles al sistema Para gestionar

42 Capiacutetulo 3 Proyecto RETELAB

la autorizacioacuten de la ejecucioacuten de tareas en un recurso especiacutefico de acuerdo a un rol esnecesario modificar la poliacutetica de autorizacioacuten del meacutetodo createManagedJob en el ficheromanaged-job-factory-security-configxml y antildeadir el PDP de PERMIS como se muestra en elfragmento de Coacutedigo A3

El control de acceso de un usuario a un servicio o recurso Grid se realiza desde 3 puntoscomo puede verse en la Figura 36

1 Se comprueba si el usuario posee un rol suficiente para acceder a un determinadoportlet

2 Se comprueba que el usuario tenga un DC activo en el portal

3 Si el usuario invoca un servicio Grid PERMIS comprueba su rol y dependiendo de lapoliacutetica de seguridad del recurso solicitado se permite o no su uso

Figura 36 Esquema del control de acceso basado en roles de RETELAB

32 Registro y acceso de los usuarios 43

Acceso confiable

Actualmente y debido a la gran proliferacioacuten de sistemas a traveacutes de Internet cada personagestiona multitud de cuentas y registros lo que supone recordar una gran cantidad de nombresy contrasentildeas En muchos casos se acaba sacrificando la seguridad anotando las contrasentildeaso utilizando siempre los mismos datos para facilitar la tarea

Shibboleth [83] es un software que proporciona un sistema de autenticacioacuten Single-Sign

On (SSO) a traveacutes de la Web Esto significa que permite acceder a varios sistemas indepen-dientes a traveacutes de una uacutenica identificacioacuten Shibboleth se basa en una red confiable de sociosen los que cada uno tiene su propio sistema de autenticacioacuten A grandes rasgos su funciona-miento es el siguiente cuando un usuario perteneciente a uno de los centros de la red quiereacceder a un sistema de otro centro eacuteste uacuteltimo lo redirige al sistema de autenticacioacuten delcentro de origen Una vez que el usuario es autenticado el centro de origen manda los da-tos personales al centro de destino que permite o deniega el acceso en base a la informacioacutenrecibida

La integracioacuten de Shibboleth con RETELAB tiene como punto de partida la solucioacutendisentildeada por el grupo Meta Access Management System (MAMS) para su utilizacioacuten junto aGridSphere En RETELAB se ha partido de la versioacuten de MAMS y se ha desarrollado unamejora para registrar y generar automaacuteticamente los DCs y ACs de los usuarios que accedan atraveacutes de esta opcioacuten Los datos para generar los certificados deberaacuten ser enviados por el centroque lo autentica La secuencia de pasos para acceder a RETELAB a traveacutes de Shibboleth esla siguiente

1 El usuario accede a RETELAB a traveacutes del portlet de acceso de Shibboleth

2 El sistema muestra al usuario una lista con los centros asociados para que seleccione acuaacutel pertenece

3 El sistema redirige al usuario al sistema de autenticacioacuten correspondiente

4 Una vez que el sistema externo autentica al usuario eacuteste es redirigido nuevamente alportal de RETELAB junto con sus datos personales (nombre rol etc)

5 RETELAB utiliza la informacioacuten recibida para generar las credenciales del usuarionecesarias incluyendo el AC para utilizar el sistema

44 Capiacutetulo 3 Proyecto RETELAB

Para la integracioacuten de los DCs y ACs en el procedimiento de SSO se actuoacute principal-mente en la clase GridSphereServlet Esta clase fue previamente modificada en el proyectoMAMS para crear usuarios Shibboleth en el portal GridSphere y en el caso de RETELABse incorporaron los meacutetodos necesarios para la gestioacuten de los DCs y ACs El coacutedigo para lacreacioacuten y almacenamiento del los DCs asociados a los usuarios de Shibboleth se muestra enel Coacutedigo A4 mientras que el procedimiento para la creacioacuten de los ACs se presenta en elCoacutedigo A5

La inclusioacuten de Shibboleth en el sistema de RETELAB permite que los socios del proyectoque deseen integrarse en una Red de confianza puedan autenticarse a traveacutes de sus sistemasinternos sin necesidad de registrarse en el portal

33 Sistema de almacenamiento distribuido

El sistema de almacenamiento de RETELAB [75] [80] fue disentildeado para gestionar gran-des colecciones de datos provenientes de la teledeteccioacuten y de los propios proyectos ocea-nograacuteficos En RETELAB el concepto de dato debe entenderse como un fichero binario querepresenta un producto obtenido a traveacutes de un sensor o generado a traveacutes de un proceso deanaacutelisis de datos previos Este tipo de productos requiere un considerable espacio en disco porlo que su almacenamiento masivo es una tarea complicada que no puede ser resuelta utilizan-do DBs tradicionales La computacioacuten Grid puede afrontar este reto a traveacutes de un Data Grides decir un sistema de almacenamiento distribuido entre los diferentes recursos del Grid RE-TELAB no pretende ser soacutelo una herramienta para el almacenamiento y procesamiento sinoque busca ser un medio para compartir conocimiento entre la comunidad oceanograacutefica porello debe proporcionar procedimientos a los usuarios que de forma sencilla permitan pu-blicar y compartir los resultados de sus investigaciones Estos procedimientos deberiacutean estarbasados en el uso de metadatos para describir los productos almacenados y asiacute facilitar losprocesos de localizacioacuten y distribucioacuten de los mismos

Los metadatos son datos que describen el contenido de otros datos Funcionan de formasimilar a un iacutendice para localizar objetos A cada objeto se le asigna una laquoficharaquo que lo des-cribe a traveacutes de varios campos y que es utilizada para localizarlo dentro de un almaceacuten Unejemplo clarificador seriacutea el de las fichas de los libros en una biblioteca En RETELAB ca-da dato almacenado tiene asociado un conjunto de pares campo-valor que lo describen y queayudan a realizar buacutesquedas maacutes concretas a traveacutes de las colecciones de datos Los metadatos

33 Sistema de almacenamiento distribuido 45

pueden estar almacenados de forma interna incrustados dentro del propio dato al que describe(cabecera) o en un almacenamiento externo

Figura 37 Arquitectura del Data Grid desplegado en RETELAB

La arquitectura de la solucioacuten implementada que puede verse en la Figura 37 estaacute forma-da por tres capas la capa inferior que contiene a los recursos del Grid almacena las coleccio-nes de datos la capa intermedia o middleware integra las diferentes tecnologiacuteas que formanel nuacutecleo del sistema y por uacuteltimo la capa superior proporciona la interfaz de usuario paraacceder al sistema de almacenamiento

Las tecnologiacuteas presentes en la capa de middleware son las encargadas de gestionar elalmacenamiento de RETELAB El nuacutecleo del Data Grid lo forma el servicio de GT4 deno-minado Replica Location Service (RLS) Los elementos almacenados estaacuten identificados porun Nombre Loacutegico de Fichero (LFN) y cada uno de ellos tiene asociado lsquoNrsquo Nombres Fiacutesicosde Ficheros (PFNs) es decir las diferentes rutas donde estaacute almacenado ya que puede estarreplicado Por lo tanto el servicio laquoconoceraquo la localizacioacuten especiacutefica de cada dato dentrode RETELAB relacionando LFNs con PFNs El RLS funciona gracias a dos subsistemas el

46 Capiacutetulo 3 Proyecto RETELAB

Local Replica Catalog (LRC) y el Replica Location Index (RLI) Por un lado cada recursodel Data Grid de RETELAB tiene desplegado un LRC con un listado que relaciona los LFNscon los PFNs almacenados en ese recurso y por otro lado RETELAB posee un RLI que deforma centralizada relaciona los LFNs con los diferentes LRCs donde estaacuten almacenados Estarea de cada LRC informar al RLI de las colecciones de datos que gestiona

Para describir correctamente los datos es necesario disponer de un conjunto de metadatosque permita reflejar todas sus caracteriacutesticas y particularidades RETELAB ha utilizado el es-taacutendar para metadatos geoespaciales ISO 19115 [7] Este estaacutendar proporciona un conjuntode metadatos orientado a describir datos geoespaciales aportando informacioacuten sobre la iden-tificacioacuten la extensioacuten la calidad el modelo espacial y temporal la referencia espacial y ladistribucioacuten de dichos datos

El almacenamiento y gestioacuten de los metadatos se hizo de forma externa al propio dato(la alternativa seriacutea agregarlos en la propia cabecera) y centralizada empleando el Metadata

Catalog System (MCS) [100] El MCS es un servicio del GT4 que proporciona un cataacutelogode metadatos a traveacutes de una interfaz que cumple con el estaacutendar de OGSA Este cataacutelogopermite describir datos a traveacutes de metainformacioacuten OGSA-DAI [17] que proporciona unainterfaz OGSA para el acceso a ficheros XML y DBs relacionales puede integrarse con elMCS para proporcionarle la capacidad de almacenamiento de los metadatos asiacute como losmecanismos de autenticacioacuten propios de un Grid

El sistema de almacenamiento fue integrado en el portal Grid para que el usuario pudieseutilizarlo a traveacutes de los diferentes portlets desplegados El proceso de acceso y recuperacioacutende un archivo almacenado se resume en la Figura 38 e incluye los siguientes pasos

1 El usuario utilizando metadatos realiza una consulta a traveacutes del portlet correspon-diente

2 El sistema consulta el MCS para obtener los nombres loacutegicos cuyos metadatos se ajus-tan a la consulta de usuario

3 El sistema consulta al RLI para saber queacute LRCs gestionan los datos relacionados conlos alias obtenidos

4 El sistema consulta a los LRCs las direcciones fiacutesicas vinculadas a los LFN

33 Sistema de almacenamiento distribuido 47

5 A traveacutes de la direccioacuten fiacutesica el sistema puede mover los datos utilizando por ejemploel servicio GridFTP [13] El GridFTP que es parte del GT4 se basa en el protocolo FTPpara proporcionar transferencias de datos seguras robustas raacutepidas y eficientes

Figura 38 Secuencia resumida de acciones para buscar y acceder a los datos almacenados

Los usuarios no soacutelo pueden buscar y utilizar las colecciones de datos del sistema sinoque pueden publicar los resultados de sus trabajos asignaacutendoles una lista de metadatos quelos describan Ademaacutes cada usuario dispone de un espacio virtual propio donde puede des-cargar datos para editarlos y cuando esteacuten listos subirlos y compartirlos con el resto de lacomunidad La integracioacuten del Data Grid con el sistema de enviacuteo de trabajos se detalla en laSeccioacuten 351

Detalles de implementacioacuten Para facilitar la integracioacuten de la DB con los portlets sedesarrolloacute y empaquetoacute en un JAR un conjunto de clases que proporcionan las herramientaspara la gestioacuten de la DB virtual Cada portlet que quisiese emplear la DB soacutelo necesitabaincorporar el JAR entre sus libreriacuteas El paquete es descrito a traveacutes del diagrama de clasessimplificado de la Figura 39 Las clases implementadas interactuacutean con las clases proporcio-nadas por el GT4

48 Capiacutetulo 3 Proyecto RETELAB

Figura 39 Diagrama de clases simplificado en el que se presentan las clases utilizadas para desarrollar lasoperaciones sobre la DB virtual

El desarrollo de las clases para la gestioacuten de la DB tuvo varias dificultades y entre ellases interesante destacar dos [80]

ndash Integracioacuten de OGSA-DAI y el MCS GT proporciona libreriacuteas para gestionar el MCSconcretamente la clase DaiMCSClient es una implementacioacuten de un cliente para conec-tarse al MCS sobre OGSA-DAI Esta clase hace uso de otra llamada GenericServiceFet-

cher que se encarga de instanciar clases que implementan interfaces para comunicarsecon los diferentes servicios de datos GenericServiceFetcher se conecta con un servicioa traveacutes de una URL y recupera el WSDL que lo describe El anaacutelisis del WSDL lepermite determinar la distribucioacuten de OGSA-DAI empleada para implementarlo y asiacuteinstanciar la interfaz adecuada El coacutedigo utilizado para recuperar el WSDL intenta rea-lizar una conexioacuten a una URL pero sin especificar la clase responsable para gestionardicha conexioacuten Si la clase responsable no estaacute definida de forma expliacutecita se asignauna en tiempo de ejecucioacuten que depende del protocolo usado para la conexioacuten CuandoGenericServiceFetcher forma parte de un software de escritorio funciona correctamente

33 Sistema de almacenamiento distribuido 49

pero en un entorno J2EE debido a la forma de cargar las clases en memoria que usa elTomcat no encuentra la clase responsable adecuada Fue necesario modificar y hacerexpliacutecito la clase que debiacutea cargar en la conexioacuten modificando la clase GenericService-

Fetcher (veacutease el Coacutedigo A6)

ndash Gestioacuten de proxies cuando un usuario se autentica en el portal el sistema obtiene auto-maacuteticamente un proxy de su DC del repositorio MyProxy El GT proporciona libreriacuteaspara gestionar dicho proxy y definirlo como el DC por defecto para que sea empleadoen las autenticaciones El problema surge con el servicio RLS que necesita que el DCesteacute almacenado fiacutesicamente en un directorio local Para solucionarlo se desarrolloacute unprocedimiento de conexioacutenvalidacioacuten con la DB que fijaba el DC por defecto para quefuese utilizado por los servicios que lo requiriesen y ademaacutes fuera almacenado localy temporalmente para que el RLS pudiese usarlo en la autenticacioacuten El procedimientoempleado se detalla en el Coacutedigo A7

331 Almacenamiento de datos

Se han desarrollado diferentes procedimientos para introducir datos en el sistema de al-macenamiento de RETELAB que cubren las diferentes necesidades de sus usuarios

Almacenamiento de datos locales Se ha habilitado un sistema de transferencia y al-macenamiento de datos locales (veacutease la Figura 310) que permite a los usuarios compartirdatos con la comunidad Para transferir los datos el usuario debe seleccionar el producto desu computadora que desea compartir asignarle un LFN y describirlo a traveacutes de metadatosescogidos a traveacutes de una lista confeccionada a partir del estaacutendar ISO 19115

Almacenamiento de datos viacutea FTP En el campo de la observacioacuten de la Tierra eshabitual que los usuarios utilicen datos almacenados en servidores FTP externos para susproyectos Se ha implementado un portlet (veacutease la Figura 311) que permite el acceso a dichosservidores para copiar y transferir datos a RETELAB El usuario debe introducir sus datos deacceso navegar a traveacutes del aacuterbol de directorios del servidor FTP seleccionar los elementosque quiere antildeadir y describirlos a traveacutes de metadatos Si los datos estaacuten comprimidos puedeestablecerse el tipo de compresioacuten para que eacutestos sean desempaquetados automaacuteticamenteantes de almacenarse

50 Capiacutetulo 3 Proyecto RETELAB

Figura 310 Portlet para el almacenamiento de datos locales en RETELAB

Almacenamiento de datos generados en RETELAB Los datos generados tras la eje-cucioacuten de una tarea en RETELAB pueden compartirse con el resto de la comunidad a traveacutesdel sistema de almacenamiento (veacutease la Figura 312) El usuario puede visualizar los datos desalida y seleccionar los que desee antildeadir al Data Grid y al igual que en el resto de los casospodraacute ir antildeadiendo los metadatos que considere necesarios para describir cada elemento

Inicializacioacuten del Data Grid La introduccioacuten de nuevos elementos en el sistema de al-macenamiento se hace por defecto de uno en uno a traveacutes de un portlet dedicado pero estono es asumible en el momento de desplegar el sistema ya que es necesario dar de alta grandescolecciones de datos Se desarrolloacute un sistema de registro automaacutetico de datos a traveacutes de fi-cheros XML que indicaban rutas alias y metadatos para cada elemento Este procedimiento esde uso exclusivo del administrador y permite dar de alta automaacuteticamente grandes voluacutemenesde datos

Con el doble propoacutesito de probar el proceso para la inicializacioacuten del Data Grid y el deproporcionar suficientes recursos para poder ejecutar los proyectos que validariacutean el laborato-rio (veacutease la Seccioacuten 36) se dieron de alta varias colecciones de datos

ndash Una coleccioacuten de imaacutegenes SAR correspondientes por un lado al Golfo de Meacutexicoy por otro a la costa noroeste de la Peniacutensula Ibeacuterica asiacute como los datos de viento

33 Sistema de almacenamiento distribuido 51

Figura 311 Portlet para la integracioacuten de datos externos en el sistema

asociados a eacutestas en formato Network Common Data Form (NetCDF) Estos productosfueron empleados para desarrollar y validar el proyecto de SENTINAZOS (veacutease laSeccioacuten 363)

ndash Una coleccioacuten de datos en NetCDF empleada para desarrollar la aplicacioacuten para elcaacutelculo de la PP (veacutease la Seccioacuten 363) que incluiacutea

bull Datos de temperatura superficial del mar provenientes de los sensores AVHRR yMODIS

bull Datos sobre la concentracioacuten de clorofila provenientes de los sensores MODIS ySeaWIFS

bull Datos sobre la radiacioacuten solar disponible para el caacutelculo de la fotosiacutentesis estima-dos por la NASA

Cada producto almacenado fue etiquetado con un conjunto de metadatos para describirlo yasiacute facilitar su posterior identificacioacuten y buacutesqueda

El formato NetCDF [93] ha sido ampliamente utilizado en RETELAB debido a su popu-laridad dentro de la comunidad cientiacutefica Es utilizado regularmente en aplicaciones relacio-

52 Capiacutetulo 3 Proyecto RETELAB

Figura 312 Resultados de la ejecucioacuten de un trabajo en el Grid El usuario puede visualizarlos y revisarlos yoantildeadirlos al Data Grid previa descripcioacuten usando metadatos

nadas con la climatologiacutea meteorologiacutea o la oceanografiacutea para el intercambio de datos esdecir como formato de entradasalida

34 Visualizacioacuten de los datos

Se han integrado dos tipos de visores en RETELAB para la visualizacioacuten de los datosbien para validar las buacutesquedas bien para el anaacutelisis de los resultados tras ser procesados

341 Live Access Server

Un Live Access Server (LAS) [101] es un servidor con la capacidad de conectarse a ser-vidores externos OPeNDAP [32] para el acceso e intercambio de datos Estaacute disentildeado paraproporcionar acceso a datos cientiacuteficos georreferenciados y trabajar con informacioacuten prove-niente de distintos servidores como si fuese una uacutenica DB

Un LAS permite generar graacuteficos de forma dinaacutemica solicitar fragmentos de datos en unavariedad de formatos comparar variables almacenadas en DBs diferentes y generar estadiacutesti-cas baacutesicas La herramienta de visualizacioacuten por defecto es Ferret software de coacutedigo abiertoespecialmente dirigido a trabajar con datos georreferenciados y que permite crear datos cien-

34 Visualizacioacuten de los datos 53

tiacuteficos y proporciona una poderosa herramienta de anaacutelisis Una de las grandes ventajas de unLAS es que cualquier usuario puede acceder a traveacutes de un simple navegador

Se desplegoacute un LAS en RETELAB y se integroacute dentro del portal a traveacutes de un portlet conun Iframe elemento HTML que permite empotrar un documento HTML dentro de otro eneste caso se utilizoacute para incrustar la interfaz Web del LAS como puede verse en la Figura 313

Figura 313 Integracioacuten del Live Access Server en RETELAB

342 Integrated Data Viewer

El Integrated Data Viewer (IDV) [84] desarrollado por Unidata es una herramienta soft-ware implementada en Java que permite visualizar y analizar datos geocientiacuteficos Para in-tegrar IDV en el sistema se desarrolloacute un procedimiento que por cada elemento recuperadotras una consulta a la DB o por cada resultado producido por la ejecucioacuten de un trabajogenera dinaacutemicamente un enlace a un fichero Java Networking Launching Protocol (JNLP)La descarga por medio del enlace de este fichero inicia previa confirmacioacuten del usuario lainstalacioacuten temporal del software IDV La instalacioacuten se realiza de forma automaacutetica y trans-parente gracias a JavaWS y una vez finalizada IDV es cargado con los datos asociados alenlace El uacutenico requisito para su utilizacioacuten es disponer del Entorno de Ejecucioacuten de Java(JRE) que incluye al propio JavaWS

54 Capiacutetulo 3 Proyecto RETELAB

La Figura 314 muestra una composicioacuten de coacutemo un usuario podriacutea acceder a un ficheroNetCDF almacenado en su directorio virtual y visualizarlo a traveacutes del IDV de forma automaacute-tica

Figura 314 Integracioacuten del IDV en RETELAB

35 Gestioacuten y monitorizacioacuten de trabajos

A pesar de que el CESGA fue el principal desarrollador del moacutedulo de enviacuteo y monito-rizacioacuten de trabajos su descripcioacuten en el documento es necesaria debido a que es una partefundamental de RETELAB y se ha colaborado activamente en su integracioacuten con el resto delos moacutedulos del sistema

Existen diferentes alternativas que permiten a los usuarios enviar trabajos a un sistemaGrid pero requieren la interaccioacuten del usuario para por ejemplo decidir a queacute recurso delGrid se enviacutean las tareas lo que implica conocer su arquitectura La interaccioacuten con el usuarioresta transparencia y complica el proceso

Como se ha mencionado en varias ocasiones RETELAB ha sido disentildeado teniendo comopremisa la facilidad de uso por lo que el sistema de enviacuteo y monitorizacioacuten de trabajos fuedesarrollado para que permitiese a los usuarios configurar ejecutar monitorizar y recuperar

35 Gestioacuten y monitorizacioacuten de trabajos 55

los resultados sin necesidad de conocer detalles de implementacioacuten del sistema Grid Estenivel de abstraccioacuten se consiguioacute principalmente gracias a la integracioacuten de un metaplanifi-cador que optimiza el uso de los recursos compartidos y realiza tareas para el descubrimientode recursos planificacioacuten de tareas ejecucioacuten monitorizacioacuten y recuperacioacuten de trabajos

RETELAB incorporoacute un portlet para el enviacuteo y monitorizacioacuten de trabajos que interactuacuteacon el metaplanificador GridWay [64] [65] a traveacutes del API de Distributed Resource Ma-

nagement Application (DRMAA) [112] La eleccioacuten de Gridway como metaplanificador sebasoacute en varias de sus caracteriacutesticas permite interoperar con diferentes middleware Grid tie-ne soporte para DRMAA y permite enviar trabajos empleando el estaacutendar Job Submission

Description Language (JSDL) [16] Un esquema resumido de la arquitectura utilizada para elenviacuteo y monitorizacioacuten de trabajos puede verse en la Figura 315

Figura 315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten de trabajos en RETELAB

Detalles de implementacioacuten La integracioacuten del metaplanificador con el portal Web fuebastante laboriosa ya que Gridway fue originalmente concebido para ser empleado por usua-rios Unix a traveacutes de CLI o de aplicaciones DRMAA Tal y como estaba originalmente dise-ntildeado GridWay utilizaba el mismo proceso de Unix y el mismo proxy para todos los trabajosque se lanzaban desde la misma cuenta de usuario La identificacioacuten y el acceso de usuarios

56 Capiacutetulo 3 Proyecto RETELAB

de RETELAB no se basa en cuentas de Unix sino que son identificados por su proxy y su AC(veacutease la Seccioacuten 32) Todos los usuarios de RETELAB utilizan la misma cuenta de Unix anivel de recurso de Grid lo que lo hace incompatible con el disentildeo de GridWay Fue nece-sario implementar junto con el equipo de desarrollo del GridWay una versioacuten mejorada delmetaplanificador [33] que manteniendo la compatibilidad con el estaacutendar DRMAA permi-tiese identificar a los usuarios no soacutelo por su cuenta Unix sino tambieacuten por el identificadorpresente en el DC X509

351 Integracioacuten con el sistema de almacenamiento distribuido

El portlet para el enviacuteo de trabajos estaacute totalmente integrado con el Data Grid lo que per-mite por un lado utilizar los datos almacenados en RETELAB como paraacutemetros de entradaen los trabajos de usuario y por otro publicar y compartir los resultados de los trabajos conla comunidad

Test-1

aware

Figura 316 Integracioacuten del espacio de almacenamiento privado del usuario con el portlet de enviacuteo de trabajos

Los paraacutemetros de entrada para un trabajo pueden ser antildeadidos desde el directorio privadode un usuario como puede verse en la Figura 316 o desde el Data Grid

En el caso de que el usuario quiera utilizar los datos almacenados en el Data Grid deberaacutehacer uso de la buacutesqueda dirigida por metadatos Los resultados que obtenga podraacuten ser visua-

35 Gestioacuten y monitorizacioacuten de trabajos 57

lizados a traveacutes del IDV y asiacute confirmar su idoneidad antes de incorporarlos a su trabajo LaFigura 317 muestra la secuencia de buacutesqueda e incorporacioacuten de datos del Data Grid comoparaacutemetros de un trabajo

a

b

Figura 317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos a) Portlet de enviacuteo de trabajos con accesoa la buacutesqueda a traveacutes de la DB virtual b)Resultados de la buacutesqueda y seleccioacuten de los paraacutemetrospara el trabajo

Una vez lanzado el trabajo al Grid RETELAB pone a disposicioacuten del usuario un portletde monitorizacioacuten de tareas (veacutease la Figura 318) en el que puede verse el estado (esperaejecucioacuten error o finalizado) de todos sus trabajos Una vez que el trabajo ha finalizado el

58 Capiacutetulo 3 Proyecto RETELAB

monitor permite acceder a los resultados del mismo visualizarlos e incluso integrarlos en elData Grid (veacutease la Figura 312) en caso de que el usuario quiera compartirlos

Figura 318 Portlet para la monitorizacioacuten de los trabajos de usuario

36 Validacioacuten del laboratorio virtual

Una vez finalizado el desarrollo del laboratorio virtual fue probado desplegando variasaplicaciones desarrolladas en entornos de investigacioacuten en el aacuterea de la oceanografiacutea La in-tegracioacuten de estas aplicaciones sirvioacute para validar el sistema y para proporcionar softwareespecializado a la comunidad Todas las aplicaciones desplegadas estaacuten completamente inte-gradas en el portal por lo que hacen uso del sistema de autenticacioacuten del Data Grid y de lagestioacuten y monitorizacioacuten de trabajos

De entre las aplicaciones que a continuacioacuten se van a describir el Regional Ocean Mo-

del System (ROMS) y el modelo de produccioacuten primaria son aplicaciones desarrolladas porterceros que fueron adaptadas para ser ejecutadas en RETELAB mientras que el proyectoSENTINAZOS es un desarrollo propio concebido para solucionar un problema concreto quepor su entidad alcance y necesidad de investigacioacuten adicional del estado del arte es descritoen detalle en la segunda parte del presente documento

361 ROMS

ROMS [98] es un modelo de circulacioacuten oceaacutenica de nueva generacioacuten especialmente di-sentildeado para simular de manera precisa sistemas oceaacutenicos regionales La Figura 319 muestra

36 Validacioacuten del laboratorio virtual 59

un ejemplo de una simulacioacuten de la temperatura superficial oceaacutenica en la costa noroeste dela peniacutensula Ibeacuterica

Figura 319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten empleando ROMS

ROMS fue desarrollado en Fortran 9095 e implementa ademaacutes del meacutetodo en serie dosmeacutetodos de paralelizacioacuten [114] Message Passing Interface (MPI) y Open Multiprocessing

(OpenMP) mutuamente excluyentes Una caracteriacutestica del modelo es que todas sus entradasy salidas se basan en el formato NetCDF lo que facilita compartir los datos entre los usuariosy otras aplicaciones

El portlet que integra ROMS en el laboratorio fue desarrollado junto con el CESGA ypermite definir y ejecutar instancias del modelo Los usuarios a traveacutes de la interfaz Webpueden configurar los paraacutemetros de las simulaciones seleccionar los datos de entrada a traveacutesdel Data Grid monitorizar el estado de sus trabajos y cuando esteacuten finalizados recuperar losresultados En esta versioacuten es el usuario en el momento de la configuracioacuten quien debeseleccionar el modo de ejecucioacuten de la aplicacioacuten ya sea en serie o en paralelo viacutea OpenMPo MPI

60 Capiacutetulo 3 Proyecto RETELAB

362 Caacutelculo del modelo de produccioacuten primaria

RETELAB debiacutea poder integrar aplicaciones realizadas por los propios centros asociadosal proyecto por lo que se adaptoacute a traveacutes de un portlet un modelo realizado por el ICCMpara el caacutelculo de la Produccioacuten Primaria (PP) oceaacutenica

La PP puede definirse como la generacioacuten de componentes orgaacutenicos a partir del CO2 querealizan los organismos autoacutetrofos a traveacutes de los procesos de fotosiacutentesis o quimiosiacutentesis Esun mecanismo clave que permite a los oceacuteanos a traveacutes del fitoplancton ser los pulmones delplaneta ya que gracias a la PP se genera cerca del 50 de la produccioacuten global de oxiacutegeno yse captura alrededor de la mitad del CO2 mundial El caacutelculo de este paraacutemetro es fundamentalpara comprender el papel que juega el ciclo del carbono en el sistema climaacutetico mundial

Los llamados modelos biooacutepticos son los meacutetodos maacutes utilizados para el caacutelculo a granescala de la PP Estos modelos se basan en informacioacuten obtenida a traveacutes de sateacutelites queincluye entre otros datos informacioacuten sobre las biomasas de fitoplancton y de la luminosidadoceaacutenica En concreto el modelo implementado para RETELAB es una adaptacioacuten del Verti-cally Generalised Production Model (VGPM) desarrollado por Berhefeld y Falkowsky [20]

El portlet implementado permite definir los paraacutemetros de entrada al modelo y ejecutarloen el sistema Grid Los paraacutemetros esperados para un correcto funcionamiento son la tempe-ratura superficial oceaacutenica la concentracioacuten de clorofila y los datos sobre la radiacioacuten dispo-nible para fotosiacutentesis La Figura 320 muestra una composicioacuten que ilustra la visualizacioacutende resultados del caacutelculo de PP una vez lanzada la tarea en el sistema Grid

363 SENTINAZOS

Despueacutes de haber integrado y adaptado aplicaciones desarrolladas por terceros se afrontoacuteel reto de implementar una desde cero que aprovechase el sistema y ademaacutes fuese uacutetil para lacomunidad en un problema de difiacutecil solucioacuten como es la deteccioacuten semiautomaacutetica de con-taminantes marinos basados en hidrocarburos La contaminacioacuten marina es un problema quehabitualmente afecta a nuestras costas y que a menudo se relaciona con grandes cataacutestrofesde petroleros Sin embargo en un mayor porcentaje es originada por pequentildeos derrames quebien sea de forma fortuita debido a pequentildeos accidentes o bien sea de forma premeditada acausa de tareas de mantenimiento se producen diariamente Los centros de vigilancia ma-riacutetima invierten una gran cantidad de recursos en la vigilancia y persecucioacuten de estos actospero cubrir toda la superficie costera es una tarea inabarcable Los sateacutelites aportan la cober-

36 Validacioacuten del laboratorio virtual 61

Figura 320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data Grid y el sistema devisualizacioacuten de IDV

tura necesaria para el estudio y monitorizacioacuten de grandes aacutereas y concretamente estudiosprevios [25] [110] demostraron la viabilidad del uso de las imaacutegenes SAR de sateacutelites en ladeteccioacuten de este tipo de contaminantes

El objetivo es desarrollar una aplicacioacuten que permita el anaacutelisis de imaacutegenes de SAR paradetectar hidrocarburos e integrarla en RETELAB ya que esto proporcionariacutea ciertas ventajascomo

ndash Distribuir el almacenamiento de las imaacutegenes SAR

ndash Compartir las colecciones de imaacutegenes que cada centro disponga con el resto de parti-cipantes del proyecto

ndash Optimizar los algoritmos ya que tienen una gran carga computacional que en granmedida estaacute asociada a los bucles que las analizan y que son candidatos a ser paraleli-zados

ndash Ejecutar diferentes instancias de la aplicacioacuten al mismo tiempo aprovechando los dife-rentes recursos del sistema y asiacute analizar simultaacuteneamente diferentes aacutereas de la costa

62 Capiacutetulo 3 Proyecto RETELAB

Aunque la bibliografiacutea muestra que existen algoritmos similares para la deteccioacuten de ver-tidos eacutestos suelen presentar uno o varios de los siguientes problemas

ndash Requieren la presencia activa de un operador

ndash El coste computacional es demasiado alto para su uso en tiempo real

ndash Las implementaciones se basan en libreriacuteas comerciales con licencias privativas

ndash No tienen en cuenta los efectos de los fenoacutemenos meteoroloacutegicos principalmente elviento en la deteccioacuten de los vertidos

Debido a la complejidad de los algoritmos desarrollados la segunda parte de la tesis estaacutededicada a describirlos en detalle y resaltar el caraacutecter innovador de los mismos

Parte II

Validacioacuten del Laboratorio Virtualavances en la deteccioacuten automaacutetica de

vertidos de hidrocarburos

CAPIacuteTULO 4

ESTADO DEL ARTE

Introduccioacuten

Aunque existen muchos tipos de contaminantes los vertidos de hidrocarburos son pro-bablemente los que maacutes afectan al ecosistema marino A pesar de lo que popularmente esaceptado las grandes cataacutestrofes provocadas por los petroleros suponen una pequentildea parte dedicha contaminacioacuten Un estudio de la Agencia Espacial Europea (ESA) [39] reveloacute que tansoacutelo un 7 de los vertidos pueden ser atribuidos a accidentes mientras que un 45 corres-ponden a derrames que habitualmente se realizan durante operaciones de mantenimiento (porejemplo la limpieza de las sentinas) y que denominaremos sentinazos un 13 proviene defuentes naturales y el 35 restante corresponde a vertidos realizados directamente en los riacuteos

Los vertidos afectan a la economiacutea (turismo pesca etc) y al ecosistema de las regionesdamnificadas por lo que son necesarios sistemas y herramientas para su localizacioacuten Unaraacutepida identificacioacuten permitiriacutea minimizar su impacto e incluso identificar a sus causantesLos sensores que operan en el rango de las microondas comuacutenmente llamados radares handemostrado ser de gran utilidad en la deteccioacuten de vertidos de hidrocarburos

Radar El radar es un sistema de deteccioacuten activo [31] cuyo funcionamiento baacutesicamenteconsiste en el enviacuteo de un pulso de energiacutea en el rango de las microondas hacia la superficieterrestre Este haz es reflejado y retrodispersado por la superficie y parte de la energiacutea esrecogida nuevamente por la antena del radar La intensidad de la sentildeal que vuelve a la antenaes medida y grabada para posteriormente ser utilizada en la construccioacuten de una imagen de la

66 Capiacutetulo 4 Estado del arte

45

7

13

35

Sentinazos

Accidentes

Emanaciones

naturales

Riacuteos

Figura 41 Oriacutegenes de los vertidos de hidrocarburos Imagen adaptada de [39]

zona estudiada Cada piacutexel de la imagen estaacute asociado a un aacuterea sobre el terreno y almacena unvalor que representa la cantidad de energiacutea que regresa al sensor debido a la retrodispersioacuten

Tradicionalmente los buques y los aviones han sido los medios de vigilancia maacutes utili-zados en la lucha contra la contaminacioacuten oceaacutenica Por un lado los buques equipados consistemas de radar son uacutetiles para detectar contaminantes en sus proximidades y obtener mues-tras de los vertidos pero su restringida cobertura limita su eficacia por otro lado los avionesde vigilancia que utilizan sistemas de Radar Lateral Aerotransportado (SLAR) permiten vi-gilar aacutereas maacutes extensas pero su coste hace que sea poco viable emplearlos para monitorizarsuperficies de gran tamantildeo de forma intensiva y simultaacutenea En resumidas cuentas tanto losbuques como los aviones son adecuados como medios de primera intervencioacuten pero seriacuteadeseable un sistema maacutes econoacutemico con mayor cobertura

El uso de sistemas de radar instalados a bordo de sateacutelites permite abarcar aacutereas muchomaacutes extensas y a un coste razonable pero su resolucioacuten espacial no es adecuada para la buacutes-queda de pequentildeos derrames de hidrocarburos La resolucioacuten es la habilidad para distinguirdos objetos separados por la miacutenima distancia posible Si la distancia entre los objetos essuficiente cada uno de ellos estaraacute localizado en una celda de la imagen diferente y seraacuten dis-tinguibles en caso contrario el radar devolveraacute una combinacioacuten de la energiacutea reflejada porlos dos objetos como si fuese uno soacutelo [74] Tanto el radar aerotransportado como el espacialobservan la superficie lateralmente (veacutease la Figura 42) y su resolucioacuten espacial es diferente

67

en la direccioacuten paralela a la trayectoria del sateacutelite tambieacuten denominada resolucioacuten en acimuty en la perpendicular es decir en la direccioacuten al objetivo

En la perpendicular a la trayectoria del sateacutelite el sistema puede discriminar dos objetossi la distancia entre ellos es mayor que la mitad de la anchura del pulso (pulse width) enviadoLa resolucioacuten perpendicular se calcula a traveacutes de la siguiente foacutermula

Rp =c middot τ

2=

c2 middotβ

(41)

siendo c la velocidad de la luz y τ la anchura del pulso Tambieacuten puede expresarse atraveacutes el ancho de banda del pulso (pulse bandwidth) representado por β

Normalmente los radares a bordo de sateacutelites trabajan en anchos de banda que van desdelos 10 a los 40 MHz Este rango generariacutea resoluciones que van desde los 15 a los 37 metrosque son suficientemente buenas para la deteccioacuten de vertidos El problema principal estaacute aso-ciado a la resolucioacuten en acimut es decir en la trayectoria del sateacutelite que se calcula como

Rac =λ middotdLA

(42)

siendo λ la longitud de onda d la distancia del sensor al objetivo y LA la longitud de laantena

d

A

A

B

B

Rac

Rac

800 km

d=1131 km

15deg

45deg

Trayect

oria d

el sa

teacutelit

e

Perpendicular a la trayectoria

Figura 42 Resolucioacuten espacial de un radar a bordo de un sateacutelite

68 Capiacutetulo 4 Estado del arte

Dado que la longitud de onda estaacute situada dentro de un rango determinado de microondasy que no puede haber grandes variaciones de la altura a la que orbita el sateacutelite la resolucioacutenen acimut queda directamente determinada por la longitud de la antena Obtener una oacuteptimaresolucioacuten utilizando sistemas de radar sobre plataformas espaciales implicariacutea el uso de an-tenas de enormes proporciones lo que seriacutea impracticable Empleando los datos de ejemplode la Figura 42 un radar que operase en la Banda C con una longitud de onda de 5 cm y queviajase a bordo de un sateacutelite que orbitase a 800 km de altura necesitariacutea una antena de casi 2km para conseguir una resolucioacuten de 30 m cuando el Aacutengulo de Incidencia (IA) fuese de 45

LA =005 middot1131 middot103

30= 1885m (43)

Para solucionar este haacutendicap surge un tipo especial de radar llamado SAR que permiteobtener resoluciones de pocos metros con antenas de pequentildeas dimensiones Por ejemplo laresolucioacuten del Envisat alcanzaba los 30 m empleando una antena rectangular de 13 m x 10m

SAR Los principios baacutesicos del funcionamiento del SAR solucionan la limitacioacuten deresolucioacuten del radar El SAR montado sobre una plataforma moacutevil analiza y recoge diferentesmedidas de un mismo punto durante su trayecto (Figura 43) Esto permite simular una antenade las mismas proporciones que la distancia entre la primera y la uacuteltima medicioacuten llegando aconseguir resoluciones de tan soacutelo unos pocos metros

Liacutenea de tierra

Traza

Antena virtual

Primera medicioacuten

Uacuteltima medicioacuten

Figura 43 Antena virtual generada por SAR

Las imaacutegenes SAR son complejas y difiacuteciles de interpretar y esto es debido a muacuteltiplesfactores (la superficie es estudiada lateralmente el aacutengulo de emisioacuten e incidencia del haz de

69

energiacutea variacutea la sentildeal de retorno se ve afectada por la distancia entre la antena y la superficieestudiada etc) La Figura 44 muestra un ejemplo de una imagen SAR en la que se apreciacoacutemo la intensidad no es homogeacutenea Las zonas maacutes cercanas al sateacutelite y con menor IA danlugar a niveles de intensidad maacutes altos (representados de forma maacutes clara) mientras que laszonas maacutes alejadas y con aacutengulos mayores son representadas de forma maacutes oscura debido alos bajos niveles de intensidad

Figura 44 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007)

Ademaacutes de la amplia cobertura y buena resolucioacuten que puede conseguirse con el SAR esnecesario destacar que al ser un sensor activo su funcionamiento no depende de la radiacioacutensolar y puede utilizarse durante el diacutea y la noche Ademaacutes el sensor es independiente de lacobertura nubosa ya que su haz de energiacutea en el rango de las microondas le permite atravesarlasin sufrir alteraciones

Un estudio en mayor profundidad de SAR y de sus aplicaciones puede encontrarse en [66]

Imaacutegenes SAR de la superficie oceaacutenica

La superficie del mar en condiciones moderadas de viento presenta cierta rugosidad ge-nerada por las ondas capilares Esta rugosidad provoca una retrodispersioacuten uniforme del hazde energiacutea enviado por el SAR Los vertidos de hidrocarburos asiacute como determinados fe-

70 Capiacutetulo 4 Estado del arte

noacutemenos naturales [63] como las algas el hielo o los vientos de baja intensidad suprimendichas ondas capilares provocando un aplanamiento de la zona (veacutease la Figura 45b) Estasaacutereas tienen un comportamiento especular frente al haz de energiacutea que reduce considerable-mente la cantidad de radiacioacuten retornada al sensor Los piacutexeles que representan a este tipo dezonas almacenan valores de retrodispersioacuten muy bajos lo que provoca que se visualicen comoaacutereas oscuras El efecto provocado por los distintos fenoacutemenos naturales y que es similar alde los vertidos es conocido como look-alike Si el viento que afecta a la zona del vertido essuficientemente fuerte el efecto de laquoaplanamientoraquo de los hidrocarburos es atenuado hacien-do muy difiacutecil o imposible distinguirlo del mar limpio (veacutease la Figura 45c) Por el contrariosi el aacuterea analizada estaacute afectada por vientos de baja intensidad (veacutease la Figura 45a) lasondas capilares desaparecen y el contraste entre el vertido y el mar limpio no es suficientepara distinguirlos por lo que aparecen look-alikes

Diversos estudios [40] [92] [43] han fijado la velocidad del viento miacutenima y necesariapara detectar contaminantes entre 2 y 3 ms El liacutemite superior se encuentra maacutes difuso dadoque depende del tipo de hidrocarburo y del tiempo que ha pasado desde su vertido pero podriacuteaestablecerse que a partir de 10 ms su deteccioacuten es complicada y que una velocidad de entre12 y 15 ms podriacutea ser considerada el umbral maacuteximo para poder identificar un sentinazo Lascondiciones oacuteptimas de viento se encontrariacutean en el rango de 35 a 70 ms [54]

(a) (b) (c)Vientos de baja intensidad lt3 ms Vientos moderados Vientos fuertes gt 15 ms

Figura 45 Efecto del viento en la retrodispersioacuten de un pulso SAR

71

Metodologiacuteas para la deteccioacuten de vertidos de hidrocarburos en imaacutegenes SAR

Inspeccioacuten manual La inspeccioacuten manual de las imaacutegenes SAR para la deteccioacuten desentinazos es la teacutecnica maacutes popular y maacutes sencilla de aplicar Estaacute basada en dos grandesfases

ndash Localizacioacuten de fenoacutemenos sospechosos

ndash Anaacutelisis y asignacioacuten de un grado de probabilidad (alto medio o bajo) de que seansentinazos

Aunque la mayoriacutea de los fenoacutemenos detectados pueden ser clasificados correctamente porun experto basaacutendose soacutelo en la imagen existen algunos maacutes confusos en los que el operadornecesita utilizar informacioacuten externa adicional para su correcta clasificacioacuten como puede serdatos de vientos periodo del antildeo forma caracteriacutesticas del aacuterea de observacioacuten etc

Inspeccioacuten automaacutetica La literatura muestra un gran esfuerzo en el desarrollo de siste-mas automaacuteticos y semiautomaacuteticos para la deteccioacuten de vertidos analizando imaacutegenes SARPuede encontrarse un extenso repaso a los antecedentes bibliograacuteficos tanto en el anaacutelisisde Brekke y Solberg [25] como en el de Topouzelis [110] Dichos trabajos muestran que lamayoriacutea de los sistemas despueacutes de realizar alguacuten tipo de preprocesado sobre las imaacutegenes(calibrado proyeccioacuten filtrado de ruido enmascaramiento de la tierra etc) aplican un algo-ritmo compuesto de 3 grandes fases

ndash Segmentacioacuten el objetivo es localizar aislar y extraer todas las aacutereas susceptibles deser vertidos de hidrocarburos (incluyendo los falsos positivos)

ndash Extraccioacuten de caracteriacutesticas las regiones previamente detectadas son analizadas y ca-racterizadas

ndash Clasificacioacuten analizando las caracteriacutesticas extraiacutedas y a traveacutes de un clasificador seasigna a cada candidato una etiqueta o una probabilidad de ser sentinazo o look-alike

La extraccioacuten de caracteriacutesticas y la clasificacioacuten pueden estar apoyadas por informacioacutencontextual como por ejemplo proximidad a fuentes de vertidos (plataformas petroliacuteferasbarcos etc) o datos meteoroloacutegicos La Figura 46 resume las fases principales de un sistemaautomaacutetico

72 Capiacutetulo 4 Estado del arte

Figura 46 Sistema automaacutetico para la deteccioacuten de sentinazos

Comparativa entre la inspeccioacuten automaacutetica y la inspeccioacuten manual Los sistemasmanuales presentan ciertas desventajas frente a los automaacuteticos su eficiencia depende dela experiencia del experto que analiza las imaacutegenes el ojo humano tiene dificultades paraclasificar aacutereas difusas donde las fronteras entre la mancha y el fondo no estaacuten claras eloperador tiende a sobreseleccionar piacutexeles al delinear los bordes de las manchas el tiempo deprocesamiento es claramente superior al de un sistema automaacutetico etc

La principal desventaja de los sistemas automaacuteticos respecto a los manuales tiene que vercon la confianza en los mismos Los medios de vigilancia in-situ como barcos y aviones soncostosos y limitados y aunque los sistemas automaacuteticos pueden clasificar correctamente lamayoriacutea de los sentinazos existe un pequentildeo nuacutemero de ellos que son clasificados incorrec-tamente Los sistemas de deteccioacuten automaacuteticos suelen utilizarse como una herramienta deapoyo a las decisiones donde un operario tiene la uacuteltima palabra a la hora de movilizar losmedios de vigilancia

Teacutecnicas de deteccioacuten automaacutetica de sentinazos

Los siguientes subapartados profundizan en las teacutecnicas utilizadas para desarrollar lasprincipales fases de los algoritmos de deteccioacuten

Segmentacioacuten Analizando la intensidad de la sentildeal recuperada por el sensor es posibledistinguir ciertos fenoacutemenos oceaacutenicos Como se ha visto anteriormente los sentinazos asiacutecomo otros fenoacutemenos naturales se representan en las imaacutegenes SAR con valores de baja in-

73

tensidad El objetivo de esta fase es detectar todos los posibles sentinazos siendo su resultadouna imagen binaria en la que se destacan todos los candidatos El umbral de intensidad paraque un piacutexel sea segmentado no es constante y depende de factores asociados al aacuterea estudia-da como el IA del haz del sateacutelite o las condiciones meteoroloacutegicas La segmentacioacuten es unafase fundamental dentro del algoritmo dado que si un sentinazo no es aislado en esta fase nopodraacute ser clasificado como tal en fases posteriores

La diferencia de contraste entre los candidatos y el fondo de la imagen sugiere que lasteacutecnicas basadas en umbrales pueden ser adecuadas para la segmentacioacuten por lo que tanto lasteacutecnicas de umbralizacioacuten simple [41] como las de umbralizacioacuten adaptativa [103] [104] [37]han sido ampliamente utilizadas Ademaacutes de las basadas en umbrales han sido empleadasotras teacutecnicas para la segmentacioacuten como son las redes neuronales [108] [54] las teacutecnicasbasadas en texturas [21] [72] o las basadas en deteccioacuten de bordes [29] [81]

Debido a la complejidad de la segmentacioacuten y a las dimensiones de las imaacutegenes SAReacutesta es la fase computacionalmente maacutes costosa La velocidad de ejecucioacuten del algoritmo escrucial para dar una respuesta en tiempo cuasi real Para acelerar la segmentacioacuten algunossistemas reducen la resolucioacuten radiomeacutetrica de la imagen original de 32 bits codificaacutendolaen 8 bits [90] [54] o bien analizan soacutelo pequentildeas Regiones de Intereacutes (ROIs) de la imagenprincipal que previamente han sido seleccionadas por un experto [37] otros en cambio usanfactores de escape en sus algoritmos para no procesar todos los piacutexeles de la imagen [104]

Extraccioacuten de caracteriacutesticas Una vez detectados los candidatos eacutestos son analizadosy caracterizados El vector de caracteriacutesticas deberiacutea recoger la informacioacuten necesaria parauna posterior clasificacioacuten A pesar de que existen algunos trabajos que intentan unificar elnuacutemero y tipo de caracteriacutesticas [109] [111] en general no existen estudios sistemaacuteticos sobrela extraccioacuten de caracteriacutesticas y su influencia en la clasificacioacuten y por ello su eleccioacuten sueleproducirse de forma heuriacutestica No obstante la mayoriacutea de las caracteriacutesticas utilizadas seengloban en las siguientes clases

ndash Caracteriacutesticas geomeacutetricas desde el punto de vista de la composicioacuten quiacutemica del hi-drocarburo la forma no guarda una relacioacuten directa con el vertido no obstante desdeel punto de vista de su origen estudios previos [92] muestran que la forma de los sen-tinazos es caracteriacutestica y pertenece a uno de los tipos mostrados en la Figura 47

ndash Caracteriacutesticas fiacutesicas asociadas al nivel de intensidad de los piacutexeles que forman elcandidato y a los de la superficie circundante

74 Capiacutetulo 4 Estado del arte

ndash Texturas en contraposicioacuten a las caracteriacutesticas obtenidas de cada piacutexel de forma aisla-da las texturas aportan informacioacuten sobre la correlacioacuten espacial de dichos piacutexeles enun aacuterea

ndash Informacioacuten contextual la informacioacuten exclusivamente basada en la mancha puede noser suficiente para una correcta clasificacioacuten de las aacutereas maacutes confusas y es en estepunto donde la informacioacuten contextual como la distancia a una posible fuente del ver-tido [104] o los datos meteoroloacutegicos [40] puede ser de utilidad

Figura 47 Anaacutelisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo durante el antildeo 1999 Figuraadaptada de [92]

Clasificacioacuten El objetivo de esta fase es distinguir cuaacuteles de los candidatos segmentadosson sentinazos y cuaacuteles son look-alikes (falsos positivos) utilizando para ello un clasificadorcuya entrada es el vector de caracteriacutesticas obtenido en la fase anterior La comparacioacuten enteacuterminos de eficiencia entre los distintos clasificadores existentes en la bibliografiacutea resultamuy complicada dado que cada sistema utiliza su propio conjunto de pruebas y las caracte-riacutesticas extraiacutedas de los candidatos son diferentes Es conveniente resaltar que muchos de losconjuntos de prueba utilizados no contienen sentinazos confirmados in-situ sino que han sidodetectados y clasificados por un operador de forma manual En otros muchos casos simple-mente no se especifica la forma en que fueron identificados

75

En la bibliografiacutea podemos encontrar muacuteltiples aproximaciones al problema de la clasifi-cacioacuten Las Red Neuronal Artificial (ANN) [71] y sus diferentes implementaciones han sidomuy utilizadas

ndash Frate et aacutel [37] utilizaron una DB con 600 imaacutegenes ERS de baja resolucioacuten (100 m x100 m) codificadas en 8 bits de la que se extrajeron 139 candidatos (71 sentinazos y 68look-alikes) Utilizando un clasificador basado en una ANN y a traveacutes de una validacioacutencruzada (dejando uno fuera) se clasificoacute correctamente al 82 de los sentinazos y al90 de los look-alikes

ndash Topouzelis et aacutel [108] parten de una DB de 24 imaacutegenes de alta resolucioacuten (25 m x 25m) codificadas en 8 bits De la DB se seleccionaron 159 fragmentos (90 look-alikes y69 sentinazos) La ANN utilizada clasificoacute correctamente el 91 de los sentinazos y el87 de los look-alikes

ndash Oscar Garciacutea-Pineda et aacutel [54] seleccionaron de una DB con 700 imaacutegenes Radarsatcodificadas en 8 bits dos conjuntos de entrenamiento con 14 y 10 imaacutegenes respectiva-mente y dos conjuntos de validacioacuten con 5 imaacutegenes cada uno Un primer clasificadorentrenado para distinguir los piacutexeles con hidrocarburos de los piacutexeles con mar limpiofue aplicado sobre el conjunto de 14 imaacutegenes obtenieacutendose una eficacia del 9822El segundo clasificador entrenado sobre el conjunto de 10 imaacutegenes para clasificar en-tre 3 tipos de piacutexeles (sentinazos mar limpio y bajo viento) obtuvo una eficacia del9774

Otro gran grupo de clasificadores son los basados en modelos probabiliacutesticos

ndash Solberg et aacutel [103] combinaron un modelo estadiacutestico con un sistema basado en reglase incorporaron informacioacuten contextual (datos de vientos y distancia a posibles oriacutegenesdel vertido) Aplicando el algoritmo sobre 84 imaacutegenes SAR (inspeccionadas por unoperador) y usando un meacutetodo de validacioacuten cruzada su eficacia alcanzoacute el 94 en ladeteccioacuten de sentinazos y el 99 en la de look-alikes Este modelo ha sido mejoradoen varias ocasiones

bull Solberg y Brekke [104] trabajaron con un conjunto de entrenamiento consistenteen 56 imaacutegenes del Envisat y 71 imaacutegenes del Radarsat y un conjunto de pruebacon 27 imaacutegenes del Envisat El conjunto de prueba conteniacutea 37 sentinazos con-firmados y 12110 look-alikes (obtenidos de la segmentacioacuten de las imaacutegenes)

76 Capiacutetulo 4 Estado del arte

El 994 de los look-alikes fueron clasificados correctamente mientras que laeficacia en la deteccioacuten de los sentinazos alcanzoacute el 784

bull Brekke y Solberg [26] se basaron en el modelo anterior para desarrollar un sis-tema de deteccioacuten de sentinazos en dos pasos En el primer paso emplearon unclasificador estadiacutestico normalizado con el objetivo de detectar todos los senti-nazos y en un segundo paso aplicaron un estimador de confianza que asignabauna probabilidad a cada sentinazo Su DB se componiacutea de 104 imaacutegenes EnvisatWide Swath Mode (WSM) divididas en tres subconjuntos entrenamiento (56 imaacute-genes) validacioacuten (20 imaacutegenes) y test (27 imaacutegenes) La eficacia del clasificadorfue del 927 sobre los sentinazos y del 897 con los look-alikes

ndash Fiscella et aacutel [41] realizaron una comparativa entre un clasificador de probabilidadcompuesta y uno basado en la distancia de Mahalanobis El conjunto de datos de entre-namiento estaba compuesto por 80 sentinazos y 43 look-alikes mientras que el de testque estaba analizado por un operador teniacutea 11 sentinazos 6 look-alikes y 4 indefinidosEl 818 de los sentinazos y el 100 de los look-alikes fueron correctamente clasifi-cados usando la distancia de Mahalanobis mientras que el clasificador de probabilidadcompuesto identificoacute el 909 de los sentinazos y el 67 de los look-alikes

La eficacia de los diferentes meacutetodos de clasificacioacuten es totalmente dependiente de las fa-ses previas y por tanto es difiacutecil compararlos Es necesario segmentar el candidato para poderclasificarlo siendo clave para su correcta clasificacioacuten las caracteriacutesticas seleccionadas y supoder discriminatorio Es importante tambieacuten destacar que las eficacias de algunos clasifica-dores viene dada a nivel de piacutexel [54] y las de otros a nivel de candidato [103] En generalla eficacia a nivel de piacutexel suele ser maacutes elevada dado que se evaluacutea una muestra mayor y loserrores de clasificacioacuten si son pocos quedan maacutes diluidos

CAPIacuteTULO 5

SISTEMA AUTOMAacuteTICO DE DETECCIOacuteN DE

VERTIDOS EN IMAacuteGENES DE SAR

51 Descripcioacuten del proyecto

Galicia es una regioacuten en el noroeste de Espantildea con maacutes de 1200 km de costa y aproxi-madamente 720 playas donde el mar ha jugado siempre un papel muy importante en la vidade sus habitantes La pesca y la agricultura han sido pilares fundamentales de su economiacutea yactualmente el sector turiacutestico juega tambieacuten un papel esencial Sus costas playas y las bon-dades de su gastronomiacutea particularmente la relacionada con el producto de mar (pescados ymariscos) son en buena parte culpables del incremento turiacutestico Ademaacutes se encuentran enesta regioacuten importantes astilleros y puertos tanto civiles como militares

La situacioacuten geograacutefica de Galicia convierte a sus costas en un paso obligado para buenaparte del traacutefico mariacutetimo europeo El Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF)mostrado en la Figura 51 es utilizado para dirigir y controlar este traacutensito Las viacuteas de circu-lacioacuten estaacuten empezando por la maacutes proacutexima a la costa a 217 millas naacuteuticas (40 km) 283millas naacuteuticas (524 km) 355 millas naacuteuticas (657 km) y 395 millas naacuteuticas (73 km) deCabo Fisterra Las viacuteas C y D del ESTF son usadas para navegar de norte a sur mientras quela A y B se utilizan en sentido contrario Las viacuteas B y D estaacuten reservadas para embarcacionescon mercanciacuteas peligrosas

Cada antildeo miles de buques de mercanciacuteas navegan a lo largo del ESTF y debido a lanormativa internacional todos los barcos tienen que informar de su posicioacuten al servicio de

78 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

7degW8degW9degW10degW

44degN

43degN

42degN

0 30 60 90 12015

Millas naacuteuticas130ordm

75ordm

Cabo Vilaacuten

Cabo Fisterra

Traacutefico

costero

D C B A

Figura 51 Esquema de Separacioacuten de Traacutefico de Fisterra

Traacutefico Mariacutetimo de Fisterra al cruzar las liacuteneas de demora 130 a Cabo Vilaacuten y 75 a CaboFisterra La Tabla 51 muestra el nuacutemero de informes recibidos entre los antildeos 1999 y 2009

Antildeo 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009Buques 41829 44561 44331 43209 43469 42538 43212 41942 42136 42354 40320

Tabla 51 Nuacutemero de embarcaciones identificadas en el ESTF

Este intenso traacutefico tiene graves consecuencias medioambientales en forma de accidentesy vertidos como por ejemplo el del petrolero Urquiola en 1976 o el del Mar Egeo en 1992 Sinembargo la cataacutestrofe maacutes importante y con mayor repercusioacuten ha sido la del buque petroleroPrestige que el 13 de Noviembre del antildeo 2002 sufrioacute un accidente frente a la costa gallegapara acabar hundieacutendose al cabo de seis diacuteas En la Figura 52 se observa la extensioacuten delvertido 5 diacuteas despueacutes de la cataacutestrofe La amplia cobertura cientiacutefica del accidente permitioacuteobtener multitud de datos y de informacioacuten lo que unido a un incremento de los recursoseconoacutemicos tuvo como consecuencia el desarrollo de varios proyectos para la deteccioacuten yseguimiento de grandes vertidos [90] [18] [34]

A pesar de que los medios de vigilancia y prevencioacuten se incrementaron despueacutes de la ca-taacutestrofe se descubren regularmente pequentildeos vertidos (sentinazos) provenientes de las ope-raciones de mantenimiento y limpieza de sentinas Es conveniente recordar que los pequentildeos

51 Descripcioacuten del proyecto 79

vertidos a pesar de no ser tan mediaacuteticos son la fuente de contaminacioacuten por hidrocarburosmaacutes importante (veacutease la Figura 41)

8deg30W9degW9deg30W10degW10deg30W

44degN

43deg30N

43degN

42deg30N

42degN

0 10 20 30 405

Millas naacuteuticas

Figura 52 Imagen SAR del vertido provocado por el accidente del buque petrolero Prestige (17112002)

La Agencia espantildeola de Salvamento y Seguridad Mariacutetima (SASEMAR) es la autoridadpuacuteblica encargada de monitorizar las costas gallegas en general y el ESTF en particular SA-SEMAR como se observa en la Figura 53 cuenta con varias bases de vigilancia en Galiciay con recursos tanto marinos como aeacutereos para efectuar la monitorizacioacuten y la vigilancia Eluso de buques y aviones es costoso y limitado por lo que el acuerdo suscrito con la Agen-cia Europea de Seguridad Mariacutetima (EMSA) para recibir hasta un maacuteximo 12 avisos al mesprovenientes de la inspeccioacuten de imaacutegenes SAR sobre posibles vertidos es especialmente uacutetilEstos avisos son evaluados por el personal de SASEMAR y cuando se considera apropiadoenviacutean sus propios recursos a la zona

En general una nacioacuten costera como es Espantildea y en particular Galicia con su intenso traacute-fico mariacutetimo y su traacutegico historial de cataacutestrofes medioambientales deberiacutea poseer su propiosistema de anaacutelisis de imaacutegenes SAR sin depender de sistemas de terceros Con este aacutenimose desarrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos a partirde imaacutegenes SAR que aunque resulta faacutecilmente adaptable a otras regiones fue optimizadopara su uso en las costas gallegas [79] Se prestoacute especial atencioacuten a su implementacioacuten conel objetivo de dar una respuesta en tiempo cuasi real sin sacrificar la eficiencia Las diferentesherramientas software o libreriacuteas utilizadas para el desarrollo del prototipo estaacuten soportadaspor licencias puacuteblicas lo que permite la libre distribucioacuten del producto final Los siguientes

80 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

A Coruntildea

Porto do Son

Vigo

Recursos de SASEMAR en Galicia

1 avioacuten de vigilancia CESSNA 337-G

1 avioacuten de vigilancia CN235-300

1 helicoacuteptero S61N - Sikorsky

1 helicoacuteptero AW139

3 buques polivalentes

Figura 53 Bases de la SASEMAR en Galicia y recursos asignados a la regioacuten

apartados detallan el desarrollo del algoritmo utilizado y su incorporacioacuten a un prototipo LaSeccioacuten 52 presenta la DB de imaacutegenes usada para el desarrollo y las fuentes de datos uti-lizadas Las particularidades del algoritmo se describen en las Secciones 53 54 55 y 56Por uacuteltimo la Seccioacuten 57 se centra en la descripcioacuten del prototipo implementado y en suintegracioacuten en RETELAB

52 Fuentes de datos

521 Sateacutelite Envisat

En Marzo del 2002 la ESA puso en oacuterbita el sateacutelite de observacioacuten terrestre Envisat [1]Su objetivo principal era dotar a Europa de una mayor capacidad para la observacioacuten de laTierra desde el espacio y dar continuidad a las misiones predecesoras de los sateacutelites ERS-1 y ERS-2 La instrumentacioacuten del Envisat estaba disentildeada para realizar observaciones ymediciones del oceacuteano la tierra el hielo y la atmoacutesfera Estuvo operativo hasta el 8 de Abrildel 2012 diacutea en que se perdioacute el contacto El 9 de Mayo del 2012 la ESA dio por finalizadaoficialmente la misioacuten Algunos de los paraacutemetros orbitales del sateacutelite pueden consultarse enla Tabla 52

La continuidad de las misiones europeas para la observacioacuten de la Tierra estaacute garantizadacon la serie de sateacutelites Sentinel que estaacute siendo desarrollada por la ESA dentro del programa

52 Fuentes de datos 81

de Monitorizacioacuten Global para el Medioambiente y la Seguridad (GMES) Se espera que elprimer sateacutelite Sentinel sea lanzado durante el antildeo 2013

Oacuterbitas por diacutea 143Periodo repeticioacuten de ciclo 35 diacuteasOacuterbitas por ciclo 501Periacuteodo orbital 10059 minVelocidad de la oacuterbita 745 kmsInclinacioacuten orbital 9855

Altitud media 7998 km

Tabla 52 Paraacutemetros orbitales del sateacutelite Envisat

A bordo del Envisat viajaban 10 instrumentos dedicados a la observacioacuten de la Tierra

ndash El instrumento de Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite(DORIS) ofreciacutea datos sobre la oacuterbita del sateacutelite con gran precisioacuten Esta informacioacutenera utilizada para determinar la posicioacuten exacta del sateacutelite

ndash El Espectroacutemetro de Imaacutegenes de Resolucioacuten Media (MERIS) mediacutea la reflectancia dela Tierra en el rango del espectro solar analizando el color de los oceacuteanos y la coberturadel terreno Los mapas de alta resolucioacuten generados con sus datos son utilizados paraevaluar los efectos del cambio climaacutetico

ndash El Radioacutemetro Avanzado de Exploracioacuten Longitudinal (AATSR) permitiacutea medir la tem-peratura de la superficie de la Tierra y de los oceacuteanos a partir de la radiacioacuten teacutermicainfrarroja que emite nuestro planeta

ndash El Altiacutemetro de Radar (RA-2) era capaz de registrar la topografiacutea de la superficie te-rrestre con una precisioacuten de unos pocos centiacutemetros lo que haciacutea posible analizar porejemplo la evolucioacuten temporal del nivel del mar

ndash El objetivo principal del Radioacutemetro de Microondas (MWR) era el de realizar medicio-nes del vapor de agua de la atmoacutesfera y del contenido de agua liacutequida de las nubes

ndash El instrumento para Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Es-trellas (GOMOS) proporcionaba una cartografiacutea global del ozono en altitud y un segui-miento de tendencia de gran precisioacuten

82 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash El Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva (MIPAS) era unespectroacutemetro independiente de la luz solar que serviacutea para realizar mediciones de altaresolucioacuten del espectro de emisiones gaseosas en la atmoacutesfera terrestre

ndash La misioacuten principal del Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes paraCartografiacutea Atmosfeacuterica (SCIAMACHY) era registrar el espectro de rayos solares quepasan a traveacutes de la atmoacutesfera Se utilizaba para encontrar huellas de absorcioacuten espectralproducidas por determinados gases y entre otras utilidades permitiacutea realizar mapasglobales de polucioacuten atmosfeacuterica

ndash El Retrorreflector Laacuteser (LRR) era un sensor pasivo utilizado como reflector de pul-sos laacuteser de alta potencia enviados desde estaciones en tierra y que proporcionaba ladistancia entre el sateacutelite y la estacioacuten

ndash El Radar de Apertura Sinteacutetica Avanzado (ASAR) era un novedoso instrumento SARdel que se obtuvieron los datos utilizados para el desarrollo de SENTINAZOS La si-guiente Seccioacuten profundiza su descripcioacuten

La mayoriacutea de los instrumentos presentados excepto el MWR y el RA-2 teniacutean coberturaglobal y necesitaban entre 1 y 3 diacuteas para completarla

Radar de Apertura Sinteacutetica Avanzado

El ASAR es un sensor activo que opera en el rango de las microondas concretamenteen la banda C con una frecuencia de 5331 GHz En la figura 54 se muestra el espectroelectromagneacutetico ofreciendo mayor detalle en el rango de las microondas

Las caracteriacutesticas particulares del sensor ademaacutes de su independencia de la luz solar yde la cobertura nubosa lo hacen especialmente eficiente en el estudio de temas tan diversoscomo frentes oceaacutenicos oleaje marino deteccioacuten de barcos y contaminantes movimiento yextensioacuten de hielos agricultura estudios urbaniacutesticos desastres naturales etc Dependiendodel aacuterea de estudio se trabajaraacute en uno de los 5 modos de operacioacuten soportados por el sensory que son descritos en la Tabla 53

Envisat Wide Swath Mode

El Envisat Wide Swath Mode (WSM) es el modo de operacioacuten que mejor se adapta a labuacutesqueda de vertidos de hidrocarburos Por un lado gracias a la teacutecnica ScanSAR ofrece una

52 Fuentes de datos 83

Banda

Frecuencia (GHz)

Long onda (cm)

InfrarojoMedio

MicroondasRadar

Radio Bandas Audio AC

UV

GammaRayos X

P L S C X K Q V W

039 155

03 10 30 100 300 1000

56463610957539

100 30 10 3 1 03

Vis

ible

10 10 1010 10 10 10 10 10 10 120 18 16 14 12 10 8 6 4 2

Longitud de onda

Frecuencia Hz

00

3 Å

03

3 Å

30

30

0 Å

03

μm

3 μ

m

30

μm

30

m

03

cm

3 c

m

30

cm

3 m

30

m

30

0 m

3 k

m

30

km

30

0 k

m

Longitud de onda (λ)

04

μm

07

μm

Figura 54 Espectro electromagneacutetico Figura adaptada de la web de la ESA [1]

Modo Trazas Polarizacioacuten Resolucioacuten (m) Cobertura aproxima-da (km)

IA (grados sexagesi-males)

Ruido de fondo (dB)

Image Mode(IM)

IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

AlternatingPolarisation(AP)

IS1 IS2 IS3IS4 IS5 IS6o IS7

HHVVHHHVVVVH

30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

Wide Swath(WS)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 150 400 17minus42 -21 a -26

Global Moni-toring (GM)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 1000 400 17minus42 -32 a -35

Wave (WV) IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 5 15minus45 -20 a -22

Tabla 53 Modos de operacioacuten del sensor ASAR a bordo del Envisat

amplia cobertura de 405 km y una resolucioacuten media de 150 m Por otro lado la relacioacuten entreel ruido de fondo y la retrodispersioacuten es adecuada para la buacutesqueda de sentinazos en casi todaslas condiciones cuando se utiliza la polarizacioacuten vertical-vertical

Polarizacioacuten Los radares pueden transmitir el haz energeacutetico con polarizacioacuten horizon-tal (H) o con polarizacioacuten vertical (V) y recibir la sentildeal retornada nuevamente con polariza-cioacuten horizontal vertical o ambas Esto es interesante debido a que los diferentes materiales

84 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de los que estaacute compuesta la cubierta terrestre reflejan las sentildeales con intensidades diferentesdependiendo de la polarizacioacuten e incluso algunos materiales convierten una polarizacioacuten enotra Dependiendo del objetivo de la investigacioacuten es maacutes adecuado un tipo u otro de pola-rizacioacuten Los productos de Envisat WSM pueden trabajar con dos tipos de polarizacioacuten lavertical-vertical (VV) y la horizontal-horizontal (HH)

Ruido de fondo Los sistemas para la adquisicioacuten de datos y procesamiento de sentildealesestaacuten afectados por diferentes tipos de ruido y de sentildeales no deseadas La suma de todo estoes lo que se define como ruido de fondo o noise floor La intensidad de este ruido situacutea elumbral o medida miacutenima que puede ser tomada e identificada con certeza es decir no sepuede identificar nada cuya intensidad de sentildeal sea inferior al ruido de fondo ya que quedaenmascarado por dicho ruido

La retrodispersioacuten del oceacuteano variacutea dependiendo del IA la polarizacioacuten y la velocidad ydireccioacuten del viento Los productos WSM de Envisat con polarizacioacuten VV poseen un ruidode fondo entre -21 dB y -26 dB que se encuentra por debajo de la media de retrodispersioacutendel oceacuteano en casi todas las condiciones Esta caracteriacutestica permite buscar la presencia dehidrocarburos ya que eacutestos se asocian a valores de retrodispersioacuten inferiores a los generadospor las aacutereas del mar sin presencia de contaminantes La Figura 55 muestra la retrodispersioacutendel oceacuteano obtenida de una imagen SAR que no teniacutea presencia de hidrocarburos Se puedeobservar que la retrodispersioacuten variacutea seguacuten el IA y la velocidad del viento

Aacutengulo de incidencia (grados)

Retr

odis

pers

ioacuten (

dB

)

Vientos 10 msVientos 6 msVientos 4 ms

15 20 25 30 35 40 45

5

0

-5

-10

-15

-20

-25

Figura 55 Retrodispersioacuten media obtenida de una imagen ASAR WSM para vientos de 4 ms 6 ms y 10 ms

52 Fuentes de datos 85

522 Coleccioacuten de datos

Para el desarrollo del sistema se ha contado con una coleccioacuten de 47 imaacutegenes WSM conpolarizacioacuten VV del Envisat obtenidas a traveacutes de un convenio con la ESA Las imaacutegenestomadas entre los antildeos 2007 y 2011 corresponden al noroeste de la Peniacutensula Ibeacuterica estandola mayoriacutea centradas en la costa gallega como puede verse en el mapa de densidad mostradopor la Figura 56

Figura 56 Representacioacuten de la densidad de cobertura de la Base de Datos

La regioacuten de estudio es una ampliacioacuten del ESTF construida tal y como se muestra en laFigura 57

Las imaacutegenes de los antildeos 2007 y 2008 contienen sentinazos detectados por operadoresde la EMSA a los que se les ha asignado una probabilidad (alta baja o media) de ser hidro-carburos El resto de la coleccioacuten contiene sentinazos y look-alikes confirmados a traveacutes demisiones aeacutereas de SASEMAR El nuacutemero de imaacutegenes de la coleccioacuten y cuaacutentas de ellascontienen sentinazos (confirmados o no) se puede ver en la Figura 58a agrupadas por antildeo Laclasificacioacuten de los sentinazos de la coleccioacuten es mostrada en la Figura 58b

La Figura 59 muestra la posicioacuten geograacutefica de los vertidos presentes en la DB Eacutestos secaracterizan por estar agrupados en torno al ESTF lo cual es debido a que es paso obligadopara los buques y en consecuencia sufre en mayor medida el efecto de los sentinazos

86 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 57 Aacuterea de estudio y ESTF

a b

Figura 58 a) Imaacutegenes SAR e imaacutegenes con sentinazos agrupadas por antildeo b) Clasificacioacuten de las manchas de laBase de Datos

53 Preprocesado

531 Calibrado y proyeccioacuten cartograacutefica

La DB utilizada para el desarrollo del proyecto almacena productos Envisat WSM de nivel1 Para que estos productos se adapten a las necesidades del proyecto es necesario aplicar-les varias operaciones de preprocesado por un lado las imaacutegenes son calibradas [95] conel objetivo de conseguir valores que realmente representen la retrodispersioacuten de la superficie

53 Preprocesado 87

Figura 59 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten

estudiada y que puedan ser comparados entre ellos La calibracioacuten aplicada consiste en unaserie de correcciones radiomeacutetricas que permiten comparar imaacutegenes sin importar si fueronobtenidas por el mismo sensor en queacute momento fueron tomadas el modo usado o si fueronprocesadas por diferentes procesadores Por otro lado las imaacutegenes calibradas son proyecta-das a un mismo sistema de referencia de coordenadas

Una vez realizadas estas actividades de preprocesado las imaacutegenes pueden utilizarse co-mo datos de entrada al sistema no obstante se aplicaraacuten otras dos funciones un enmascara-miento de la tierra y un filtrado de ruido antes de proceder a la segmentacioacuten con el objetivode optimizar la informacioacuten contenida en las mismas

532 Maacutescara de tierra

El objetivo del sistema es la deteccioacuten de vertidos de hidrocarburos en la superficie oceaacute-nica Las imaacutegenes utilizadas tienen una cobertura de 400 km x 400 km y al estar centradasen el ESTF contienen habitualmente regiones de tierra que corresponden a la costa noroestede la Peniacutensula Ibeacuterica Para no procesar dichas regiones eacutestas son enmascaradas asignandovalores nulos a los piacutexeles que las forman

88 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Desde el punto de vista espacial la costa gallega es muy compleja debido a la presencia delas riacuteas y otros accidentes geograacuteficos La costa y sobre todo las riacuteas funcionan como parapetoprotegiendo de los vientos a la superficie oceaacutenica y como se ha visto en el Capiacutetulo 4 lasaacutereas marinas dominadas por vientos de baja intensidad se visualizan en las imaacutegenes SARde forma similar a las afectadas por vertidos (falsos positivos) Para evitar estos look-alikes

se ha ampliado la maacutescara de tierra en 3 millas naacuteuticas tal y como puede apreciarse en lafigura 510

5degW6degW7degW8degW9degW10degW11degW

46degN

45degN

44degN

43degN

42degN

Regioacuten de Intereacutes

0 50 100 15025Millas Nauacuteticas

Figura 510 Maacutescara de tierra utilizada La franja roja representa una ampliacioacuten de 3 millas naacuteuticas a partir de laliacutenea de costa

533 Filtro de ruido

Previamente al procesado de las imaacutegenes es necesario aplicar un filtro de mediana conuna ventana de 3 x 3 piacutexeles con el objetivo de eliminarsuavizar el ruido de las imaacutegenesLa Figura 511 muestra un ejemplo de aplicacioacuten del filtro de mediana y coacutemo el valor de unpiacutexel se ve influenciado por los de su entorno

54 Segmentacioacuten

El objetivo de esta fase es detectar sobre la imagen SAR todos los piacutexeles susceptiblesde pertenecer a un vertido de hidrocarburo y generar una imagen binaria donde los candidatosdestaquen de la superficie marina limpia

54 Segmentacioacuten 89

Mediana - valor seleccionado

15 10 11 10 10

13 10 9 10 13

12 11 15 13 14

12 10 13 7 15

16 15 12 13 10

darr 7 9 10 10 10 11 13 13 15

darr

Secuencia ordenada

Figura 511 Ejemplo de uso del filtro de mediana para reducir el ruido de la imagen Imagen adaptada de [35]

Dado que los bajos niveles de intensidad generados por las aacutereas con baja retrodispersioacutenestaacuten asociados a hidrocarburos (ademaacutes de a otros fenoacutemenos naturales) es loacutegico pensar queuna segmentacioacuten basada en umbrales pueda ser el meacutetodo maacutes adecuado La complejidad delas imaacutegenes SAR (por ejemplo la fuerte dependencia del nivel medio de intensidad con el IA) provoca que los umbrales simples no sean adecuados Una funcioacuten de umbral adaptativo quetenga en cuenta el IA del piacutexel analizado ademaacutes de otros factores parece la mejor opcioacuten

541 Establecimiento del umbral adaptativo

Con el objetivo de establecer una funcioacuten de umbral adaptativo se muestrearon 1652 piacute-xeles pertenecientes a zonas afectadas por vertidos de hidrocarburos De cada piacutexel se registroacutesu valor de intensidad y su IA asociado La Figura 512 presenta graacuteficamente los piacutexelesmuestreados agrupados por su IA

En este histograma se observa que los IAs de los piacutexeles seleccionados no estaacuten distribui-dos uniformemente y la razoacuten es que la mayoriacutea de las imaacutegenes de la DB estaacuten centradas enel ESTF por lo que la relacioacuten entre las aacutereas de la imagen y los IAs se mantiene relativa-mente constante El rango de IAs con mayor nuacutemero de piacutexeles muestreados suele coincidircon el aacuterea cubierta por el ESTF que es la zona que contiene la mayor cantidad de vertidosLos piacutexeles de la muestra fueron agrupados de acuerdo con su IA en intervalos de 1 entre los17 y los 42 Para cada intervalo se calculoacute la media y su desviacioacuten tiacutepica y se descartaronlos piacutexeles con valores de intensidad superiores a la suma de los dos valores calculados Paracada intervalo se seleccionaron los valores de intensidad maacuteximos (veacutease Ecuacioacuten 51) y conestos puntos como liacutemite superior se realizoacute un estudio de regresioacuten para obtener una funcioacutenque los aproximase

x = max(B)B = y isin B yle ν(A)+σ(B) (51)

90 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 512 Piacutexeles muestreados agrupados seguacuten su IA

El resultado del anaacutelisis fue que tanto una funcioacuten de cuarto grado (52) como una expo-nencial negativa (53) se ajustaban de forma significativa a los datos de la muestra

y =minus63401 middot10minus6x4 +000073027x3minus0029919x2 +050015xminus26381 (52)

y = 74199eminus018212x (53)

Estas funciones debiacutean representar los valores maacuteximos de intensidad que podiacutea almace-nar un piacutexel en funcioacuten de su IA asociado en caso de que representase un vertido es decirtodo piacutexel con un valor de intensidad igual o menor se considerariacutea vertido Se optoacute por unaaproximacioacuten agresiva ya que es preferible en esta fase de segmentacioacuten obtener algunosfalsos positivos a descartar vertidos

Las pruebas efectuadas aplicando cualquiera de las dos funciones mostraron demasiadosfalsos positivos La obtencioacuten de look-alikes en la fase de segmentacioacuten no es preocupantee incluso es esperada dado que es la fase de clasificacioacuten la que tradicionalmente asumela responsabilidad de seleccionar cuaacuteles son los sentinazos y cuaacuteles no pero seriacutea deseableobtener el miacutenimo posible y asiacute disminuir la responsabilidad del clasificador

Las funciones obtenidas estaban basadas en la intensidad y en el IA pero determinadosestudios previos [40] ponen de manifiesto la importancia de los factores meteoroloacutegicos y

54 Segmentacioacuten 91

particularmente los vientos en la deteccioacuten de sentinazos Dado que el nivel de retrodispersioacutentiene relacioacuten directa con la rugosidad de la superficie (veacutease la Figura 45) y eacutesta se debe ala presencia de viento la funcioacuten adaptativa deberiacutea tener en cuenta los datos del viento de lazona estudiada La Figura 55 muestra la influencia de la velocidad del viento en la intensidadUtilizar datos de viento en la fase de segmentacioacuten permitiraacute realizar una segmentacioacuten maacutesprecisa facilitando el trabajo posterior del clasificador

1 2 3 4 5 6 7 8 9

0

100

10

200

300

400

500

600

Piacutex

ele

s m

uestr

eados

Total piacutexeles 1652

Velocidad del viento (ms)0

Figura 513 Elementos de la muestra agrupados por la velocidad del viento

La forma maacutes directa de acceder a los datos de viento correspondientes a la zona cubiertapor una imagen SAR es a traveacutes de los datos contenidos en la propia imagen CMOD5 [60] esun modelo geofiacutesico desarrollado para datos obtenidos en la banda C que permite relacionarla retrodispersioacuten generada por la rugosidad de la superficie oceaacutenica con la velocidad y di-reccioacuten del viento Utilizando este modelo se obtuvieron los datos de viento correspondientesa las imaacutegenes de la DB Los resultados generados con una resolucioacuten menor que la de laimagen SAR fueron interpolados usando el algoritmo Kriging [88] para obtener la mismaresolucioacuten que la imagen original

La muestra de 1652 piacutexeles fue enriquecida antildeadiendo los datos de velocidad de vientocalculados con el modelo CMOD5 Los piacutexeles de la muestra fueron agrupados seguacuten la velo-cidad del viento (veacutease Figura 513) La mayoriacutea de estos piacutexeles tienen asociadas velocidadesde viento entre los 3 y 7 ms por lo que cubren el rango oacuteptimo para la deteccioacuten de verti-dos [54] Los piacutexeles con vientos mayores a 7 ms se agruparon en un soacutelo intervalo ya que la

92 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

muestra no teniacutea suficientes datos como para realizar maacutes divisiones Cada grupo creado fuenuevamente dividido en subconjuntos en base al IA En cada subconjunto (con al menos 10valores) se calculoacute la media y la desviacioacuten tiacutepica de los valores de intensidad Finalmente seescogioacute el valor de intensidad maacutes alto para cada subconjunto siempre y cuando fuese igual omenor a la suma de la media y el doble de la desviacioacuten tiacutepica de dicho subconjunto Noacuteteseque en esta ocasioacuten al ajustar mejor los valores gracias a los vientos se optoacute por relajar elumbral maacuteximo empleando dos veces la desviacioacuten tiacutepica y no soacutelo una como en el caso de laumbralizacioacuten sin vientos (veacutease Ecuacioacuten 51) El esquema del proceso seguido se muestraen la Figura 514

A=muestra de 1652 piacutexeles

A1= piacutexeles con

viento lt 4 ms

A2= piacutexeles con

viento lt 5 ms

A3= piacutexeles con

viento lt 6 ms

A4= piacutexeles con viento lt 7 ms

A5= piacutexeles con viento gt= 7 ms

A1= piacutexeles con

aacutengulo de incidencia[1718]

A2= piacutexeles con

aacutengulo de incidencia[1819]

A25= piacutexeles con

aacutengulo de incidencia[4142]

x25x2x1

xi=max(Bi) Bi=yisinAi y le A

i + 2σAi

Figura 514 Esquema de acciones realizadas para establecer el umbral adaptativo

El resultado de este proceso es un conjunto de intensidades para cada rango de velocidadestudiado Realizando un anaacutelisis de regresioacuten sobre los datos se comproboacute que al igual queen la primera aproximacioacuten una funcioacuten de cuarto grado y una exponencial negativa se ajus-taban de forma significa a la muestra Estudiando dichas funciones con maacutes detalle y a traveacutesde pruebas de segmentacioacuten se comproboacute que los mejores resultados se obteniacutean usando lafuncioacuten de cuarto grado en los aacutengulos de incidencia menores y la exponencial negativa en losmayores Se establecioacute una funcioacuten definida por partes para el caacutelculo adaptativo del umbralen el que el IA es utilizado para establecer el punto de corte entre las partes La Tabla 54presenta los coeficientes de las funciones adaptados seguacuten la velocidad del viento asiacute comolos puntos de corte establecidos por los IAs

54 Segmentacioacuten 93

Velocidad del viento Funcioacuten de cuarto grado Punto de corte Funcioacuten exponencial negativa

vel lt= 4ms 63662lowast10minus6x4minus000083671x3 +0041262x2minus090719x+75353 378 59169eminus017881x

vel lt= 5ms 30874lowast10minus6x4minus000043845x3 +0023424x2minus055931x+50588 3625 66689eminus017944x

vel lt= 6ms 21022lowast10minus6x4minus000031131x3 +0017414x2minus04365x+41503 3682 57770eminus017217x

vel lt= 7ms 27742lowast10minus6x4minus000039094x3 +002086x2minus050088x+45883 3752 54477eminus016858x

vel gt 7ms 12416lowast10minus6x4minus000019466x3 +0011604x2minus031143x+3182 368 62053eminus017101x

Tabla 54 Coeficientes y puntos de corte para las funciones de umbral adaptativo

Las funciones exponenciales negativas para vientos de 4 ms 6 ms y mayores que 7 msse representan graacuteficamente en la Figura 515

0

005

01

015

02

025

03

20 25 30 35 40

Inte

nsi

da

d

Aacutengulo de incidencia

Viento lt=4 msViento lt=6 msViento gt 7 ms

Figura 515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para distintos valores de lavelocidad del viento

542 Aplicacioacuten del umbral adaptativo

El proceso de segmentacioacuten se aplica sobre todos los piacutexeles de una imagen SAR exceptolos que previamente han sido enmascarados como tierra y los que pertenecen a zonas fueradel aacuterea de alcance del sensor

De cada piacutexel procesado se extrae su intensidad el IA y la velocidad del viento A partirde la velocidad del viento y de los coeficientes presentados en la Tabla 54 se obtienen lasfunciones adecuadas y el punto de corte (IA) entre la funcioacuten polinoacutemica y la exponencialnegativa Seguacuten el IA del piacutexel y tras compararlo con el punto de corte se selecciona una

94 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de las dos funciones y se utiliza el aacutengulo como paraacutemetro La funcioacuten devolveraacute un umbralque identificaraacute el maacuteximo valor de intensidad que podriacutea tener el piacutexel analizado para serconsiderado parte de un sentinazo Si la intensidad es menor o igual al umbral el piacutexel seraacuteetiquetado como candidato y en caso contrario como superficie limpia

543 Filtro de vientos

Dado que existen estudios previos que consideran que es necesaria una velocidad del vien-to de al menos 3 ms para detectar un sentinazo los piacutexeles segmentados que esteacuten afectadospor vientos de intensidad menor que ese umbral son considerados look-alikes y son eliminadosde la imagen segmentada

544 Filtro de aacuterea

Los medios de vigilancia contra la polucioacuten como los buques y aviones tienen un costede uso elevado y son limitados por lo que soacutelo son utilizados cuando la situacioacuten es poten-cialmente dantildeina o el vertido tiene una dimensioacuten considerable Las estructuras formadas porlos piacutexeles segmentados que tengan un aacuterea menor que 50 piacutexeles (equivalente a 03km2) sonconsideradas como falsos positivos o como pequentildeos sentinazos no dantildeinos que pueden sereliminados de la imagen segmentada

55 Extraccioacuten de caracteriacutesticas

El resultado de la fase de segmentacioacuten es una imagen binaria donde aparecen resaltadostodos los sentinazos junto con un gran nuacutemero de look-alikes Es tarea de un clasificador sepa-rar los sentinazos de los falsos positivos y para una correcta clasificacioacuten es necesario obtenerun vector de caracteriacutesticas para cada candidato que pueda ser analizado por el clasificador

El vector de caracteriacutesticas utilizado para el desarrollo de este algoritmo estaacute basado entres tipos de caracteriacutesticas

ndash Caracteriacutesticas de forma la forma puede ser un factor determinante para clasificar uncandidato Estudios anteriores [92] han mostrado que debido a su naturaleza los senti-nazos pueden agruparse en 5 grandes clases desde el punto de vista de su forma (veacuteasela Figura 47)

55 Extraccioacuten de caracteriacutesticas 95

ndash Caracteriacutesticas fiacutesicas se han incorporado caracteriacutesticas asociadas al nivel de intensi-dad de los piacutexeles dado que su importancia y utilidad ha sido refrendada por estudiosprevios [37]

ndash Informacioacuten contextual Los datos de contexto en general y maacutes concretamente los devientos [40] son de gran utilidad a la hora de detectar sentinazos y deben ser incorpora-dos al vector de caracteriacutesticas

Tipo Nombre Descripcioacuten

Forma

APR Aacuterea PeriacutemetroElongacioacuten Eje mayor Eje menor

MPR Eje mayor PeriacutemetroRectangularidad Aacuterea Aacuterea (Min rect engloba)

Circularidad Periacutemetro2 (4 πAacuterea)Thickness Nuacutemero de erosiones necesarias para dividir un objeto

Hu1 (η20 +η02)

Hu2 (η20minusη02)+4η211

Hu3 (η30 +3η12)2 +(3η21minusη03)

2

Hu4 (η30 +η12)2 +(η21 +η03)

2

Hu5 (η30 minus 3η12)(η30 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η21 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Hu6 (η20minusη02)[(η30minusη12)2minus (η21η03)

2]+4η21(η30 +η12)(η21 +η03)

Hu7 (3η21 minus η30)(η00 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η12 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Flusser y Suk - I1 (η20η02minusη211)η4

00

Flusser y Suk - I2 (minusη230η2

03 +6η30η21η12η03minus4η30η312minus4η3

21η03 +3η221η2

12)η1000

Flusser y Suk - I3 (η20η21η03minusη20η212minusη11η30η03 +η11η21η12 +η02η30η12minusη02η2

21)ν700

Flusser y Suk - I4 (minusη320η2

03 + 6η220η11η12η03 minus 3η2

20η02η212 minus 6η20η2

11η21η03 minus 6η20η211η2

12 +12η20η11η02η21η12 minus 3η20η2

02η221 + 2η3

11η30η03 + 6η311η21η12 minus 6η2

11η02η30η12 minus6η2

11η02η221 +6η11η2

02η30η21minusη302η2

30)η1100

Contexto AI IA respecto al centroide de la manchaViento Velocidad del viento en el aacuterea estudiada

Fiacutesicas Intensidad Intensidad media de los piacutexeles contenidos en la mancha candidatoASR Ratio de la intensidad del candidato respecto al aacuterea circundante

Nota ηi j representa a los momentos centrales normalizados

Tabla 55 Vector de caracteriacutesticas

El vector generado (veacutease Tabla 55) estaacute compuesto por 21 componentes de los que 17corresponden a caracteriacutesticas de forma Para disminuir la dimensionalidad del vector se apli-coacute un Anaacutelisis de Componentes Principales (PCA) [67] sobre las caracteriacutesticas de forma LaTabla 56 contiene los porcentajes de varianza explicados por los componentes principalesobtenidos tras el PCA mientras que la Figura 516 muestra graacuteficamente el porcentaje expli-cado por el subconjunto de componentes maacutes representativo Finalmente se sustituyeron las

96 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

17 caracteriacutesticas de forma por los 5 primeros componentes cubriendo asiacute maacutes del 92 de lavarianza y reduciendo considerablemente la dimensionalidad del vector Los coeficientes delos componentes principales seleccionados se muestran en la Tabla 55

PCA1 PCA2 PCA3 PCA4 PCA5

0

10

20

30

40

50

60

70

80

90

0

10

20

30

40

50

60

70

80

90

100 100

Componentes Principales

Vari

anza E

xplicada

Figura 516 Componentes principales y porcentaje de varianza explicado

Componente Principal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17Varianza explicada () 477716 183024 138332 73918 50537 37671 19663 08758 04884 03178 00938 00693 00414 00142 00089 00041 00001

Tabla 56 Componentes principales y porcentaje de varianza explicado

56 Clasificacioacuten

Una vez caracterizados los candidatos es necesario clasificarlos y asignarles una clase(sentinazo o look-alike) El vector de caracteriacutesticas de cada candidato es la entrada para unclasificador cuya salida seraacute una clase o etiqueta identificaacutendolo La eficiencia del clasificadorestaacute directamente relacionada con los datos del vector es decir un buen clasificador no podraacuteclasificar correctamente si las caracteriacutesticas no discriminan suficientemente bien

La maacutexima seguida para el desarrollo de los clasificadores fue la de minimizar el nuacuteme-ro de falsos negativos incluso cuando la consecuencia era incrementar el nuacutemero de falsospositivos Para el sistema es asumible mostrar falsos positivos debido a que o bien el siste-ma es semiautomaacutetico es decir un operador humano filtra los resultados antes de enviar losmedios de vigilancia o bien el sistema es completamente automaacutetico en cuyo caso los siste-mas de vigilancia se activariacutean tras el descubrimiento del look-alike con el consecuente gasto

56 Clasificacioacuten 97

Var1 PCA Var2 PCA Var3 PCA Var4 PCA Var5 PCAAPR -00321 00466 06160 01722 -01237

elongacioacuten 01770 03460 -01469 02321 -01141MPR 02596 00579 03499 00017 -00160

Rectangularidad -01196 -00306 02473 00149 08811Circularidad 03070 -00775 00457 -00321 -02217

Thickness -00013 00530 06099 01626 -02103Hu1 03299 00316 -00735 00802 -00472Hu2 03371 00255 -00683 01573 00767Hu3 03389 -00366 -00237 00670 01383Hu4 02769 03158 -00167 -00164 01338Hu5 02092 04218 -00049 -00343 01185Hu6 02055 04349 -00000 -00842 01202Hu7 -02791 03182 -00151 00583 -01003FS1 02795 -02692 00373 -02175 -00562FS2 00728 -02281 -01329 07528 00772FS3 -02540 02239 -01053 04511 -00382FS4 -02567 03457 -00020 -01540 -00864

Tabla 57 Coeficientes de los componentes principales seleccionados

econoacutemico pero sin consecuencias medioambientales Los falsos negativos por el contrariono podriacutean detectarse ni de forma automaacutetica ni por un operador ya que el sistema no losmostrariacutea y esto conllevariacutea un mayor impacto en el ecosistema dado que no se activariacutean losprotocolos de gestioacuten de forma temprana

Los siguientes apartados describen dos clasificadores desarrollados para identificar loscandidatos generados en la segmentacioacuten Para su desarrollo y entrenamiento se ha utilizadouna DB de candidatos previamente etiquetados con 155 falsos positivos y 80 sentinazos quefueron distribuidos en 3 grandes grupos (veacutease la Figura 517) el 70 de los elementos fuereservado para el entrenamiento un 15 fue utilizado para el conjunto de validacioacuten y el15 restante fue seleccionado para el conjunto de test

Base de datos de candidatos

155 Look-alikes 80 Sentinazos

128 66 27 14

101 52 27 14

Test

Validacioacuten

Datos para el entrenamiento

Entrenamiento

85 15

1570

Figura 517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores

98 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

561 Redes Neuronales Artificiales

Introduccioacuten

Las ANN tratan de emular el comportamiento del cerebro humano y la extraccioacuten de co-nocimiento geneacuterico a partir de un conjunto de datos [71] Las ANNs al igual que el cerebroestaacuten compuestas de procesadores elementales llamados neuronas artificiales o simplementeneuronas que conectadas entre siacute o a entradas externas cooperan para producir un estiacutemulode salida Cuando un conjunto de neuronas recibe todas sus entradas de una misma fuente ytodas sus salidas se dirigen a un mismo destino forman una capa

Una neurona artificial se caracteriza por los siguientes elementos (veacutease la Figura 518)

ndash Estado inicial las neuronas de la red presentan un estado o valor inicial (atminus1) previo arecibir los estiacutemulos externos y que influiraacute en su respuesta a eacutestos

ndash Conexiones neuronales valores de entrada a la neurona j-eacutesima (xi) con unos pesosasociados (wi j)

ndash Funcioacuten de propagacioacuten determina la entrada de la neurona (Net j) Generalmente es elsumatorio de cada uno de sus estiacutemulos externos o entradas (xi) multiplicado por su pesoasociado (wi j) Es habitual que se incluya un teacutermino constante (x0) denominado sesgoLa inclusioacuten de este elemento se deriva del comportamiento de las neuronas bioloacutegicasque poseen umbrales internos de activacioacuten que distorsionan el impacto causado porlos estiacutemulos recibidos El teacutermino suele tener el valor lsquo1rsquo y el valor y signo de su pesoindica su influencia en la funcioacuten

ndash Funcioacuten de activacioacuten o transferencia combina el valor inicial de la neurona (atminus1) conla entrada obtenida por la funcioacuten de propagacioacuten (Net j) para producir un nuevo estadoo valor de la neurona

ndash Funcioacuten de salida transforma el estado de la neurona generado a traveacutes de la funcioacutende transferencia en una sentildeal de salida (y j) que se trasmitiraacute a las siguientes neuronasHabitualmente la funcioacuten de salida coincide con la funcioacuten identidad es decir el valorde salida es en la praacutectica el valor retornado por la funcioacuten de transferencia

Una de las caracteriacutesticas maacutes importantes de las ANNs es su capacidad de generalizara partir de ejemplos lo que permite dar una respuesta correcta ante patrones no presentadospreviamente Las ANNs tienen la capacidad de aprender creando modificando o destruyendo

56 Clasificacioacuten 99

w1j

wdj

wnj

F(aj(t-1)Netj)=aj(t)) f(aj(t))=yj rarr yj

Entradas Pesos Entrada total Func activacioacuten Func salida Salida

X0Sesgo w0j

Netj=sum wkjmiddotxk k=0

n

X1

Xd

Xn

Neurona j-eacutesima

Figura 518 Elementos de una neurona artificial Figura adaptada de [71]

sus conexiones (pesos) entre sus neuronas Existen diferentes algoritmos de aprendizaje perotodos ellos pueden ser englobados en uno de los dos grandes tipos presentados a continuacioacuten

ndash Aprendizaje supervisado se caracteriza por la presencia de un agente que controla elproceso de entrenamiento estableciendo una respuesta correcta para una serie de valo-res de entrada determinados Si la salida de la red no es la salida deseada el supervisormodifica iterativamente los pesos de las neuronas de la red (wi j) con el objetivo de queel resultado tienda al deseado Eacuteste es el tipo de aprendizaje utilizado para desarrollar laANN para la deteccioacuten de los sentinazos y en concreto se usoacute una teacutecnica de aprendi-zaje por correccioacuten de error denominada backpropagation Las teacutecnicas por correccioacutende error ajustan los pesos de las conexiones de la red en base a la diferencia entre lasalida deseada y la obtenida Una de las reglas maacutes sencillas para la correccioacuten es lasiguiente

wt+1i j = wt

i j +∆wi j

∆wi j = α(r jminus y j)x j(54)

Dada una conexioacuten neuronal entre la neurona i-eacutesima y la j-eacutesima con un peso wi j en elinstante t ∆wi j representariacutea la variacioacuten en el peso de la conexioacuten en el instante t +1es decir la correccioacuten del error En el caacutelculo de ∆wi j α es un factor de aprendizaje r j

es la salida deseada ante un determinado patroacuten mientras que y j es la salida realmenteobtenida y finalmente x j es la entrada a la neurona j

100 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash Aprendizaje no supervisado se presenta a la red una serie de patrones sin una respues-ta asociada La red busca particularidades correlaciones o categoriacuteas presentes en losdatos de entrada y los categoriza

Las conexiones neuronales son uno de los elementos fundamentales en el aprendizaje ypueden producirse entre neuronas de una misma capa o entre neuronas de capas diferentessin limitaciones El modelo de ANNs maacutes utilizado en la praacutectica es el Perceptroacuten Multicapa(MLP) que constituye un modelo particular en el que la propagacioacuten de los datos es siemprehacia adelante es decir ninguna salida neuronal constituye la entrada a una neurona de lamisma capa o de una capa anterior Las redes MLP (veacutease la Figura 519) estaacuten compuestaspor una capa neuronas de entrada donde se recogen los datos del exterior una o varias capasde neuronas ocultas y una capa de salida que devuelve los resultados de la red

Figura 519 Estructura de una red neuronal MLP

Algoritmo de retropropagacioacuten de errores

Debido a su sencillez y eficacia el algoritmo de retropropagacioacuten de errores o de backpro-

pagation [58] es uno de los algoritmos de aprendizaje supervisado maacutes extendido para redesMLP Baacutesicamente el algoritmo modifica iterativamente los pesos de las conexiones entre lasneuronas con el objetivo de minimizar el error de la red Partiendo de unos pesos aleatorios yde un conjunto de patrones de entrenamiento correctamente clasificados el algoritmo procesaa traveacutes de la red cada patroacuten El error cometido al procesar un patroacuten es cuantificado paramodificar los pesos en consecuencia La modificacioacuten iterativa de los pesos se realiza con elobjetivo de que el resultado real tienda al deseado La cuantificacioacuten del error medio-total de

56 Clasificacioacuten 101

la red se calcula comoE(w|xr) = 1

2(rminus y)2 (55)

siendo r el resultado deseado para la entrada de un patroacuten a la red e y el resultado real-mente obtenido La modificacioacuten de los pesos trata de minimizar el error de la red siendoel descenso de gradiente el meacutetodo maacutes habitual para ello siempre y cuando la funcioacuten pa-ra calcular el error sea diferenciable Las variaciones de los pesos utilizando el descenso degradiente se obtendriacutean a traveacutes del siguiente caacutelculo

∆wh j =minusαpartE

partwh j(56)

El algoritmo de retropropagacioacuten de errores tiene dos fases principales en una primerafase los patrones de entrenamiento son presentados y analizados por la red y sus salidas soncomparadas con los resultados esperados en una segunda fase se modifican los pesos de la redcalculando el error cometido y propagaacutendolo desde la capa de salida hasta la capa de entrada

x0=1

xj

xn

z0=1

whj vih

zh

zk

w0

sesgo sesgo v0

yi

Figura 520 Ejemplo simplificado de una red MLP

Actualizacioacuten de los pesos Partiendo del ejemplo mostrado en la Figura 520 en el quela funcioacuten de transferencia de las neuronas de la capa oculta es una sigmoide la salida de lared para un determinado patroacuten p se obtiene a traveacutes del siguiente caacutelculo

ypi =

k

sumq=1

viqzq + v0 (57)

102 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

La variacioacuten de los pesos que unen la capa oculta con la capa de salida se calculariacuteatratando de minimizar el error de la red (veacutease Ecuacioacuten 55) a traveacutes del descenso de gradiente(veacutease Ecuacioacuten 56)

∆wh j = α sump(rpminus yp)zp

h (58)

Sin embargo el caacutelculo de los pesos entre la capa de entrada y la oculta no puede hacer-se directamente utilizando el error cuadraacutetico medio ya que se desconoce cuaacutel es la salidadeseada para las neuronas ocultas La solucioacuten estaacute en el uso de la regla de la cadena sobre laEcuacioacuten 56 de la siguiente manera

∆wh j =minusαpartE

partwh j

=minusα sump

partE p

partyppartyp

part zph

partE p

part zph

part zph

partwh j

=minusα sumpminus(rpminus yp)︸ ︷︷ ︸

partE ppartyp

vh︸︷︷︸partyp

part zph

zph(1minus zp

h)xpj︸ ︷︷ ︸

part zph

partwh j

= α sump(rpminus yp)vhzp

h(1minus zph)x

pj

(59)

Teacutermino momento De entre las mejoras desarrolladas sobre el algoritmo claacutesico cabedestacar la que introduce el teacutermino momento Esta mejora consigue que la actualizacioacuten depesos sea proporcional al incremento de la iteracioacuten anterior permitiendo acelerar y estabili-zar el proceso de aprendizaje [96] La actualizacioacuten de pesos utilizando el teacutermino momentose calcula como

Wt+1 =Wt +[∆Wt +β∆Wtminus1] (510)

El teacutermino momento identificado por la constante β suele tomar un valor entre 0 y 1 ygeneralmente su valor es proacuteximo a la cota superior e inversamente proporcional a la tasa deaprendizaje es decir cuanto maacutes pequentildeo es el valor α maacutes grande suele ser β

Tanto la tasa de aprendizaje como el teacutermino momento son seleccionados empiacutericamentedependiendo del problema a resolver

56 Clasificacioacuten 103

Clasificador

Se implementoacute una red neuronal MLP para clasificar los candidatos segmentados Su ar-quitectura y los pesos de sus conexiones fueron establecidos a traveacutes de un proceso de entre-namiento validacioacuten y test utilizando los conjuntos mostrados en la Figura 517

La red desarrollada cuya arquitectura final se muestra en la Figura 522 estaacute compuestade 3 capas de neuronas El nuacutemero de neuronas de la capa de entrada se establecioacute en 9 unapor cada elemento del vector de caracteriacutesticas mientras que en la capa de salida se utilizaron2 neuronas para representar cada una de las posibles clases que se pueden asignar a un candi-dato Una neurona de la capa de salida con valor lsquo0rsquo representa la total incompatibilidad conla clase asignada a dicha neurona y el caso opuesto es representado con el valor lsquo1rsquo Valoresintermedios en el rango (01) representan una cierta probabilidad de pertenencia a la claseLos estiacutemulos externos a la red fueron normalizados en el rango [-11] como paso previo a suprocesamiento

Las neuronas utilizadas tanto en la capa oculta como en la capa de salida siguen el es-quema de la Figura 521 Estas neuronas reciben los valores de salida de las neuronas de lacapa anterior ponderados a traveacutes de los pesos asignados a las conexiones neuronales y unsesgo con valor lsquo1rsquo que se pondera a traveacutes de un peso asignado a cada neurona Una funcioacutende propagacioacuten que unifica y combina los valores de entrada en un uacutenico valor sirve comoentrada para la funcioacuten de activacioacuten de la neurona El resultado de la funcioacuten de activacioacutenrepresenta el valor de salida de la neurona

Netj=sum(ximiddotwi)+w0 aj=f(Netj)=2

[1+exp(Netj)]-1f(aj)=id(aj)=yj

yj

Neurona j-eacutesimax0

x1

x2

xn

Sesgo w0

w1

w2

wn

i=1

n

Figura 521 Esquema de la neuronas empleadas en la ANN desarrollada

El nuacutemero de neuronas de la capa oculta se establecioacute a traveacutes de un proceso comparativoentre diferentes arquitecturas Utilizando el algoritmo de retropropagacioacuten de errores con lavariante del teacutermino momento como proceso de aprendizaje de la red y basaacutendose en la reglaad hoc de que el nuacutemero de neuronas ocultas no deberiacutea ser superior al doble del nuacutemerode neuronas de entrada [106] fueron realizadas diferentes pruebas en las que se emplearon

104 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

hasta un maacuteximo de 18 neuronas En cada prueba los patrones normalizados del conjuntode entrenamiento fueron presentados iterativamente a la red y sus salidas se compararon conlos resultados esperados Cuando las salidas no resultaron satisfactorias los pesos fueronactualizados seguacuten el algoritmo de aprendizaje

Para evitar el sobreentrenamiento de la red es decir que la red aprendiese las particula-ridades propias de los patrones de entrenamiento limitando su capacidad de generalizacioacutense utilizoacute un conjunto de validacioacuten En cada iteracioacuten del proceso de entrenamiento se proboacutela red con el conjunto de validacioacuten y se calculoacute su eficacia Por norma general la eficaciade la red respecto al conjunto de entrenamiento iraacute mejorando en las sucesivas iteraciones delentrenamiento sin embargo la eficacia sobre el conjunto de validacioacuten alcanzaraacute un punto deinflexioacuten en el que la tendencia cambiaraacute La iteracioacuten donde se alcance la eficiencia maacuteximasobre el conjunto de validacioacuten marca el final del entrenamiento Una vez finalizado el en-trenamiento la red entrenada y validada se proboacute nuevamente sobre el conjunto de test paraconfirmar su eficacia con un conjunto independiente

Figura 522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP

Las pruebas de arquitectura fueron realizadas con diferentes inicializaciones de la red ta-sas de aprendizaje valores para el teacutermino momento y funciones de transferencia los mejoresresultados se obtuvieron utilizando 11 neuronas en la capa oculta con una tasa de aprendizajede 03 y un valor de momento de 09 La funcioacuten de propagacioacuten utilizada fue la suma pon-derada de las entradas de cada neurona con los pesos asociadas a ellas (incluyendo el sesgo)

56 Clasificacioacuten 105

mientras que la funcioacuten de transferencia seleccionada fue una sigmoide (tangente hiperboacuteli-ca) Los resultados de la ejecucioacuten de la red sobre los candidatos contenidos en los conjuntosde validacioacuten y test asiacute como su comparativa con el otro clasificador se muestran en detalleen el capiacutetulo 6

562 Aacuterboles de decisioacuten

Descripcioacuten

Un aacuterbol de decisioacuten [14] es un meacutetodo de aprendizaje inductivo supervisado y no para-meacutetrico que puede ser utilizado tanto para la clasificacioacuten como para la regresioacuten Se imple-menta a traveacutes de una estructura jeraacuterquica basada en una estrategia de divide y venceraacutes ygeneralmente se representa como un aacuterbol binario es decir una estructura de datos formadapor nodos en la que cada nodo que no sea final tiene dos hijos Los nodos finales son conoci-dos como hojas mientras que los intermedios son denominados nodos decisioacuten De entre lasdiferentes implementaciones posibles que se pueden encontrar en la literatura el clasificadordesarrollado se basoacute en los Aacuterboles de Clasificacioacuten y Regresioacuten (CART) propuestos porBreiman et aacutel [24]

Construccioacuten y entrenamiento del aacuterbol

El entrenamiento y construccioacuten de un aacuterbol de clasificacioacuten se realiza a partir de un con-junto de patrones de entrenamiento previamente etiquetados en el que se trata de encontrar atraveacutes de sucesivas particiones secciones en su espacio de representacioacuten en las que todos lospatrones presentes pertenezcan a una misma clase o etiqueta Cada particioacuten se representa enel aacuterbol como un nodo decisioacuten en el que se evaluacutea una caracteriacutestica presente en los patronesagrupaacutendose eacutestos acorde al resultado de la evaluacioacuten en uno de los nodos hijo generados

Sea m un nodo del aacuterbol y Nm los patrones o instancias de entrenamiento que llegan a esenodo desde el conjunto inicial N contenido en el nodo raiacutez se considera Ni

m un subconjuntode Nm que contiene patrones asociados a la clase Ci donde

sumi

Nim = Nm (511)

Dado un patroacuten que alcanza el nodo m la probabilidad de que pertenezca a la clase Ci sepuede calcular como

pim =

Nim

Nm(512)

106 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Un nodo se considera puro cuando todos los patrones que llegan a ese nodo pertenecen a unamisma clase lo cual se expresa matemaacuteticamente de la siguiente manera

m = purolArrrArrforalli pim isin 01 (513)

Los nodos puros representan hojas del aacuterbol y se etiquetan con el valor de la clase asignadaa sus patrones Si los dos nodos hijo de una particioacuten son puros dicha particioacuten se considerapura

Aunque lo ideal es realizar particiones puras la mayoriacutea no lo son y las que lo son sesituacutean en la parte inferior del aacuterbol (ramas inferiores) Es necesario establecer un meacutetodopara seleccionar la mejor particioacuten en cada punto del aacuterbol y para ello se debe cuantificar laimpureza de las posibles particiones y seleccionar la que tenga menor valor Existen diferentesmeacutetodos de cuantificar la impureza de una particioacuten siendo el meacutetodo Gini [24] uno de losmaacutes populares y el empleado para desarrollar el clasificador de SENTINAZOS El valor deGini se calcula como

1minussumi(pi

m)2 (514)

En la Figura 523 se muestra un sencillo ejemplo de construccioacuten de un aacuterbol de decisioacutenbinario El conjunto de entrenamiento estaacute formado 20 patrones pertenecientes a 2 tipos dife-rentes de clases diferentes y cada patroacuten contiene medidas para 2 caracteriacutesticas Se observaque no todas las hojas del ejemplo son puras ya que aunque es posible crear un aacuterbol sufi-cientemente grande donde todas sus hojas sean puras lo maacutes probable es que se caiga en elsobreentrenamiento por tanto es necesario utilizar reglas que gestionen el tamantildeo del aacuterbol

01 2 3 4 5 6 7

1

2

3

4

5

6

x

y

yge3

xge37

1010

6410

9 41

a b

Figura 523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario a) Patrones de entrenamiento en base a doscaracteriacutesticas b) Aacuterbol desarrollado a partir de los patrones de entrenamiento

56 Clasificacioacuten 107

Poda

El tamantildeo del aacuterbol generado puede establecerse desde dos estrategias diferentes por unlado se puede definir a priori un umbral que establezca el nuacutemero de patrones miacutenimo quedebe alcanzar un nodo para que se permita crear una nueva particioacuten lo cual implica que elaacuterbol dejaraacute de crecer en el momento en que los patrones sean inferiores a ese umbral Otraestrategia consiste en desarrollar completamente el aacuterbol hasta conseguir que todas sus hojassean puras o hasta que los patrones asociados sean inferiores a un umbral y a continuacioacutenpodarlo

El proceso de poda trata de encontrar las secciones del aacuterbol (subaacuterboles) que no apor-tan ventajas y se asocian al sobreentrenamiento Existen diferentes estrategias de poda y enel caso concreto del clasificador desarrollado la estrategia utilizada fue la de seleccionar lapoda que mejor clasificaba un conjunto de validacioacuten Utilizando un grupo independiente depatrones o conjunto de validacioacuten y de forma incremental desde las hojas hacia el nodo raiacutezse sustituyoacute cada posible subaacuterbol por una hoja etiquetada con la clase asociada a la mayoriacuteade los patrones de entrenamiento que clasificaba ese subaacuterbol Si la eficiencia del nuevo aacuterbolno era peor que la del original la poda se llevaba a cabo pues la mayor complejidad no sejustificaba

La estrategia de poda obtiene mejores resultados que la estrategia basada en detener elcrecimiento del aacuterbol ya que la poda permite que un subaacuterbol de un nodo permanezca mien-tras que su laquohermanoraquo desaparece y esto seriacutea imposible con una estrategia de parada ya queel crecimiento se detendriacutea por ambas ramas Por otro lado la estrategia de poda es maacutes lentay compleja ya que es necesario analizar los diferentes subaacuterboles de los que estaacute compuestoel aacuterbol original y encontrar la mejor poda

Clasificador

Se desarrolloacute un clasificador basado en un aacuterbol de decisioacuten binario para clasificar loscandidatos resultantes de la fase de segmentacioacuten Al igual que para la ANN presentada enla Seccioacuten 561 para el entrenamiento y desarrollo del clasificador se utilizaron 3 conjuntossiguiendo el mismo esquema de la Figura 517 el 70 de los elementos fueron utilizadospara entrenar el aacuterbol un 15 fue utilizado para podarlo (conjunto de evaluacioacuten) y el 15restante fue empleado en el test del clasificador resultante El meacutetodo Gini ha sido el empleadopara cuantificar la impureza de las particiones en el proceso de desarrollo del aacuterbol

108 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

El aacuterbol con hojas puras y generado uacutenicamente a traveacutes del entrenamiento se muestra enla Figura 524 se puede observar que el tamantildeo del aacuterbol es considerable y se le presuponeun sobreentrenamiento A traveacutes de un proceso de poda en el que se calculoacute la eficacia de losdiferentes subaacuterboles sobre el conjunto de validacioacuten se establecioacute que el mejor clasificadorera el subaacuterbol presentado en la Figura 525 Para confirmar su eficacia se utilizoacute el conjuntode test Los resultados del clasificador sobre los candidatos contenidos tanto en el conjunto detest como en el de validacioacuten se presentan en el Capiacutetulo 6

Ratio intensidad lt 204183

Sentinazo Look-alike

PCA3 lt 949121

AI lt 249877

Viento lt 298174

PCA4 lt 237383

Intensidad lt 00748946

PCA1 lt 107964

Intensidad lt 000383156 Ratio intensidad lt 249859

Viento lt 349681

PCA1 lt 532078

PCA1 lt 185418

Sentinazo Look-alike

Sentinazo

Look-alikeSentinazo

PCA5 lt -145036

PCA1 lt 491891 PCA1 lt 713184

SentinazoLook-alikeSentinazo

Ratio intensidad 160946 PCA4 lt 312993

PCA4 lt 318744

PCA1 lt 23493

PCA5 lt -377764

PCA2 lt 219814

Viento lt 563786

SentinazoLook-alike

Look-alike

Sentinazo

Look-alike

Sentinazo Look-alike

Sentinazo Look-alike

Sentinazo

Sentinazo

SentinazoLook-alike

Siacute No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

Siacute

SiacuteSiacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Figura 524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el proceso de entrenamiento

Ratio intensidad lt 204183

Sentinazo

Look-alike

PCA3 lt 949121

Sentinazo

No

NoSiacute

Siacute

Figura 525 Aacuterbol de decisioacuten binario podado

57 Validacioacuten del sistema de deteccioacuten de vertidos 109

57 Validacioacuten del sistema de deteccioacuten de vertidos

571 Desarrollo de un software de escritorio

La necesidad de evaluar los algoritmos presentados en las secciones anteriores condujoal desarrollo de un software de escritorio La implementacioacuten del prototipo se basoacute en soft-ware de coacutedigo libre y abierto con el objetivo de que pudiese ser libremente distribuido y asiacutepromover la colaboracioacuten entre la comunidad cientiacutefica

Visualizacioacuten

Para facilitar el trabajo con los datos SAR se implementoacute un visor especiacutefico que permi-tiese visualizar e interactuar (navegar aumentar y reducir) con las imaacutegenes asiacute como repre-sentarlas sobre un mapa de contexto mundial para mejorar la interpretacioacuten de los resultadosEl visor (veacutease la Figura 526) tambieacuten se disentildeoacute para acceder a los metadatos contenidos enlas cabeceras de las imaacutegenes

Figura 526 Pantalla principal del software de escritorio

110 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Identificacioacuten de sentinazos

El prototipo implementado contiene las diferentes funciones y meacutetodos de deteccioacuten desentinazos presentados en los apartados anteriores Existen dos formas de ejecutarlo por unlado automaacuteticamente a traveacutes de los paraacutemetros filtros y funciones por defecto por otrolado haciendo uso de una personalizacioacuten que permite configurar yo modificar el procesadode la imagen

ndash Filtro de ruido la aplicacioacuten dispone de un filtro de mediana un filtro de Gauss y unfiltro bilateral

ndash Filtro de aacuterea el usuario puede seleccionar el valor maacuteximo del filtro del aacuterea que seaplicaraacute a la imagen

ndash Clasificadores la aplicacioacuten permite emplear los diferentes clasificadores a traveacutes de suconfiguracioacuten por defecto o cargando una nueva base de conocimiento

El resultado de cada accioacuten ejecutada sobre la imagen es mostrado en el visor lo quepermite evaluar sus efectos La Figura 527 muestra un ejemplo del resultado obtenido trasprocesar una imagen SAR empleando los paraacutemetros por defecto maacutescara de tierra (veacutease laSeccioacuten 532) filtro de mediana de 3x3 (veacutease la Seccioacuten 533) segmentacioacuten por umbra-lizacioacuten adaptativa en base a los vientos (veacutease la Seccioacuten 541) filtro de vientos menores a3 ms (veacutease la Seccioacuten 543) filtro de aacutereas inferiores a 03 Km2 (veacutease la Seccioacuten 544) yclasificacioacuten empleando la ANN (veacutease la Seccioacuten 561)

572 Integracioacuten en RETELAB

Una vez finalizado y validado el sistema de deteccioacuten de vertidos de hidrocarburos se pro-cedioacute a su integracioacuten en RETELAB Al contrario que el prototipo de escritorio que permitiacuteair visualizando el efecto de ejecutar diferentes acciones sobre los datos SAR la versioacuten Gridde SENTINAZOS fue pensada para ser ejecutada en modo no interactivo de forma que elusuario debe seleccionar en un primer momento los paraacutemetros de la tarea y a continuacioacutenprocesarla y esperar a los resultados finales

A pesar de la limitacioacuten en cuanto a la interaccioacuten las ventajas que proporciona la compu-tacioacuten Grid al sistema SENTINAZOS son importantes

57 Validacioacuten del sistema de deteccioacuten de vertidos 111

Figura 527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de los paraacutemetros por defectoy un clasificador ANN

ndash Permite compartir los datos (vientos datos SAR etc) entre los diferentes centros par-ticipantes

ndash Los resultados obtenidos pueden ser distribuidos y utilizados para nuevos estudios porel resto de los participantes de la red por ejemplo para realizar predicciones de laevolucioacuten de los vertidos o para ejecutar algoritmos de backtracking con el objetivo dedetectar su fuente

ndash El entorno de RETELAB permite ejecutar diferentes instancias de SENTINAZOS y asiacuteprocesar diferentes aacutereas simultaacuteneamente

ndash La presencia de recursos computacionales de gran potencia puede aportar una mayorvelocidad de procesamiento

El portlet para la deteccioacuten de sentinazos permite seleccionar diferentes acciones a rea-lizar sobre los datos SAR como por ejemplo segmentar clasificar una imagen previamentesegmentada o segmentar y clasificar Para la clasificacioacuten se permite escoger uno de los dosclasificadores implementados (ANN o aacuterboles de decisioacuten) y los paraacutemetros escogidos tantopara los filtros (ruido aacuterea vientos) como para los clasificadores estaacuten prefijados

112 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Al igual que el resto de los portlets eacuteste ha sido integrado con el Data Grid (veacutease laSeccioacuten 33) tanto para poder acceder y utilizar los datos de la DB virtual como para compartirlos resultados generados Ademaacutes el portlet tambieacuten se ha integrado con el monitor de tareaspara realizar un seguimiento del estado de las tareas y acceder a los resultados que generen

La Figura 528 muestra el portlet desarrollado para SENTINAZOS y su integracioacuten en ellaboratorio de RETELAB

Figura 528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en el laboratorio virtual

CAPIacuteTULO 6

RESULTADOS

61 Eficacia

Los clasificadores presentados en las secciones 561 y 562 han sido desarrollados uti-lizando la DB de candidatos presentada en la Figura 517 es decir se han utilizado los mis-mos conjuntos para entrenar validar y probar los clasificadores lo que permitioacute realizar unacomparativa entre ellos en teacuterminos de eficacia (veacutease Tabla 61) Los datos relativos al rendi-miento del aacuterbol de decisioacuten original (sin podar) son meramente ilustrativos ya que reflejancoacutemo el sobreentrenamiento afecta a la clasificacioacuten de otros conjuntos que no sean el deentrenamiento En la praacutectica soacutelo el aacuterbol podado y la red MLP han sido utilizados comoclasificadores

Validacioacuten TestSentinazos Look-alikes Sentinazos Look-alikes

Red MLP 857 852 929 963Aacuterbol decisioacuten original 500 889 357 889Aacuterbol decisioacuten podado 929 852 929 926

Tabla 61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten y test

La eficacia de los clasificadores fue comprobada directamente sobre las imaacutegenes SARal ser eacutestos implementados como parte del prototipo descrito en la seccioacuten 571 La Figu-ra 61 muestra una composicioacuten realizada soacutelo con el objeto de facilitar la visualizacioacuten de2 imaacutegenes SAR (Figura 61a) y su correspondiente segmentacioacuten (Figura 61b) asiacute comolos resultados obtenidos por los clasificadores (Figura 61c y Figura 61d) Enmarcados en

114 Capiacutetulo 6 Resultados

color rojo se identifican varios sentinazos confirmados a traveacutes de misiones de vigilancia deSASEMAR que se detallan en la Figura 62 junto al resultado de clasificarlos mediante la redMLP

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

a b9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

c d

Figura 61 a) Composicioacuten a efectos de visualizacioacuten de 2 imaacutegenes SAR La imagen lsquo1rsquo fue obtenida el28032011 y la imagen lsquo2rsquo el 14102011 b) Composicioacuten formada por la segmentacioacuten de lasimaacutegenes SAR c) Montaje formado por los resultados de aplicar el clasificador basado en el aacuterbol dedecisioacuten a las imaacutegenes segmentadas d) Montaje formado por los resultados de aplicar el clasificadorbasado en la red MLP a las imaacutegenes segmentadas

Se puede observar que los resultados obtenidos a traveacutes del clasificador basado en el aacuterbolde decisioacuten son muy similares a los ofrecidos por el que utiliza la red MLP (sobre todo desdeel punto de vista de la deteccioacuten de sentinazos) si bien la ANN (veacutease la Figura 61d) generauna menor cantidad de falsos positivos

61 Eficacia 115

A

10deg30W10deg40W

43deg40N

0 1 2 305Millas Naacuteuticas

B

9deg50W10degW10deg10W10deg20W10deg30W

43degN

42deg50N

42deg40N

0 4 8 122Millas Naacuteuticas

C

9deg40W9deg50W10degW

42deg10N

42degN

0 2 4 61Millas Naacuteuticas

Figura 62 A la izquierda detalle de los sentinazos confirmados e identificados en la Figura 61 a la derecharesultados obtenidos a traveacutes del clasificador basado en una red MLP

116 Capiacutetulo 6 Resultados

62 Tiempo de procesamiento

El tiempo requerido para el procesamiento de las imaacutegenes en la buacutesqueda de vertidos dehidrocarburos es criacutetico y por ello los algoritmos presentados en las secciones anteriores hansido desarrollados con el objetivo de minimizarlo pero sin sacrificar su eficacia sobre todoen cuanto a la no deteccioacuten de sentinazos (falsos negativos) Ademaacutes de tener un especialcuidado en el disentildeo e implementacioacuten del software el coacutedigo se desarrolloacute pensando enobtener el mejor rendimiento de los microprocesadores multinuacutecleo presentes en la mayoriacuteade las computadoras actuales Para la implementacioacuten se empleoacute el API de OpenMP [36] quepermite adaptar y paralelizar automaacuteticamente la ejecucioacuten del coacutedigo entre los diferentesnuacutecleos de los que disponga el procesador donde se ejecuta la aplicacioacuten y asiacute obtener elmaacuteximo rendimiento

Fueron probadas dos versiones del algoritmo (claacutesica y optimizada) utilizando un nodode computacioacuten Core 2 Duo - 213 Ghz con 3 GB de RAM y despueacutes de 100 iteracionessobre una imagen de 8088 x 6481 piacutexeles la versioacuten optimizada empleoacute una media de 194segundos por ejecucioacuten mejorando un 296 el tiempo de ejecucioacuten del algoritmo claacutesico

CAPIacuteTULO 7

DISCUSIOacuteN

Debido a las condiciones tanto geograacuteficas como climatoloacutegicas de la costa gallega (aacutereade estudio) los vientos de baja intensidad generan la mayor parte de los falsos positivos olook-alikes El algoritmo desarrollado los filtra en su mayor parte en la fase de segmentacioacutenal introducir una umbralizacioacuten basada en la velocidad del viento Una de las consecuenciasde este proceso de segmentacioacuten es que algunos vertidos pueden quedar parcialmente ocultosen la salida si se encuentran situados en aacutereas afectadas por vientos de baja intensidad Modi-ficar el umbral de viento miacutenimo mejora la segmentacioacuten en algunos de los casos pero a costade incrementar notablemente el nuacutemero de falsos positivos Es muy complicado detectar sen-tinazos en aacutereas con vientos de baja intensidad debido a que la superficie del mar no genera elbrillo suficiente en la imagen SAR para que se produzca un contraste entre la superficie afec-tada por el sentinazo y el mar limpio y ademaacutes la intensidad de la sentildeal retrodispersada quellega al sateacutelite se aproxima al ruido de fondo (veacutease la Seccioacuten 521) dificultando discernirlos fenoacutemenos presentes en la superficie

A pesar de que la utilizacioacuten de los datos de viento mejoroacute considerablemente la segmen-tacioacuten eacutesta podriacutea ser maacutes precisa si se utilizasen medidas reales o provenientes de modelosde vientos maacutes precisos que el CMOD5 que trabaja directamente con los datos SAR El mo-delo CMOD5 es bastante exacto cuando se trata de velocidades de viento inferiores a 15 msy empeora con vientos de mayor intensidad [62] El error producido por el modelo aunquesea pequentildeo podriacutea ser clave para que una zona sea identificada como look-alike sobre todosi no alcanza el umbral miacutenimo de viento

118 Capiacutetulo 7 Discusioacuten

Otro de los inconvenientes que se presentan al emplear un modelo basado en los pro-pios datos SAR es la dificultad para calcular los datos de viento en las aacutereas proacuteximas a lacosta CMOD5 soacutelo calcula la velocidad del viento en la superficie oceaacutenica y necesita unalaquoventanaraquo de datos alrededor del aacuterea de estudio por lo que la presencia de la costa puededistorsionar los resultados La propia costa tambieacuten genera muchos falsos positivos al pro-teger del viento a la superficie marina generando aacutereas de baja intensidad Para evitar estosinconvenientes se ha usado una maacutescara de tierra extendida (veacutease la Seccioacuten 532) pero losresultados siguen mostrando una mayor cantidad de look-alikes en las aacutereas maacutes cercanas ala costa Aumentar la maacutescara para reducir el efecto de la costa obtendriacutea mejores resultadosdesde el punto de vista de los look-alikes pero a costa de ocultar posibles sentinazos que sehayan desplazado y que puedan ser potencialmente peligrosos para el medioambiente

La comparativa entre los diferentes sistemas de deteccioacuten de sentinazos presentes en laliteratura es especialmente complicada debido a que cada uno utiliza su propia DB para entre-nar y para validar se basa en diferentes tipos y resoluciones de imaacutegenes SAR usa diferentesvectores de caracteriacutesticas etc Ademaacutes es habitual que las DB contengan imaacutegenes con ver-tidos que solamente han sido identificados por expertos y directamente sobre la propia imagenpero sin confirmacioacuten in situ Los porcentajes de eficacia de los diferentes sistemas deben sertomados a modo de referencia pero de ellos no puede extrapolarse ninguna conclusioacuten defi-nitiva Algunos de los sistemas de deteccioacuten de hidrocarburos presentes en la literatura asiacutecomo sus porcentajes de eficacia son mostrados en la Tabla 7

Ref DB Clasificador Eficacia[37] 71 Sentinazos 68 Look-alikes Red MLP (validacioacuten

cruzada)82 Look-alikes 90 Sentinazos

[108] 34 Sentinazos 45 Look-alikes Red MLP 91 Look-alikes 87 Sentinazos[103] 71 Sentinazos 6980 Look-alikes Modelo estadiacutestico +

Sist basado en reglas99 Look-alikes 94 Sentinazos

[104] 37 Sentinazos 12110 Look-alikes Modelo estadiacutestico +Sist basado en reglas

994 Look-alikes 784 Sentinazos

[26] 41 Sentinazos 12245 Look-alikes Modelo estadiacutestico +Sist basado en reglas+ Estimador de con-fianza

897 Look-alikes 9207 Sentinazos(sin aplicar el estimador de confianza)

[41] 11 Sentinazos 6 Look-alikes 4Desconocidos

Distancia de Mahala-nobis

100 Look-alikes 82 Sentinazos 0Desconocidos

Clasificador probabi-liacutestico

67 Look-alikes 909 Sentinazos 50Desconocidos

[54] 1915 piacutexeles (552 Sentinazos 557Bajo viento 806 Superficie limpia)

Red MLP 9825 Look-alikes 9702 Sentinazos

Tabla 71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia en la clasificacioacuten

119

Los resultados de los clasificadores implementados (veacutease Tabla 61) son muy promete-dores a la vista de los porcentajes de eficacia obtenidos por los clasificadores presentes enla literatura No obstante es sorprendente que un clasificador tan sencillo como el aacuterbol dedecisioacuten binario obtenga unos resultados comparables a la mayoriacutea de clasificadores siendoeacutestos en general mucho maacutes complejos Esto puede ser debido a varios factores por un ladola mayoriacutea de los look-alikes son filtrados gracias al empleo de datos meteoroloacutegicos en lafase de segmentacioacuten por otro lado la mayoriacutea de los candidatos segmentados pueden serclasificados basaacutendose soacutelo en una de las variables del vector (ratio entre la intensidad de lospiacutexeles de la mancha respecto al aacuterea circundante) mientras que el uso de las otras varia-bles del vector permitiraacute discernir los casos maacutes problemaacuteticos siendo esto lo que marca ladiferencia entre la red neuronal implementada y el aacuterbol

La mayoriacutea de los sistemas dan sus porcentajes de eficacia en funcioacuten de la clasificacioacutende los candidatos pero en otros casos como Oacutescar Garcia-Pineda et aacutel [54] se presentala eficacia en funcioacuten de la correcta clasificacioacuten a nivel de piacutexel En general se espera unaeficacia mayor a nivel de piacutexel dado que las DB suelen estar formadas por un mayor nuacutemero derepresentantes y los errores si son pocos quedan maacutes diluidos en los porcentajes Ademaacutessi se analizan imaacutegenes completas la cantidad de piacutexeles que representan hidrocarburos esclaramente inferior a la que representa superficie limpia por lo que se espera un porcentajede eficacia media muy alto de piacutexeles correctamente etiquetados

El tiempo de procesamiento es criacutetico en un sistema que debe dar respuesta en tiempocuasi real pero la mayoriacutea de los sistemas de deteccioacuten de hidrocarburos presentes en la lite-ratura lo relegan a un segundo plano en pos de la eficacia Sin embargo una raacutepida deteccioacutenpuede marcar la diferencia a la hora de ser efectivos gestionando un vertido o incluso en labuacutesqueda de los responsables Teniendo en cuenta que en la praacutectica la mayoriacutea de los siste-mas funcionan de forma semiautomaacutetica es decir que un operador suele revisar los resultadosantes de enviar los medios de vigilancia se hace maacutes plausible que el sistema se desarrollecon el objetivo de detectar sentinazos en el intervalo de tiempo maacutes breve posible incluso sipara ello se sacrifica eficacia en la eliminacioacuten de los falsos positivos o look-alikes El sistemapresentado con una media de 194 s de tiempo de procesamiento representa una importantemejora respecto a otros sistemas como el TCNNA (65 min) el cual se aplica a imaacutegenescompletas Solberg et aacutel [104] (145 min) que utiliza factores de escape en su algoritmo parano procesar completamente la imagen es decir no utiliza todos los datos con el consecuenteriesgo de no conseguir los mejores resultados o Topouzelis et aacutel [108] (2-5 min) que utiliza

120 Capiacutetulo 7 Discusioacuten

subsecciones de la imagen de entre 4 y 16 MB previamente seleccionadas por un operadorEn otros casos se opta por reducir la resolucioacuten radiomeacutetrica y trabajar soacutelo con 256 nivelesde grises [90] [54] lo que conlleva un incremento en la velocidad de procesamiento de lasimaacutegenes pero a costa de perder informacioacuten

Es importante tener en cuenta que los datos presentados en cuanto al tiempo de procesa-miento estaacuten iacutentimamente relacionados con las caracteriacutesticas de la computadora utilizada esdecir que podriacutean ser faacutecilmente mejorados disponiendo de un hardware con mayor poten-cia y aunque esto pueda parecer obvio para cualquier software en el caso presentado cobramayor relevancia puesto que fue desarrollado para adaptarse automaacuteticamente y utilizar losdiferentes nuacutecleos disponibles

Epiacutelogo

CAPIacuteTULO 8

RESULTADOS Y CONCLUSIONES

En este trabajo se ha planteado el desarrollo despliegue y validacioacuten de un laboratorio vir-tual oceanograacutefico Partiendo de unos requisitos iniciales ambiciosos en los que se abordarondiferentes liacuteneas de investigacioacuten se desarrolloacute un entorno de trabajo basado en computacioacutenGrid enfocado a la ejecucioacuten de aplicaciones de oceanografiacutea Para validar el entorno se desa-rrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos en la superficieoceaacutenica a traveacutes de datos de sateacutelite

Las principales aportaciones del presente trabajo han sido

ndash Desarrollo de un laboratorio virtual de altas prestaciones se ha presentado un en-torno de trabajo unificado y versaacutetil que permite a los investigadores realizar una granparte de su trabajo sin necesidad de otras herramientas Como si de un laboratorio realse tratase el entorno permite

bull Administrar el acceso de los usuarios

bull Gestionar analizar y visualizar datos

bull Procesar datos utilizando recursos computacionales de altas prestaciones

bull Distribuir y compartir los resultados de los proyectos con la comunidad

ndash Desarrollo de una interfaz amigable tanto la arquitectura del sistema como su inter-faz han sido disentildeadas para abstraer a los usuarios finales de la tecnologiacutea subyacenteInternet es un entorno coacutemodo y familiar para la mayor parte de los usuarios y porello se escogioacute un portal Web como medio de acceso al sistema Grid El portal fue

124 Capiacutetulo 8 Resultados y conclusiones

implementado empleando GridSphere que proporciona un entorno de desarrollo deportales Web basado en portlets El uso de portlets permite desplegar aplicaciones inde-pendientes del middleware Grid utilizado en el sistema asiacute como reutilizarlas en otrosportales La solucioacuten tecnoloacutegica desarrollada permite al usuario centrar sus esfuerzosen el desarrollo de sus trabajos y no en el aprendizaje de las herramientas

ndash Sistema de autenticacioacuten y autorizacioacuten simplificado buscando una solucioacuten bienequilibrada entre seguridad y facilidad de uso se disentildeoacute y desarrolloacute un sistema deautenticacioacuten y autorizacioacuten integrando y mejorando diferentes tecnologiacuteas El sistemade registros de usuarios PURSe fue desplegado para abstraer a los usuarios del usode los DCs Tanto PURSe como GridSphere fueron modificados para gestionar rolesde usuarios a traveacutes de ACs y asiacute poder emplearlos como medio de autorizacioacuten enel Grid El uso de un sistema de autorizacioacuten del tipo RBAC en un Grid simplifica laadministracioacuten de los recursos y por esta razoacuten en RETELAB se integroacute el softwarePERMIS que permite gestionar poliacuteticas de seguridad basadas en roles

ndash Despliegue de un sistema de autenticacioacuten SSO los usuarios que pertenezcan a cen-tros incluidos en la red de confianza de RETELAB pueden acceder al portal sin nece-sidad de registrarse a traveacutes del sistema de autenticacioacuten de sus centros Para realizareste proceso se integroacute Shibboleth y se desarrollaron procedimientos que generan deforma temporal DCs y ACs para los usuarios externos Los datos necesarios para losdiferentes certificados son proporcionados por las organizaciones en el proceso de au-tenticacioacuten

ndash Despliegue de un sistema de almacenamiento distribuido basado en metadatosse ha disentildeado y desplegado un sistema de almacenamiento distribuido que permitea la comunidad de RETELAB compartir los datos de sus investigaciones Esta DBvirtual que soporta formatos estaacutendar en oceanografiacutea estaacute dirigida por metadatos parafacilitar el etiquetado y descripcioacuten de los datos almacenados y asiacute mejorar los sistemasde buacutesquedas Para unificar el uso de los metadatos se ha seleccionado el estaacutendar paradescribir informacioacuten geograacutefica ISO 19115

ndash Despliegue de un metaplanificador y un monitor de trabajos se ha disentildeado una in-terfaz de ejecucioacuten y monitorizacioacuten de trabajos que permite a los usuarios configurarejecutar y monitorizar sus trabajos sin que sea necesario que conozcan la infraestruc-tura hardware Para ello se ha desplegado una versioacuten mejorada del metaplanificador

125

GridWay que se encarga de gestionar en nombre del usuario la ejecucioacuten de las tareasEl monitor permite visualizar el estado de las tareas y acceder a los resultados una vezque hayan finalizado Tanto la versioacuten del GridWay utilizada como la interfaz de ejecu-cioacuten y monitorizacioacuten de los trabajos ha sido realizada por el CESGA en el marco delproyecto RETELAB

ndash Validacioacuten y distribucioacuten de los resultados utilizando la interfaz de monitorizacioacutenel usuario puede acceder a los resultados de las tareas ejecutadas Desde la interfazde resultados el usuario puede descargar los ficheros generados o compartirlos con lacomunidad publicaacutendolos previa descripcioacuten a traveacutes de metadatos en la DB virtuallo que realimenta el sistema El entorno cuenta con una herramienta avanzada para lavisualizacioacuten y validacioacuten de los datos llamada IDV (desarrollada por Unidata) Estesoftware se descarga e instala en el puesto de trabajo del usuario de forma temporal ytransparente y se ejecuta con los datos seleccionados por el usuario

ndash Desarrollo de un sistema de deteccioacuten de vertidos de hidrocarburos el laboratoriovirtual se ha validado a traveacutes del despliegue de varias aplicaciones y entre ellas porsu entidad alcance y necesidad de investigacioacuten adicional del estado del arte destacaSENTINAZOS Eacuteste es un sistema de deteccioacuten de vertidos de hidrocarburos en lasuperficie oceaacutenica que fue desarrollado con el doble propoacutesito de validar el sistema yde encontrar una solucioacuten para un problema diario de nuestras costas Las principalesaportaciones de este sistema son

bull Desarrollo de un procedimiento de segmentacioacuten adaptativo basado en la ve-locidad del viento partiendo de una DB de imaacutegenes SAR enriquecida tanto condatos de viento como con informacioacuten de vertidos de hidrocarburos se implemen-toacute un segmentador basado en una umbralizacioacuten adaptativa El establecimiento deeste umbral tiene como base el estudio de centenares de datos muestreados en losque se analizoacute la velocidad del viento el IA del sateacutelite respecto al punto mues-treado y su valor de intensidad Tras el estudio de la muestra se constatoacute que siel IA era similar las muestras asociadas a hidrocarburos teniacutean valores de intensi-dad menores a las que representaban superficie limpia pero ademaacutes se comproboacuteque estos valores teniacutean una relacioacuten directa con el viento que afectaba a la zonaEmpleando estos datos se establecioacute una funcioacuten definida por partes que repre-sentaba el umbral de intensidad del hidrocarburo seguacuten el IA y la velocidad del

126 Capiacutetulo 8 Resultados y conclusiones

viento Este procedimiento de segmentacioacuten obtiene un menor nuacutemero de falsospositivos que otras alternativas lo que permite facilitar el trabajo del clasificadory obtener mejores resultados

bull Caracterizacioacuten de los candidatos a traveacutes de la forma diferentes estudios hanconstatado que los sentinazos adquieren formas que siguen patrones singularesdebido a su origen y a su antiguumledad Partiendo de la hipoacutetesis de que la formaes un elemento diferenciador se desarrolloacute un procedimiento para caracterizar loscandidatos que generaba un vector dominado por las caracteriacutesticas relacionadascon la forma La dimensionalidad de dicho vector fue reducida a traveacutes de unPCA siendo el resultado utilizado como entrada para el clasificador

bull Sistema semiautomaacutetico de deteccioacuten de vertidos se desarrollaron y analizarondos clasificadores para separar los falsos positivos de los sentinazos Tanto la ANNcomo el aacuterbol de decisioacuten obtuvieron resultados muy prometedores El uso de unsegmentador optimizado permite emplear clasificadores maacutes sencillos por lo quese reduce el tiempo de procesamiento sin sacrificar la tasa de aciertos

bull Disminucioacuten del tiempo de procesamiento empleando un paradigma de pro-gramacioacuten paralela con memoria compartida se ha implementado un sistema quepermite procesar completamente un producto SAR en un tiempo considerable-mente inferior al usado por aplicaciones similares encontradas en la literatura Es-ta mejora en el tiempo de procesamiento permite emplear el sistema de deteccioacutencomo una herramienta de ayuda a la toma de decisiones en tiempo casi real

CAPIacuteTULO 9

TRABAJO FUTURO

91 Trabajo futuro en el proyecto RETELAB

El futuro del laboratorio virtual puede verse desde dos puntos de vista por un lado la evo-lucioacuten del propio entorno que se centraraacute en el anaacutelisis de los posibles puntos de confluenciaentre la computacioacuten Grid y la Cloud Por otro el del desarrollo y mejora de las aplicacionesdesplegadas en particular la mejora de los algoritmos para la deteccioacuten de vertidos asiacute comola adaptacioacuten de eacutestos para trabajar con datos provenientes de fuentes diferentes al Envisatcomo por ejemplo el futuro sateacutelite Sentinel-1

911 Computacioacuten Cloud

La computacioacuten Cloud es un nuevo paradigma de computacioacuten distribuida que ha surgidocon fuerza estos uacuteltimos antildeos Al igual que ocurrioacute con la computacioacuten Grid su definicioacutenha sido objeto de debate tanto en el mundo empresarial como entre la comunidad cientiacuteficaLa literatura presenta multitud de definiciones pero en general se observa que las que provie-nen del mundo empresarial se centran en la perspectiva del usuario final y su experiencia deuso mientras que desde la comunidad cientiacutefica se incluyen tambieacuten aspectos relativos a suarquitectura Foster et aacutel [48] definen la computacioacuten Cloud como

laquoUn paradigma de computacioacuten distribuida de gran envergadura dirigido por economiacuteas

de escala en el que un conjunto administrado de recursos (procesamiento almacenamiento

entornos y aplicaciones) abstractos virtualizados y dinaacutemicamente escalables se proporcio-

nan bajo demanda a clientes viacutea Internetraquo

128 Capiacutetulo 9 Trabajo futuro

La computacioacuten Cloud es un paradigma de computacioacuten distribuida altamente especiali-zado que presenta las siguientes diferencias respecto a anteriores paradigmas [48]

ndash Es altamente escalable

ndash Puede ser encapsulado como una entidad abstracta y proporcionar diferentes niveles deservicios a los clientes finales

ndash Estaacute dirigido por economiacuteas de escala

ndash Los servicios son proporcionados bajo demanda y pueden ser configurados dinaacutemica-mente a traveacutes de la virtualizacioacuten

Su arquitectura puede dividirse en capas [48] y eacutestas mantienen una estrecha relacioacuten conlos servicios proporcionados (veacutease la Figura 91)

ndash Capa de infraestructura contiene los recursos hardware maacutes baacutesicos como son los recur-sos computacionales los de almacenamiento o los relacionados con la infraestructurade red

ndash Capa de recursos unificados empleando los recursos baacutesicos se encapsulan a traveacutesde la virtualizacioacuten nuevos recursos maacutes complejos que pueden ser proporcionados alas capas superiores o directamente a los usuarios finales

ndash Capa de plataforma proporciona a los recursos unificados herramientas especializadasmiddleware y servicios Su finalidad es preparar un entorno de desarrollo o de desplie-gue que pueda ser utilizado por la capa de aplicaciones o proporcionado como servicioa los usuarios

ndash Capa de aplicaciones contiene aplicaciones que son ejecutadas en el Cloud y expuestascomo servicios para ser utilizadas por los usuarios finales

Los Clouds en general proporcionan bajo demanda hasta tres tipos de servicios a los queel usuario puede acceder a traveacutes de un navegador Web o de un API bien definida [105]

ndash Infraestructura como Servicio (IaaS) proporciona recursos computacionales (procesa-miento y almacenamiento) virtualizados Esto permite que los usuarios puedan obtenerrecursos con unas determinadas caracteriacutesticas (nuacutemero de procesadores memoria es-pacio en disco etc) para cubrir unas necesidades concretas

91 Trabajo futuro en el proyecto RETELAB 129

ndash Plataforma como Servicio (PaaS) los servicios de plataforma estaacuten pensados para pro-porcionar a los usuarios entornos especiacuteficos bien sea para desarrollar software o biensea para desplegarlo permitiendo que los usuarios se abstraigan del hardware yo con-figuraciones

ndash Sofware como Servicio (SaaS) proporciona software especiacutefico para que sea accesibleremotamente por los clientes a traveacutes de Internet

Figura 91 Arquitectura del Cloud relacionada con los servicios que proporciona Figura adaptada de [105]

912 Integracioacuten de la computacioacuten Cloud en RETELAB

La integracioacuten de la computacioacuten Cloud en el proyecto RETELAB podriacutea proporcionaruna mayor flexibilidad al laboratorio Existen varias liacuteneas de futuro interesantes para desa-rrollar

ndash Agregacioacuten de recursos bajo demanda los recursos proporcionados por RETELAB es-taacuten limitados tanto en su nuacutemero como en sus caracteriacutesticas Si la demanda de recursospor parte de los usuarios excede la capacidad del laboratorio ya sea porque la cantidadde trabajos ejecutados es mayor de la que puede absorber porque los trabajos requie-ren recursos con caracteriacutesticas superiores (nuacutemero de procesadores memoria etc) oporque necesitan de un determinado entorno de ejecucioacuten que no estaacute disponible elCloud podriacutea proporcionar una solucioacuten raacutepida y puntual Aprovechando que el Cloud

130 Capiacutetulo 9 Trabajo futuro

proporciona IaaS podriacutean agregarse bajo demanda los recursos necesarios y graciasal PaaS seriacutea posible obtener recursos con una determinada configuracioacuten La tarea deinstanciar los recursos recaeriacutea sobre el metaplanificador GridWay del que existe unplugin (Broker GW-SLA) que permite negociar con entidades externas para incorporarrecursos al Grid y que ya fue utilizado con eacutexito en proyectos previos [55]

ndash Modificacioacuten dinaacutemica de los recursos el uso de la computacioacuten Cloud tambieacuten seriacuteauacutetil para gestionar los propios recursos de RETELAB ya que podriacutea optimizar su usoCuando se ejecuta un trabajo en el laboratorio el metaplanificador necesita conocer susnecesidades para poder gestionar su ejecucioacuten Puede darse el caso de que un trabajosea asignado a un recurso libre y lo infrautilice ya que no necesita de todo su potencial(procesadores memoria etc) Mientras tanto puede llegar a la cola un trabajo queaunque realmente necesite mejores condiciones para que su ejecucioacuten sea oacuteptima po-driacutea aprovechar la parte ociosa del recurso a la espera de mejores recursos Desplegandoun Cloud sobre los recursos disponibles podriacutean virtualizarse y optimizarse generandorecursos laquoa medidaraquo Asociando a cada cada tarea informacioacuten sobre cuaacuteles seriacutean losrequisitos miacutenimos y cuaacuteles los deseados para su ejecucioacuten se podriacutea virtualizar y asig-nar un recurso en el momento en que estuviesen disponibles los recursos miacutenimos Amedida que los recursos base fuesen quedando ociosos se aprovechariacutea la escalabilidaddinaacutemica del Cloud para mejorar el recurso virtual asignado a la tarea hasta alcanzar losrequisitos deseados El metaplanificador seriacutea el encargado de gestionar este procesopor lo que seriacutea necesario extender el JSDL para soportar dicha informacioacuten

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS

921 Fuentes de datos

Los algoritmos desarrollados para localizar vertidos de hidrocarburos estaacuten basados endatos obtenidos por el sateacutelite Envisat a traveacutes del modo de operacioacuten WSM A pesar de quela base de los algoritmos es vaacutelida para otras fuentes de datos es cierto que eacutestos deberiacutean seradaptados para ajustarse a sus particularidades como por ejemplo a las diferentes resolucio-nes espaciales La adaptacioacuten de los algoritmos para trabajar con diferentes fuentes siemprefue considerado como un trabajo futuro que actualmente y debido a la peacuterdida de contactocon el sateacutelite Envisat ha cobrado mayor relevancia A corto plazo los algoritmos deberiacuteanser adaptados para analizar datos provenientes del Radarsat mientras que a medio plazo seriacutea

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 131

interesante adaptarlos para trabajar con los datos que provengan del Sentinel-1 sateacutelite cuyolanzamiento estaacute previsto para el antildeo 2013

922 Mejora de los algoritmos

Existen varias liacuteneas de trabajo que podriacutean conducir a una mejora de los algoritmos ac-tuales para la deteccioacuten de vertidos

ndash Informacioacuten contextual dado que los sentinazos son generados habitualmente por bu-ques que transitan por el ESTF o por sus cercaniacuteas seriacutea interesante antildeadir informacioacutencontextual respecto a su entorno como por ejemplo la proximidad a una posible fuentedel vertido o su localizacioacuten respecto al ESTF Esta informacioacuten podriacutea ser obtenidaempleando los propios datos SAR ya que es posible utilizarlos para detectar embarca-ciones [89] y al estar georreferenciados tambieacuten es posible posicionar los sentinazosrespecto al ESTF

ndash Incorporacioacuten de datos provenientes de los Sistemas Automaacuteticos de Identificacioacuten(AISs) de buques la Organizacioacuten Internacional Mariacutetima (IMO) requiere que la ma-yor parte de las embarcaciones posean un sistema AIS para identificarlos y localizarlosEstos sistemas enviacutean sus datos a estaciones receptoras que almacenan y procesan lainformacioacuten SASEMAR ha implantado cobertura para AIS a lo largo de toda la cos-ta espantildeola por lo que la informacioacuten recogida podriacutea ser utilizada en el sistema dedeteccioacuten para acotar los posibles causantes del vertido

ndash Incorporacioacuten de nuevos datos de viento unos pocos informes de las misiones aeacutereasa las que tuvo acceso SASEMAR conteniacutean medidas de la velocidad del viento de laszonas en las que fueron detectados vertidos Estas medidas no se ajustaban correcta-mente a las obtenidas por el modelo CMOD5 y aunque la comparacioacuten es complicadadebido a que las misiones aeacutereas eran enviadas despueacutes de obtener y procesar la imagenSAR (no correspondiacutean al mismo momento) se considera que una posible liacutenea futuraes incorporar datos reales o de otros modelos que puedan ser maacutes precisos y asiacute podercomparar los resultados con los obtenidos actualmente

ndash Anaacutelisis de nuevos clasificadores a pesar de que los resultados obtenidos con las ANNsy con los aacuterboles de decisioacuten son satisfactorios seriacutea deseable analizar otros clasifica-dores con el objetivo de alcanzar un mejor porcentaje de aciertos De entre las diferentes

132 Capiacutetulo 9 Trabajo futuro

posibilidades las Maacutequinas de Soporte Vectorial (SVM) resultan especialmente intere-santes ya que en problemas tanto de clasificacioacuten como de regresioacuten tratan de definirun hiperplano en un espacio n-dimensional que separe las posibles clases de una formaestricta desde el punto de vista matemaacutetico Otras opciones posibles seriacutean las redesfuncionales o los clasificadores basados en loacutegica borrosa

Bibliografiacutea

[1] European Space Agency (ESA) httpsearthesain

[2] PURSE Portal-based User Registration Service httpwwwGrids-centerorgsolutionspurse (Retrieved October 2012)

[3] Sakai project Web Page httpwwwsakaiprojectorg (Retrieved October 2012)

[4] The Apache Velocity Project httpvelocityapacheorg (Retrieved October 2012)

[5] Tupelo Web Page httptupeloprojectncsauiucedu (Retrieved October 2012)

[6] Xen Web page httpwwwxenorg (Retrieved October 2012)

[7] ISO 191152003 Geographic information - Metadata Technical report InternationalOrganization for Standardization 2003

[8] The Grid 2 Second Edition Blueprint for a New Computing Infrastructure MorganKaufmann 2 edition December 2003

[9] Ahmar Abbas Grid computing a practical guide to technology and applications Char-les River Media 2004

[10] A Abdelnur and S Hepper JSR 168 Portlet Specification Tech-nical report Sun Microsystems October 2003 Also available onlinehttpwwwjcporgenjsrdetailid=168 (Retrieved Sept 2012)

[11] International Energy Agency Medium-Term Oil and Gas

Markets IEA Publications 2011 Also available onlinehttpwwwieaorgpublicationsfreepublicationspublicationMTOGM2011_Unsecuredpdf(Retrieved Sept 2012)

134 Bibliografiacutea

[12] Jay Alameda Marcus Christie Geoffrey Fox Joe Futrelle Dennis Gannon MihaelHategan Gopi Kandaswamy Gregor von Laszewski Mehmet A Nacar Marlon Pier-ce Eric Roberts Charles Severance and Mary Thomas The Open Grid ComputingEnvironments collaboration portlets and services for science gateways Concurrency

Computat Pract Exper 19(6)921ndash942 2007

[13] William Allcock John Bresnahan Rajkumar Kettimuthu Michael Link Catalin Dumi-trescu Ioan Raicu and Ian Foster The Globus Striped GridFTP Framework and ServerIn Proceedings of the 2005 ACMIEEE conference on Supercomputing volume 0 of SC

rsquo05 Washington DC USA 2005 IEEE Computer Society

[14] Ethem Alpaydin Introduction to Machine Learning (Adaptive Computation and Ma-chine Learning series) chapter 9 pages 185ndash208 The MIT Press second editionDecember 2009

[15] A Andronico R Barbera A Falzone G Lo Re A Pulvirenti and A Rodolico GE-NIUS a web portal for the grid Nuclear Instruments and Methods in Physics Research

Section A Accelerators Spectrometers Detectors and Associated Equipment 502(2-3)433ndash436 April 2003

[16] A Anjomshoaa F Brisard M Drescher D Fellows A Ly S McGough D Pul-sipher and A Savva ob submission description language (jsdl) specification ver-sion 10 Technical report Open Grid Forum November 2005 Also available onlinehttpwwwogforgdocumentsGFD56pdf (Retrieved October 2012)

[17] Mario Antonioletti Malcolm Atkinson Rob Baxter Andrew Borley Neil PChue Hong Brian Collins Neil Hardman Alastair C Hume Alan Knox Mike Jack-son Amy Krause Simon Laws James Magowan Norman W Paton Dave PearsonTom Sugden Paul Watson and Martin Westhead The design and implementation ofGrid database services in OGSA-DAI Concurrency Computat Pract Exper 17(2-4)357ndash376 2005

[18] C F Balseiro P Carracedo B Goacutemez P C Leitatildeo P Montero L Naranjo E Pena-bad and V Peacuterez-Muntildeuzuri Tracking the Prestige oil spill An operational experiencein simulation at MeteoGalicia Weather 58(12)452ndash458 2003

[19] R Barbera A Falzone and A Rodolico The genius grid portal In Computing in

High Energy and Nuclear Physics volume 24 page 28 2003

Bibliografiacutea 135

[20] M J Behrenfeld and P G Falkowski A consumerrsquos guide to phytoplankton primaryproductivity models Limnology and Oceanography 1997

[21] G Benelli and A Garzelli Oil-spills detection in SAR images by fractal dimensionestimation In Geoscience and Remote Sensing Symposium 1999 IGARSS amp03999

Proceedings IEEE 1999 International volume 1 pages 218ndash220 vol1 IEEE 1999

[22] Fran Berman Geoffrey Fox and Tony Hey The Grid Past Present Future In Grid

Computing pages 9ndash50 John Wiley amp Sons Ltd 2003

[23] D Bernholdt S Bharathi D Brown K Chanchio M Chen A Chervenak L Cinqui-ni B Drach I Foster P Fox and Others The earth system grid Supporting the nextgeneration of climate modeling research Proceedings of the IEEE 93(3) 2005

[24] Leo Breiman J H Friedman R A Olshen and C J Stone Classification and Re-

gression Trees Wadsworth 1984

[25] Camilla Brekke and Anne H S Solberg Oil spill detection by satellite remote sensingRemote Sensing of Environment 95(1)1ndash13 March 2005

[26] Camilla Brekke and Anne H S Solberg Classifiers and Confidence Estimation for OilSpill Detection in ENVISAT ASAR Images IEEE Geoscience and Remote Sensing

Letters 5(1)65ndash69 January 2008

[27] D Chadwick A Otenko and E Ball Role-based access control with X509 attributecertificates Internet Computing IEEE 7(2)62ndash69 March 2003

[28] David W Chadwick and Alexander Otenko The PERMIS X509 role based privile-ge management infrastructure Future Generation Computer Systems 19(2)277ndash289February 2003

[29] C F Chen K S Chen L Y Chang and A J Chen The use of satellite imagery formonitoring coastal environment in Taiwan In Geoscience and Remote Sensing 1997

IGARSS rsquo97 Remote Sensing - A Scientific Vision for Sustainable Development 1997

IEEE International volume 3 pages 1424ndash1426 vol3 IEEE August 1997

[30] R Chinnici J J Moreau A Ryman and S Weerawarana Web Services DescriptionLanguage (WSDL) Version 20 Part 1 Core Language Technical report W3C June2007

136 Bibliografiacutea

[31] E Chuvieco Radar In Teledeteccioacuten ambiental chapter 3 pages 108ndash116 ArielPublications 1 edition May 2002

[32] P Cornillon J Gallagher and T Sgouros OPeNDAP Accessing data in a distributedheterogeneous environment Data Science Journal 2164ndash174 2003

[33] Carmen Cotelo Andreacutes Goacutemez J Ignacio Loacutepez David Mera Joseacute M Cotos J Peacute-rez Marrero and Constantino Vaacutezquez Retelab A geospatial grid web laboratoryfor the oceanographic research community Future Generation Computer Systems26(8)1157ndash1164 October 2010

[34] Joseacute M Cotos and Alejandro Tobar Teledeteccioacuten de la marea negra del petroleroPrestige In Teledeteccioacuten de pesqueriacuteas y prediccioacuten de mareas toacutexicas chapter 9pages 177ndash182 Netbiblo first edition 2002

[35] L da Fontoura Costa and R M Cesar Shape analysis and classification theory and

practice CRC 2001

[36] L Dagum and R Menon OpenMP an industry standard API for shared-memoryprogramming IEEE Computational Science and Engineering 5(1)46ndash55 January1998

[37] F Del Frate A Petrocchi J Lichtenegger and G Calabresi Neural networks for oilspill detection using ERS-SAR data IEEE Transactions on Geoscience and Remote

Sensing 38(5)2282ndash2287 September 2000

[38] Dietmar Erwin and David Snelling UNICORE A Grid Computing Environment InRizos Sakellariou John Gurd Len Freeman and John Keane editors Euro-Par 2001

Parallel Processing volume 2150 of Lecture Notes in Computer Science pages 825ndash834 Springer Berlin Heidelberg 2001

[39] Esa Oil pollution monitoring in ERS and its applications Marine Technical report1998

[40] H A Espedal Satellite SAR oil spill detection using wind history information Inter-

national Journal of Remote Sensing 20(1)49ndash65 January 1999

Bibliografiacutea 137

[41] B Fiscella A Giancaspro F Nirchio P Pavese and P Trivero Oil spill detectionusing marine SAR images International Journal of Remote Sensing 21(18)3561ndash3566 2000

[42] FAO Fisheries and Aquaculture Dept The state of world fisheries and aquaculture

2012 Food and Agriculture Organization of the United Nations 2012

[43] J Fortuny-Guasch Improved Oil Slick Detection and Classification with PolarimetricSAR In Applications of SAR Polarimetry and Polarimetric Interferometry volume 529of ESA Special Publication April 2003

[44] I Foster J Geisler B Nickless W Smith and S Tuecke Software infrastructure forthe I-WAY high-performance distributed computing experiment In High Performance

Distributed Computing 1996 Proceedings of 5th IEEE International Symposium onIEEE 1996

[45] I Foster and C Kesselman Globus A metacomputing infrastructure toolkit Interna-

tional Journal of High Performance Computing Applications 11(2) 1997

[46] I Foster and C Kesselman Computational Grids In The grid blueprint for a new

computing infrastructure chapter 2 pages 15ndash53 Morgan Kaufmann 1998

[47] I Foster and C Kesselman The Globus project A status report Future Generation

Computer Systems 15(5) 1999

[48] I Foster Y Zhao I Raicu and S Lu Cloud computing and grid computing 360-degree compared In Grid Computing Environments Workshop 2008 GCErsquo08 Ieee2008

[49] Ian Foster What is the Grid - a three point checklist GRIDtoday 1(6) July 2002

[50] Ian Foster and Carl Kesselman Concepts and Architecture In The Grid 2 Second Edi-

tion Blueprint for a New Computing Infrastructure chapter 4 pages 37ndash63 MorganKaufmann 2 edition December 2003

[51] Ian Foster Carl Kesselman Jeffrey M Nick and Steven Tuecke The physiology of thegrid In Grid Computing Making The Global Infrastructure a Reality pages 217ndash249John Wiley amp Sons Ltd 2003

138 Bibliografiacutea

[52] Ian Foster Carl Kesselman and Steven Tuecke The Anatomy of the Grid EnablingScalable Virtual Organizations Int J High Perform Comput Appl 15(3)200ndash222August 2001

[53] Ian Foster Veronika Nefedova Mehran Ahsant Rachana Ananthakrishnan Lee Li-ming Ravi Madduri Olle Mulmo Laura Pearlman and Frank Siebenlist Streamli-ning Grid Operations Definition and Deployment of a Portal-based User RegistrationService Journal of Grid Computing 4(2)135ndash144 June 2006

[54] O Garcia-Pineda B Zimmer M Howard W Pichel Li XiaoFeng and I R MacDo-nald Using SAR images to delineate ocean oil slicks with a texture-classifying neuralnetwork algorithm (TCNNA) Canadian Journal of Remote Sensing 35(5)411ndash4212009

[55] A Goacutemez Remote Conputational Tools for Radiotherapy Cancer Treatment PlanningIn K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud compu-

ting a business perspective on technology and applications chapter 9 pages 147ndash158Springer Publishing Company Incorporated 2009

[56] W W Gregg M E Conkright P Ginoux J E OrsquoReilly and N W Casey Oceanprimary production and climate Global decadal changes Geophys Res Lett30(15)1809 2003

[57] Andrew S Grimshaw Wm and CORPORATE The Legion Team The Legion visionof a worldwide virtual computer Commun ACM 40(1)39ndash45 January 1997

[58] Hecht-Nielsen Theory of the backpropagation neural network In International Joint

Conference on Neural Networks pages 593ndash605 vol1 IEEE June 1989

[59] S Hepper Comparing the JSR 168 Java Portlet Specification

with the IBM Portlet API December 2003 Also available onlinehttpwwwibmcomdeveloperworkswebspherelibrarytecharticles0312_hepperhepperhtml(Retrieved Sept 2012)

[60] H Hersbach A Stoffelen and S de Haan An improved C-band scatterome-ter ocean geophysical model function CMOD5 Journal of Geophysical Research112(C3)C03006 March 2007

Bibliografiacutea 139

[61] S Hesmer P Fischer T Buckner and I Schuster Portlet de-

velopment guide 1 edition April 2002 Also available onlineftpftpsoftwareibmcomsoftwarewebserverportalV41PortletDevelopmentGuidepdf(Retrieved Sept 2012)

[62] J Horstmann and W Koch Measurement of ocean surface winds using synthetic aper-ture radars Oceanic Engineering IEEE Journal of 30(3)508ndash515 July 2005

[63] H A Hovland J A Johannessen and G Digranes Slick detection in SAR images InProceedings of IGARSS rsquo94 - 1994 IEEE International Geoscience and Remote Sensing

Symposium pages 2038ndash2040 IEEE 1994

[64] Eduardo Huedo Ruben S Montero and Ignacio M Llorente A framework for adap-tive execution in grids Softw Pract Exper 34(7)631ndash651 2004

[65] Eduardo Huedo Rubeacuten S Montero and Ignacio M Llorente A modular meta-scheduling architecture for interfacing with pre-WS and WS Grid resource manage-ment services Future Generation Computer Systems 23(2)252ndash261 February 2007

[66] C Jackson and J Apel editors Synthetic Aperture Radar Marine Userrsquos Manual USDepartement of Commerce National Oceanic and Atmospheric Administration 1stedition April 2005 Also available online httpwwwsarusersmanualcom (RetrievedMay 2012)

[67] I T Jolliffe and MyiLibrary Principal component analysis volume 2 Wiley OnlineLibrary 2002

[68] Maozhen Li and Mark Baker Applications In The grid core technologies pages377ndash400 Wiley May 2005

[69] Maozhen Li and Mark Baker Grid Portals In The grid core technologies pages335ndash376 Wiley May 2005

[70] Maozhen Li and Mark Baker Grid Security In The grid core technologies pages124ndash152 Wiley May 2005

[71] R F Loacutepez and J M F Fernaacutendez Las Redes Neuronales Artificiales Netbiblo Sl2008

140 Bibliografiacutea

[72] Maged Marghany RADARSAT for oil spill trajectory model Environmental Mode-

lling and Software 19(5)473ndash483 2004

[73] J M M Mariacuten and S B Caacutemara Evolucioacuten de las tecnologiacuteas Grid de la informacioacutenIn Las tecnologiacuteas Grid de la informacioacuten como nueva herramienta empresarial pages87ndash111 Septem 2008

[74] S W McCandless and C Jackson Principles of Synthetic Aperture Radarchapter 1 pages 1ndash23 US Department of Commerce National Oceanic andAtmospheric Administration 1st edition April 2005 Also available onlinehttpwwwsarusersmanualcom (Retrieved May 2012)

[75] David Mera Joseacute Cotos Joaquiacuten Trinanes and Carmen Cotelo An Integrated Solutionto Store Manage and Work with Datasets Focused on Metadata in the Retelab GridProject In Sigeru Omatu Miguel Rocha Joseacute Bravo Florentino Fernaacutendez EmilioCorchado Andreacutes Bustillo and Juan Corchado editors Distributed Computing Arti-

ficial Intelligence Bioinformatics Soft Computing and Ambient Assisted Living volu-me 5518 of Lecture Notes in Computer Science chapter 71 pages 491ndash494 SpringerBerlin Heidelberg Berlin Heidelberg 2009

[76] David Mera Joseacute Cotos Joseacute Viqueira and Joseacute Varela A User Management Web Sys-tem Based on Portlets for a Grid Environment Integrating Shibboleth PURSe PERMISand Gridsphere In Juan Corchado Sara Rodriacuteguez James Llinas and Joseacute Molinaeditors International Symposium on Distributed Computing and Artificial Intelligence

2008 (DCAI 2008) volume 50 of Advances in Soft Computing chapter 3 pages 19ndash23Springer Berlin Heidelberg Berlin Heidelberg 2009

[77] David Mera Joseacute M Cotos Pedro Saco and Andreacutes Goacutemez An integrated Solutionto the Security User Access in the RETELAB Grid Project using a Web System basedon Portlets and a RBAC Model by means of User Attribute Certificates and PKI InFernando Silva Gaspar Barreira and Ligia Ribeiro editors 2nd Iberian Grid Infras-

tructure Conference Proceedings pages 296ndash307 2008

[78] David Mera Joseacute M Cotos Joseacute Varela Carmen Cotelo and J Ignacio Loacutepez AnIntegration of Several Technologies in the Architecture Definition and Deployment ofa Geospatial Grid Web Portal In Hamid R Arabnia and George A Gravvanis editors

Bibliografiacutea 141

Proceedings of the 2009 International Conference on Grid Computing and Applica-

tions pages 86ndash91 CSREA Press 2009

[79] David Mera Joseacute M Cotos Joseacute Varela-Pet and Oscar Garcia-Pineda Adaptive thres-holding algorithm based on SAR images and wind data to segment oil spills along thenorthwest coast of the Iberian Peninsula Marine Pollution Bulletin 64(10)2090ndash2096October 2012

[80] David Mera Joseacute M Cotos Joseacute R R Viqueira and Carmen Cotelo Software Inte-gration in the Development of a Spatial Data Grid Prototype based on Metadata InVicente H Garciacutea Gaspar Barreira Ignacio B Espert and Jorge Gomes editors 3rd

Iberian Grid Infrastructure Conference Proceedings pages 305ndash314 2009

[81] M Migliaccio M Tranfaglia and S A Ermakov A physical approach for the obser-vation of oil spills in SAR images Oceanic Engineering IEEE Journal of 30(3)496ndash507 July 2005

[82] Daniel Minoli A networking approach to grid computing Wiley 2005

[83] R L Morgan Scott Cantor Steven Carmody Walter Hoehn and Ken KlingensteinFederated Security The Shibboleth Approach EDUCAUSE Quarterly 27(4)12ndash172004

[84] D Murray J McWhirter S Wier and S Emmerson The Integrated Data Viewermdashaweb-enabled application for scientific analysis and visualization In 19th Intl Conf on

IIPS for Meteorology Oceanography and Hydrology 2003

[85] J Novotny The grid portal development kit Concurrency and Computation Practice

and experience 14(13-15) 2002

[86] J Novotny S Tuecke and V Welch An online credential repository for the GridMyProxy In High Performance Distributed Computing 2001 Proceedings 10th IEEE

International Symposium on pages 104ndash111 IEEE 2001

[87] Jason Novotny Michael Russell and Oliver Wehrens GridSphere a portal frameworkfor building collaborations Concurrency Computat Pract Exper 16(5)503ndash5132004

142 Bibliografiacutea

[88] M A Oliver and R Webster Kriging a method of interpolation for geographical infor-mation systems International journal of geographical information systems 4(3)313ndash332 July 1990

[89] R B Olsen and T Wahl The ship detection capability of ENVISATrsquos ASAR InIGARSS 2003 2003 IEEE International Geoscience and Remote Sensing Symposium

Proceedings (IEEE Cat No03CH37477) pages 3108ndash3110 IEEE 2003

[90] J M Torres Palenzuela L Gonzaacutelez Vilas and M Sacau Cuadrado Use of ASARimages to study the evolution of the Prestige oil spill off the Galician coast Internatio-

nal Journal of Remote Sensing 27(10)1931ndash1950 2006

[91] Joon S Park Ravi Sandhu and Gail J Ahn Role-based access control on the webACM Trans Inf Syst Secur 4(1)37ndash71 February 2001

[92] P Pavlakis D Tarchi and A Sieber On the monitoring of illicit vessel dischargesusing spaceborne sar remote sensing - a reconnaissance study in the Mediterraneansea Annals of Telecommunications 56(11)700ndash718 November 2001

[93] R Rew and G Davis NetCDF an interface for scientific data access Computer

Graphics and Applications IEEE 10(4)76ndash82 July 1990

[94] M Romberg The UNICORE architecture seamless access to distributed resources InHigh Performance Distributed Computing 1999 Proceedings The Eighth Internatio-

nal Symposium on pages 287ndash293 IEEE 1999

[95] Betlem Rosich and Peter Meadows Absolute Calibration of ASAR Level 1 ProductsGenerated with PF-ASAR Technical Report Iss 1 rev 5 ESA October 2004

[96] D E Rumelhart G E Hintont and R J Williams Learning representations by back-propagating errors Nature 323(6088) 1986

[97] M Russell J Novotny and O Wehrens Gridspherersquos Grid Portlets Computational

Methods In Science and Technology 12(1) 2006

[98] Alexander F Shchepetkin and James C McWilliams The regional oceanic modelingsystem (ROMS) a split-explicit free-surface topography-following-coordinate ocea-nic model Ocean Modelling 9(4)347ndash404 January 2005

Bibliografiacutea 143

[99] J Shiers The worldwide LHC computing grid (worldwide LCG) Computer physics

communications 177(1) 2007

[100] G Singh S Bharathi A Chervenak E Deelman C Kesselman M Manohar S Patiland L Pearlman A Metadata Catalog Service for Data Intensive Applications InSupercomputing 2003 ACMIEEE Conference page 33 IEEE November 2003

[101] J Sirott J Callahan and S Hankin Inside the live access server In 17th Intl Conferen-

ce on Interactive Information and Processing Systems for Meteorology Oceanography

and Hydrology AMS 2001

[102] Chris Smith and Ian Lumb The Open Grid Services Architecture In Grid computing

a practical guide to technology and applications chapter 9 pages 159ndash187 CharlesRiver Media 2004

[103] A H S Solberg G Storvik R Solberg and E Volden Automatic detection of oilspills in ERS SAR images IEEE Transactions on Geoscience and Remote Sensing37(4)1916ndash1924 July 1999

[104] Anne H S Solberg Camilla Brekke and Per O Husoy Oil Spill Detection in Radarsatand Envisat SAR Images IEEE Transactions on Geoscience and Remote Sensing45(3)746ndash755 March 2007

[105] K Stanoevska-Slabeva and T Wozniak Cloud Basics- An introduction to Cloud Com-puting In K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud

computing a business perspective on technology and applications Springer PublishingCompany Incorporated 2009

[106] Kevin Swingler Applying Neural Networks A Practical Guide chapter 323 pages53ndash56 Morgan Kaufmann papdsk edition May 1996

[107] M Thomas S Mock M Dahan K Mueller D Sutton and J R Boisseau TheGridPort toolkit a system for building Grid portals In High Performance Distributed

Computing 2001 Proceedings 10th IEEE International Symposium on pages 216ndash227 IEEE 2001

[108] K Topouzelis V Karathanassi P Pavlakis and D Rokos Detection and discrimi-nation between oil spills and look-alike phenomena through neural networks ISPRS

Journal of Photogrammetry and Remote Sensing 62(4)264ndash270 September 2007

144 Bibliografiacutea

[109] K Topouzelis D Stathakis and V Karathanassi Investigation of genetic algorithmscontribution to feature selection for oil spill detection Int J Remote Sens 30(3)611ndash625 January 2009

[110] Konstantinos Topouzelis Oil Spill Detection by SAR Images Dark Formation De-tection Feature Extraction and Classification Algorithms Sensors 8(10)6642ndash6659October 2008

[111] Konstantinos Topouzelis and Apostolos Psyllos Oil spill feature selection and classifi-cation using decision tree forest on SAR image data ISPRS Journal of Photogrammetry

and Remote Sensing 68135ndash143 March 2012

[112] P Troumlger R Brobst D Gruber M Mamonski and D Templeton Distributed Resour-ce Management application API Version 2 (DRMAA) Technical report Open Grid Fo-rum January 2012 Also available online httpwwwogforgdocumentsGFD194pdf(Retrieved October 2012)

[113] G Von Laszewski I Foster J Gawor and P Lane A Java commodity grid kit Con-

currency and Computation practice and experience 13(8-9) 2001

[114] Ping Wang Y Tony Song Yi Chao and Hongchun Zhang Parallel Computation ofthe Regional Ocean Modeling System International Journal of High Performance

Computing Applications 19(4)375ndash385 2005

[115] Barry Wilkinson System Infrastructure II Grid Computing Services In Grid compu-

ting techniques and applications pages 201ndash222 CRC Press 2010

[116] Chongjie Zhang Ian Kelley and Gabrielle Allen Grid portal solutions a comparisonof GridPortlets and OGCE Concurrency Computat Pract Exper 19(12)1739ndash17482007

Anexos

145

ANEXO A

COacuteDIGO FUENTE

A1 Procedimiento para el registro de una JCE

Un error no corregido del JCE Cryptix impide su uso en el caso de que alguacuten otro JCE searegistrado despueacutes de su utilizacioacuten El orden de registro de los proveedores funciona comouna lista Last In First Out (LIFO) por lo que se desarrolloacute un procedimiento para cambiar elorden de la lista en caso de que eacuteste no fuese el adecuado Una explicacioacuten maacutes detallada delproblema se presenta en la Seccioacuten 321

Cambiando Proveedores

RetelabSigningUtility signingUtility = new RetelabSigningUtility()

if (javasecuritySecuritygetProviders()lengthgt1 ampamp javasecuritySecurity

getProviders()[0]getName()equals(new String(IAIK)))

javasecurityProvider provider_iaik=javasecuritySecuritygetProvider(IAIK)

javasecuritySecurityremoveProvider(IAIK)

javasecuritySecurityinsertProviderAt(provider_iaik javasecuritySecurity

getProviders()length)

Coacutedigo A1 Modificacioacuten del orden de los proveedores JCE para evitar el bug del proveedor Cryptix

148 Anexo A Coacutedigo Fuente

A2 Gestioacuten de certificados y roles desde la interfaz de Grid-Sphere

GridSphere gestiona la autorizacioacuten de los usuarios a los portlets a traveacutes de roles mien-tras que la integracioacuten de PERMIS en RETELAB permitioacute hacer lo propio sobre los recursosdel Grid En el caso del PERMIS los roles son gestionados a traveacutes de ACs por lo que pa-ra simplificar la administracioacuten se implementaron varias modificaciones sobre el coacutedigo deGridSphere para que eacuteste pudiese gestionar los roles de los usuarios viacutea ACs y asiacute ser admi-nistrados desde un punto uacutenico Una explicacioacuten maacutes detallada del desarrollo se presenta enla Seccioacuten 321

private void saveUserRole(FormEvent event User user)

logdebug(Entering saveUserRole())

PortletRequest req = eventgetPortletRequest()

Get selected role

PortletRole selectedRole = getSelectedUserRole(event)

reqsetAttribute(role selectedRole)

If super role was chosen

if (selectedRoleequals(PortletRoleSUPER))

logdebug(Granting super role)

Grant super role

thisaclManagerServicegrantSuperRole(user)

else

Revoke super role (in case they had it)

thisaclManagerServicerevokeSuperRole(user)

Create appropriate access request

Set groups = portalConfigServicegetPortalConfigSettings()getDefaultGroups

()

Iterator it = groupsiterator()

GroupRequest groupRequest

while (ithasNext())

PortletGroup group = (PortletGroup) itnext()

GroupEntry ge = aclManagerServicegetGroupEntry(user group)

if (ge = null)

groupRequest = thisaclManagerServiceeditGroupEntry(ge)

else

groupRequest = thisaclManagerServicecreateGroupEntry()

groupRequestsetUser(user)

groupRequestsetRole(selectedRole)

groupRequestsetGroup(group)

logdebug(Granting + selectedRole + role in gridsphere)

Submit changes

A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 149

thisaclManagerServicesaveGroupEntry(groupRequest)

Start Retelab Code

String path= reqgetRealPath()

logdebug(Save Role PATH +path)

String ldapBaseDN=

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

LdapConnector ldap_conector= new LdapConnector()

try

logdebug(Fichero de propiedades +path+FileseparatorChar+WEB-INF+File

separatorChar+permis_ldapproperties)

FileInputStream file_properties =new FileInputStream(path+FileseparatorChar

+WEB-INF+FileseparatorChar+permis_ldapproperties)

logdebug(Cargando Fichero de Propiedades)

cargamos las propiedades del LDAP y de los certificados de atributos de

ficheros de propiedades

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12)

int year=new Integer(retelab_propertiesgetProperty(validityperiodbefore

year))intValue()

int month=new Integer(retelab_propertiesgetProperty(validityperiodbefore

month))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiodbefore

day))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiodafteryear

))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiodafter

month))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiodafterday))

intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

port=new Integer(retelab_propertiesgetProperty(ldapport))intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

150 Anexo A Coacutedigo Fuente

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(selectedRolegetName())

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

Eliminamos el certificado anterior

ArrayList atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttribute))

int tipo_modificacion=10=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

Creamos el nuevo certificado

atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttributecertificate

))

tipo_modificacion=00=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no encontrado

+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

End Retelab Code

logdebug(Exiting saveUserRole())

Coacutedigo A2 Integracioacuten del sistema RBAC con GridSphere Ejemplo de alta de usuarios

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS

A continuacioacuten se muestra un ejemplo de coacutemo utilizar PERMIS para gestionar a traveacutesde los roles la autorizacioacuten de un usuario para ejecutar una tarea en un recurso del Gridconcreto

ltsecurityConfig xmlns=httpwwwglobusorggt

ltmethod name=createManagedJobgt

ltauth-methodgt

ltGSITransportgt

ltGSISecureMessagegt

ltGSISecureConversationgt

ltauth-methodgt

ltmethodgt

ltauthz value=permisAuthzissrggt4PermisPDP gridmapgt

ltreject-limited-proxy value=truegt

ltsecurityConfiggt

Coacutedigo A3 Modificacioacuten de la poliacutetica de autorizacioacuten del meacutetodo createManagedJob para integrar unsistema RBAC

A4 Integracioacuten de Shibboleth en el sistema

RETELAB cuenta con un sistema de autenticacioacuten SSO soportado por el software Shibbo-leth El acceso al laboratorio de usuarios externos y sin registrar trae consigo dificultades paragestionar su autorizacioacuten ya que RETELAB se basa en DCs y ACs para administrar el usode los recursos Fue necesario desarrollar procedimientos para generar certificados tempora-les para los usuarios de Shibboleth A continuacioacuten se muestran los meacutetodos implementadospara la creacioacuten de los DCs (Coacutedigo A4) y de los ACs (Coacutedigo A5) para los usuarios deShibboleth

private void createCertificate4Shibboleth(String nameString mailString password)

Variables Autoridad Certificadora

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

152 Anexo A Coacutedigo Fuente

String ca_dir=new String()

String ca_hash=new String()

variables MyProxy

String binDir_=new String()

String hostName_=new String()

int portNumber_=0

String dn_=new String()

String dir_=new String()

int expirationLeadTime_=0

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

try

FileInputStream file_properties =new FileInputStream(path+

WEB-INF+FileseparatorChar+permis_ldapproperties)

Cargando Fichero de Propiedades de la CA y MyProxy

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

simpleCA Properties

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

MyProxy Properties

binDir_=retelab_propertiesgetProperty(myProxyBin)

hostName_=retelab_propertiesgetProperty(myProxyHost)

portNumber_=IntegerparseInt(retelab_propertiesgetProperty(

myProxyPort))

dn_=retelab_propertiesgetProperty(myProxyDn)

dir_=retelab_propertiesgetProperty(myProxyDir)

expirationLeadTime_=IntegerparseInt(retelab_properties

getProperty(expirationLeadTime))

Opciones generales de la CA

CertificateGenerationOptions cert_options= new

CertificateGenerationOptions(bin_dirtmp_dirca_dir

ca_hash)

UserCertificateGenerationinitialize(cert_options)

String certDir=null

A4 Integracioacuten de Shibboleth en el sistema 153

certDir = UserCertificateGenerationgenerate(namemail

password)

logdebug(-----gtCertificado Generadolt-------)

Use CA to sign the certs

UserCertificateGenerationsignCerts(certDir password_ca)

logdebug(-----gtCertificado Firmadolt-------)

MyProxy options

MyProxyOptions myProxyOpts= new MyProxyOptions(binDir_

hostName_portNumber_dn_ dir_ expirationLeadTime_)

MyProxyManagerinitialize(myProxyOpts)

Cambiar orden de los providers JCE debido al bug de

Cryptix

changeProviders()

Upload creds to MyProxy

MyProxyManagerstoreRemoteCredential(namepasswordtmp_dir+

+name+)

logdebug(-----gtCertificado Subido a MyProxylt-------)

Delete local certificates

RegisterUtildeleteCerts(certDir)

logdebug(-----gtEliminados certificados localeslt-------)

file_properties=null

retelab_properties=null

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(MyProxyAccessException myExc)Systemoutprintln(Error

subiendo las credenciales a MyProxy+myExc)

catch(CertificateGenerationException certExp)Systemoutprintln(

Error creando las credenciales para el usuario+certExp)

catch(Exception e)Systemoutprintln(Excepcion no controlada +e

+ End)

Coacutedigo A4 Meacutetodo para crear y almacenar DCs para los usuarios de Shibboleth

private void createAttributeCertificate4Shibboleth(SportletUser userString role)

String ldapBaseDN=

String defaultUser=null

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

154 Anexo A Coacutedigo Fuente

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

String defaultGridsphereUser=

String pathGridMap=

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

String ca_dir=new String()

String ca_hash=new String()

LdapConnector ldap_conector= new LdapConnector()

generate certificate

try

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

Cargando el fichero de propiedades del LDAP y de los Certificados

de atributos

FileInputStream file_properties =new FileInputStream(path+WEB-INF+

FileseparatorChar+permis_ldapproperties)

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12

)

int year=new Integer(retelab_propertiesgetProperty(validityperiod

beforeyear))intValue()

int month=new Integer(retelab_propertiesgetProperty(validity

periodbeforemonth))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiod

beforeday))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiod

afteryear))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiod

aftermonth))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiod

afterday))intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

A4 Integracioacuten de Shibboleth en el sistema 155

port=new Integer(retelab_propertiesgetProperty(ldapport))

intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

defaultGridsphereUser=retelab_propertiesgetProperty(gridsphere

defaultuser)

defaultUser=retelab_propertiesgetProperty(globusdefaultuser)

pathGridMap=retelab_propertiesgetProperty(globusgridmappath)

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

file_properties=null

retelab_properties=null

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

LDAPAttributeSet attributeSet = new LDAPAttributeSet()

attributeSetadd( new LDAPAttribute(objectclass new String[]top

organizationalPersoninetOrgPersonpmiUser))

attributeSetadd( new LDAPAttribute(cnusergetUserName()))

attributeSetadd( new LDAPAttribute(givennamenew String[]user

getUserName()usergetFullName() ))

attributeSetadd( new LDAPAttribute(sn usergetFamilyName()))

attributeSetadd( new LDAPAttribute(mailusergetEmailAddress()))

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(role)

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

attributeSetadd(new LDAPAttribute( attributeCertificateAttribute

generatormakeCertificate()))

ldap_conectoraddEntry(attributeSet dn)

Creamos un certificado para el usuario y lo subimos a MyProxy

createCertificate4Shibboleth(usergetUserName()usergetEmailAddress

()(String)hsgetAttribute(shibbolethuserpassword))

anhadir usuario al GRIDMAP

String entry=new String()

156 Anexo A Coacutedigo Fuente

entry= convertDnToGridMapEntry(dndefaultUser)

if (entry=)

logdebug(Adding user to Grid-mapFile +entry)

addEntryToFile (pathGridMapentry)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

Coacutedigo A5 Meacutetodo para crear y almacenar ACs para los usuarios Shibboleth

A5 Despliegue del sistema de almacenamiento distribuido

El sistema de almacenamiento de datos de RETELAB se construyoacute utilizando como baseel RLS de GT4 y el MCS La integracioacuten de estos servicios con la interfaz Web no fue inme-diata y fue necesario realizar ciertas modificaciones Tal y como se describe en los detalle deimplementacioacuten de la Seccioacuten 33 la clase GenericserviceFetcher fue modificada para hacerimpliacutecita la clase necesaria para establecer la conexioacuten con el servicio de datos

private String getWSDL(final URL url) throws IOException

Start Retelab

URL url2 = new URL(url(javanetURLStreamHandler)new orgglobusnet

protocolhttpsHandler())

InputStreamReader input = new InputStreamReader(url2openConnection()

getInputStream())

End Retelab

InputStreamReader input = new InputStreamReader(urlopenStream())

StringBuffer buf = new StringBuffer()

char[] charArray = new char[1024]

int readBytes

A5 Despliegue del sistema de almacenamiento distribuido 157

while ((readBytes = inputread(charArray)) gt= 0)

bufappend(charArray 0 readBytes)

String wsdl = buftoString()

return wsdl

Coacutedigo A6 Modificacioacuten de la clase GenericserviceFetcher para permitir la conexioacuten con el servicio demetadatos

La integracioacuten del servicio RLS con la interfaz Web implicoacute cambiar ligeramente el modode autenticar los usuarios del portal En lugar de utilizar el proxy del usuario como un paraacute-metro de un meacutetodo de autenticacioacuten del servicio fue necesario descargarlo de la sesioacuten delportal y almacenarlo local y temporalmente para que el servicio pudiese laquoencontrarloraquo ya queno soportaba el paso por variable

private DataGridWorker conectarWorker( String username) throws orgietfjgss

GSSException

GSSCredential proxy

GlobusCredential globusCred = null

proxy=ProxyManagergetDefaultProxy(username)

if(proxy instanceof orgglobusgsigssapiGlobusGSSCredentialImpl)

globusCred = ((GlobusGSSCredentialImpl)proxy)

getGlobusCredential()

Ruta para almacenar el CD

String proxyfoldername=SystemgetProperty(userhome)+

SystemgetProperty(fileseparator)+propiedades

getProperty(PATHUSERPROXIES)

String proxyfilename=proxyfoldername+SystemgetProperty(

fileseparator)+activeproxy+username

FileOutputStream out =null

File file=null

try

boolean create=true

file=new File(proxyfoldername)

if (fileexists())

create=filemkdir()

158 Anexo A Coacutedigo Fuente

if (create)

file=new File(proxyfilename)

if (fileexists())

create=filecreateNewFile()

if(create)

out = new FileOutputStream(file)

Since Java does not provide an API for setting the permissions of a file the

JGlobus module will attempt to execute the binchmod program

in the background to set the permissions of the given file If that program cannot

be executed for any reason or fails to execute correctly

a proxy file might end up with incorrect file permissions (depending on umask

setting)

Usually a warning will be displayed if that occurs (especially on Windows since bin

chmod is not supported on that platform)

if (orgglobusutilUtilsetFilePermissions

(proxyfilename 600))

Systemerrprintln(Por favor

compruebe que los permisos de

su archivo de proxy son de

solo lectura para el

propietario)

globusCredsave(out)

outclose()

catch(IOException io)ioprintStackTrace()

finally

out=null

file=null

GlobusGSSCredentialImpl gssci = new GlobusGSSCredentialImpl(

globusCredGSSCredentialINITIATE_AND_ACCEPT)

GlobusCredentialsetDefaultCredential(gsscigetGlobusCredential())

Creamos el DataGridWorker Ya dispone todos los datos necesarios

para autenticar al usuario

return new DataGridWorker(propiedadesgetProperty(METADATACATALOG

GRIDSERVICE)username)

Coacutedigo A7 Procedimiento para autenticar a un usuario en el servicio RLS

A5 Despliegue del sistema de almacenamiento distribuido 159

Listado de acroacutenimos

AATSR Radioacutemetro Avanzado de Exploracioacuten Longitudinal 81

AC Certificado de Atributos 39ndash41 43 44 56 124 148 151 156

AI Inteligencia Artificial 13

AIS Sistema Automaacutetico de Identificacioacuten 131

ANN Red Neuronal Artificial 75 98ndash100 103 107 110 111 114 126 131

API Application Programming Interface 24 26ndash28 55 116 128

ASAR Radar de Apertura Sinteacutetica Avanzado 82ndash84

AZTI Centro Tecnoloacutegico del Mar y los Alimentos del Paiacutes Vasco 11

CA Autoridad Certificadora 35 39

CART Aacuterboles de Clasificacioacuten y Regresioacuten 105

CERN Organizacioacuten Europea para la Investigacioacuten Nuclear 28

CESGA Centro de Supercomputacioacuten de Galicia 11 33 34 54 59 125

CLI Interfaz de Liacutenea de Comandos 8 21 55

CoG Java Commodity Grid Kit 24 27

DB Base de Datos 3 5 7 44 46ndash49 52 53 57 75 76 80 85 86 89 91 97 112 113118 119 124 125

162 Listado de acroacutenimos

DC Certificado Digital 29 35ndash44 49 56 124 151 153

DORIS Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite 81

DRMAA Distributed Resource Management Application 55 56

EMSA Agencia Europea de Seguridad Mariacutetima 79 85

ESA Agencia Espacial Europea 65 80 83 85

ESG Earth System Grid 29

ESTF Esquema de Separacioacuten de Traacutefico de Fisterra 77ndash79 85ndash87 89 131

GMES Monitorizacioacuten Global para el Medioambiente y la Seguridad 81

GOMOS Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Estrellas 81

GPDK Grid Portal Development Kit 23

GPIR GridPort Information Repository 27

GSI Security Grid Infrastructure 35ndash37

GT Globus Toolkit 18ndash20 23 24 28 32 34 35 37 41 45ndash49 156

GWSDL Grid Web Service Definition Language 19

HPC Computacioacuten de Alto Rendimiento 11

HTC Computacioacuten de Altas Prestaciones 6 11

IA Aacutengulo de Incidencia 68 69 73 83 84 89 90 92 93 95 125

IaaS Infraestructura como Servicio 128 130

ICCM Instituto Canario de Ciencias del Mar 11 60

IDV Integrated Data Viewer 53 54 57 61 125

IMO Organizacioacuten Internacional Mariacutetima 131

Listado de acroacutenimos 163

JAR ARchivo Java 40 47

JavaWS Java Web Start 30 53

JCE Extensioacuten Criptograacutefica de Java 41 147

JNLP Java Networking Launching Protocol 53

JRE Entorno de Ejecucioacuten de Java 53

JSDL Job Submission Description Language 55 130

JSP Java Server Pages 23 24 28

LAS Live Access Server 52 53

LDAP Lightweight Directory Access Protocol 39ndash41

LFN Nombre Loacutegico de Fichero 45 46 49

LHC Large Hadron Collider 3 28

LIFO Last In First Out 147

LRC Local Replica Catalog 46

LRR Retrorreflector Laacuteser 82

MAMS Meta Access Management System 43 44

MCS Metadata Catalog System 46 48 156

MEC Ministerio de Educacioacuten y Ciencia 10

MERIS Espectroacutemetro de Imaacutegenes de Resolucioacuten Media 81

MIPAS Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva 82

MLP Perceptroacuten Multicapa 100 101 103 104 113ndash115 118

MPI Message Passing Interface 59

MWR Radioacutemetro de Microondas 81 82

164 Listado de acroacutenimos

NetCDF Network Common Data Form 51 54 59

OGCE Open Grid Computing Environments 27 28

OGSA Open Grid Service Architecture 19 20 46

OGSI Open Grid Services Infrastructure 19

OpenMP Open Multiprocessing 59 116

PaaS Plataforma como Servicio 129 130

PCA Anaacutelisis de Componentes Principales 95 126

PDP Policy Decision Point 41 42

PFN Nombre Fiacutesico de Fichero 45 46

PKI Public Key Infrastructure 9 35

PP Produccioacuten Primaria 2 51 60

PURSe Portal-based User Registration Service 29 30 38ndash40 124

RA-2 Altiacutemetro de Radar 81 82

RBAC Control de Acceso Basado en Roles 9 11 37 39 41 124 150 151

RETEMAR Red Espantildeola de Teledeteccioacuten Marina 8 31

RLI Replica Location Index 46

RLS Replica Location Service 45 49 156ndash158

ROI Regioacuten de Intereacutes 73

ROMS Regional Ocean Model System 58 59

SaaS Sofware como Servicio 129

SAR Radar de Apertura Sinteacutetica 12 50 61 68ndash73 77 79 82 84 86 88 89 91 93 109ndash111 113 114 117 118 125 126 131

Listado de acroacutenimos 165

SASEMAR Agencia espantildeola de Salvamento y Seguridad Mariacutetima 79 80 85 114 131

SCIAMACHY Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes para CartografiacuteaAtmosfeacuterica 82

SLAR Radar Lateral Aerotransportado 66

SSO Single-Sign On 43 44 124 151

SVM Maacutequinas de Soporte Vectorial 132

UDC Universidad de la Coruntildea 12

UNICORE Uniform Interface to Computing Resources 18 23

USC Universidad de Santiago de Compostela 11 12 33

VGPM Vertically Generalised Production Model 60

VO Organizacioacuten Virtual 3ndash5 7 17 20 37

WSDL Web Services Description Language 19 48

WSM Wide Swath Mode 76 82 84ndash86 130

WSRF Web Service Resource Framework 19 20

Iacutendice alfabeacutetico

Aacuterbol de decisioacuten 105ndash108 113 114 119126 131

Nodo decisioacuten 105Nodo hoja 105ndash108Poda 107 108

ASAR 82ndash84Autoridad certificadora 35 39

Caracterizacioacuten 12 71 73 94 126Certificado de atributos 39ndash41 43 44 56

124 148 151 156Certificado digital 29 35ndash40 42ndash44 49

56 124 151 153Clasificacioacuten 10 13 71 73ndash75 90 96

111 126Clasificadores probabiliacutesticos 75CMOD5 91 117 118 131CoG 24 27Computacioacuten Cloud 127ndash130Computacioacuten distribuida 1ndash3 17 127 128Contenedor de portlets 24

EMSA 79 85Envisat 68 69 75 76 80ndash86 127 130ESA 65 80 83 85

ESG 29Espectro electromagneacutetico 82 83ESTF 77ndash79 85ndash87 89 131

Filtro de aacuterea 94 110Filtro de mediana 88 89 110Filtro de ruido 87 88 110Filtro de viento 94 110

Genius Grid Portal 28Globus Toolkit 8 18ndash20 22 23 28 30

32 45ndash49 156GPDK 23Grid 3ndash6 9 11 17ndash21 23 24 28ndash30 32

35 36 42 44ndash46 52 54 56 57110 124 130 148 151

Aplicaciones 6 19 27 28Computacioacuten 2 3 5ndash7 9 11 17ndash19

22 23 25 29 32 44 110 123127

Interfaz 21Middleware 8 22 23 124Portal 22ndash25 27ndash30 32 33 37 46

123Primera generacioacuten 22 29

168 Iacutendice alfabeacutetico

Segunda generacioacuten 24Servicios 19 20 25 27 28 41 42Sistema 4ndash6 8 11 19ndash23 27 28

30 33 35 41 54 55 60 123Tecnologiacutea 4 5 17ndash19 28

GridFTP 47GridPort 23 27GridPortlets 27 28GridSphere 25ndash28 30 32 40 41 43 44

124 148 150GridWay 11 55 56 125 130GSI 35ndash37GWSDL 19

I-WAY 17 18IDV 53 54 57 61 125ISO 19115 46 49 124

JCE 41 147

LAS 52 53Legion 18Look-alike 70 71 74ndash76 85 88 90 94

96 117ndash119LRC 46

Maacutescara de tierra 87 88 110 118MCS 46 48 156Metadatos 11 44 46 47 49 50 56 109

124Metaplanificador 11 55 56 124 130MyProxy 29 36 37 39 49

Noise floor veacutease Ruido de fondo

OGCE 27 28

OGSA 19 20 46OGSI 19Organizacioacuten virtual 3ndash5 7 17 20 21 37

P-Grade 30PCA 95 126PERMIS 40ndash42 124 148 151Polarizacioacuten 83ndash85Portlet 13 22 24ndash27 32 38 41ndash43 47

49ndash51 53 55ndash57 59 60 111112 124 148

Portlet Grid 25ndash27Prestige 78 79PURSe 29 38ndash40 124

Radar 65 66 68Radarsat 75 130RBAC 9 11 37 39 41 124 150 151Red neuronal artificial 75 98 99 103 107

110 111 114 119 126 131Backpropagation 99ndash101 103Perceptroacuten multicapa 100 103 104

113 114Resolucioacuten espacial 66 67 130RETELAB 10ndash13 26 27 30 31 33 34

36 38 39 41ndash44 46 49ndash58 6061 80 110 111 124 125 127129 130 148 151 156

Data Grid 44 47 49 50 56ndash58 61112 124

Monitor de tareas 55 112 125RLI 46RLS 45 49 156ndash158Ruido de fondo 83 84 117

Iacutendice alfabeacutetico 169

SAR 12 50 61 68ndash73 77 79 82 84 8688 89 91 93 109ndash111 113 114117 118 125 131

Segmentacioacuten 10 12 71ndash73 75 88 9193 107 110 117 125 126

Sentinazo 12 13 65 71ndash76 78 85 8690 91 94ndash96 99 110 111 114ndash119 126 131

SENTINAZOS 58 60 82 106 110ndash112125 130

Sentinel 80 81 127 131Servicios Web 19Shibboleth 43 44 124 151 153 156SLAR 66SSO 43 44 124 151

Teledeteccioacuten 2 11 31 44

Umbral adaptativo 10 73 89 92 93 110117 125

Umbral simple 73UNICORE 18 23

Vector de caracteriacutesticas 10 73 74 94ndash96 118 126

Caracteriacutesticas de forma 73 94 95Caracteriacutesticas fiacutesicas 73 95Informacioacuten contextual 74 95Texturas 74

Vertidos de hidrocarburo 10 12 60 6265 66 69 71 78 79 82 84 8587ndash89 110 116 123 125 130131

WebSphere 25 26

WSDL 19 48WSM 76 82 84ndash86 130

  • Portada
  • Iacutendice general
  • Iacutendice de figuras
  • Iacutendice de tablas
  • Introduccioacuten
    • Computacioacuten Grid
      • Aplicaciones Grid
        • Motivacioacuten
        • Objetivos
          • Objetivos concretos
            • Estructura de la memoria
              • Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica
                • Evolucioacuten de la Computacioacuten Grid
                  • Estandarizacioacuten de las tecnologiacuteas Grid
                  • Arquitectura de un sistema Grid
                  • Interfaces Grid
                    • Portales Grid primera generacioacuten
                    • Portales Grid segunda generacioacuten
                    • Portales Grid casos de estudio
                        • Proyecto RETELAB
                          • Descripcioacuten del proyecto
                            • Arquitectura general del sistema
                              • Registro y acceso de los usuarios
                                • Autenticacioacuten y autorizacioacuten
                                  • Sistema de almacenamiento distribuido
                                    • Almacenamiento de datos
                                      • Visualizacioacuten de los datos
                                        • Live Access Server
                                        • Integrated Data Viewer
                                          • Gestioacuten y monitorizacioacuten de trabajos
                                            • Integracioacuten con el sistema de almacenamiento distribuido
                                              • Validacioacuten del laboratorio virtual
                                                • ROMS
                                                • Caacutelculo del modelo de produccioacuten primaria
                                                • sentinazos
                                                  • Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacutetica de vertidos de hidrocarburos
                                                    • Estado del arte
                                                    • Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de SAR
                                                      • Descripcioacuten del proyecto
                                                      • Fuentes de datos
                                                        • Sateacutelite envisat
                                                        • Coleccioacuten de datos
                                                          • Preprocesado
                                                            • Calibrado y proyeccioacuten cartograacutefica
                                                            • Maacutescara de tierra
                                                            • Filtro de ruido
                                                              • Segmentacioacuten
                                                                • Establecimiento del umbral adaptativo
                                                                • Aplicacioacuten del umbral adaptativo
                                                                • Filtro de vientos
                                                                • Filtro de aacuterea
                                                                  • Extraccioacuten de caracteriacutesticas
                                                                  • Clasificacioacuten
                                                                    • Redes Neuronales Artificiales
                                                                    • Aacuterboles de decisioacuten
                                                                      • Validacioacuten del sistema de deteccioacuten de vertidos
                                                                        • Desarrollo de un software de escritorio
                                                                        • Integracioacuten en retelab
                                                                            • Resultados
                                                                              • Eficacia
                                                                              • Tiempo de procesamiento
                                                                                • Discusioacuten
                                                                                  • Epiacutelogo
                                                                                    • Resultados y conclusiones
                                                                                    • Trabajo futuro
                                                                                      • Trabajo futuro en el proyecto RETELAB
                                                                                        • Computacioacuten Cloud
                                                                                        • Integracioacuten de la computacioacuten Cloud en retelab
                                                                                          • Evolucioacuten de las aplicaciones desplegadas SENTINAZOS
                                                                                            • Fuentes de datos
                                                                                            • Mejora de los algoritmos
                                                                                                • Bibliografiacutea
                                                                                                • Anexos
                                                                                                • Coacutedigo Fuente
                                                                                                  • Procedimiento para el registro de una JCE
                                                                                                  • Gestioacuten de certificados y roles desde la interfaz de GridSphere
                                                                                                  • Gestioacuten de la ejecucioacuten de las tareas usando PERMIS
                                                                                                  • Integracioacuten de Shibboleth en el sistema
                                                                                                  • Despliegue del sistema de almacenamiento distribuido
                                                                                                    • Listado de acroacutenimos
                                                                                                    • Iacutendice alfabeacutetico
Page 4: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …

Agradecimentos

Parece que fue ayer cuando me embarqueacute en este viaje pero la realidad es que ya hapasado bastante tiempo y sobre todo muchas horas de trabajo Es el momento de echar lavista atraacutes y pensar en todo el apoyo recibido de mis compantildeeros de trabajo amigos familiay organizaciones sin el cual esto nunca hubiese llegado a buen puerto

En primer lugar agradecer al Dr Joseacute Manuel Cotos Yaacutentildeez y al Dr Joseacute Varela Petdirectores del presente trabajo la oportunidad de emprender esta aventura junto a ellos y porla confianza depositada en miacute desde el comienzo Gracias por apoyarme guiarme y dedicarmetantas horas de vuestro tiempo para sacar esto adelante

A mis compantildeeros de trabajo del Instituto de Investigaciones Tecnoloacutegicas con los quehe pasado la mayor parte de este tiempo que me han aconsejado y ayudado siempre que lo henecesitado

A Carmen Cotelo Queijo mi compantildeera de armas en el proyecto de RETELAB por echar-me una mano desinteresada siempre que me ha hecho falta

Al Dr Pablo Garciacutea Rodriacuteguez por sus conocimientos y consejos pero especialmente porsu apoyo y aacutenimos durante todo el trabajo

Al Dr Oacutescar Garciacutea Pineda de la Universidad Estatal de Florida por su tiempo y conoci-mientos e indicarme el camino cuando eacuteste estaba poco claro

A mis amigos por aguantar mis laquorollos frikisraquo por darme siempre aacutenimos y sobre todopor estar siempre ahiacute aunque los tenga abandonados

VIII

A Leticia laquomi vidaraquo por todas las horas que le he robado y que no podreacute devolverle Nosabriacutea como expresar lo importante que has sido Gracias por estar siempre a mi lado y por tuapoyo incondicional Sin ti esto no seriacutea posible

A mi familia y en especial a mis padres por todo el carintildeo y apoyo recibido durante todami vida y por confiar en que yo era capaz de cualquier cosa y animarme siempre a luchar ya esforzarme al maacuteximo en todos los aspectos de la vida Sin vosotros yo no seriacutea quien soyGracias por todo

Y a tantos otros que no he nombrado pero que llevo en la cabeza y en el corazoacuten

iexclGRACIAS A TODOS

IX

Este trabajo no habriacutea sido posible sin el apoyo yo colaboracioacuten de las siguientes institu-ciones

ndash Sociedad de Salvamento y Seguridad Mariacutetima (SASEMAR) concretamente el Cen-tro de Coordinacioacuten de Salvamento de Finisterre que nos facilitoacute los datos sobre losvertidos detectados en la costa gallega durante los uacuteltimos antildeos

ndash Ministerio de Educacioacuten y Ciencia a traveacutes de la financiacioacuten del proyecto laquoLaboratorioVirtual para la Red Nacional de Teledeteccioacuten Oceanograacuteficaraquo con referencia ESP2006-13778-C04

ndash Xunta de Galicia a traveacutes de la financiacioacuten del proyecto laquoAnaacutelise e interpretacioacuten deimaxes de sateacutelite a partires de teacutecnicas de intelixencia artificial aplicacioacuten a contami-nantes no medio marintildeoraquo con referencia PGIDIT08SIN001236PR

ndash Universidad de Santiago de Compostela mediante el laquoPrograma de Contratos Predoc-torales de la Universidad de Santiago de Compostela 2010raquo

Iacutendice general

Iacutendice de figuras XV

Iacutendice de tablas XIX

1 Introduccioacuten 111 Computacioacuten Grid 3

111 Aplicaciones Grid 612 Motivacioacuten 713 Objetivos 8

131 Objetivos concretos 914 Estructura de la memoria 10

I Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica 15

2 Evolucioacuten de la Computacioacuten Grid 1721 Estandarizacioacuten de las tecnologiacuteas Grid 1722 Arquitectura de un sistema Grid 2023 Interfaces Grid 21

231 Portales Grid primera generacioacuten 22232 Portales Grid segunda generacioacuten 24233 Portales Grid casos de estudio 28

3 Proyecto RETELAB 3131 Descripcioacuten del proyecto 31

XII Iacutendice general

311 Arquitectura general del sistema 3232 Registro y acceso de los usuarios 34

321 Autenticacioacuten y autorizacioacuten 3733 Sistema de almacenamiento distribuido 44

331 Almacenamiento de datos 4934 Visualizacioacuten de los datos 52

341 Live Access Server 52342 Integrated Data Viewer 53

35 Gestioacuten y monitorizacioacuten de trabajos 54351 Integracioacuten con el sistema de almacenamiento distribuido 56

36 Validacioacuten del laboratorio virtual 58361 Regional Ocean Model System (ROMS) 58362 Caacutelculo del modelo de produccioacuten primaria 60363 SENTINAZOS 60

II Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacuteticade vertidos de hidrocarburos 63

4 Estado del arte 65

5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de Radar deApertura Sinteacutetica (SAR) 7751 Descripcioacuten del proyecto 7752 Fuentes de datos 80

521 Sateacutelite Envisat 80522 Coleccioacuten de datos 85

53 Preprocesado 86531 Calibrado y proyeccioacuten cartograacutefica 86532 Maacutescara de tierra 87533 Filtro de ruido 88

54 Segmentacioacuten 88541 Establecimiento del umbral adaptativo 89542 Aplicacioacuten del umbral adaptativo 93

Iacutendice general XIII

543 Filtro de vientos 94544 Filtro de aacuterea 94

55 Extraccioacuten de caracteriacutesticas 9456 Clasificacioacuten 96

561 Redes Neuronales Artificiales 98562 Aacuterboles de decisioacuten 105

57 Validacioacuten del sistema de deteccioacuten de vertidos 109571 Desarrollo de un software de escritorio 109572 Integracioacuten en RETELAB 110

6 Resultados 11361 Eficacia 11362 Tiempo de procesamiento 116

7 Discusioacuten 117

Epiacutelogo 123

8 Resultados y conclusiones 123

9 Trabajo futuro 12791 Trabajo futuro en el proyecto RETELAB 127

911 Computacioacuten Cloud 127912 Integracioacuten de la computacioacuten Cloud en RETELAB 129

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 130921 Fuentes de datos 130922 Mejora de los algoritmos 131

Bibliografiacutea 133

Anexos 145

A Coacutedigo Fuente 147A1 Procedimiento para el registro de una Extensioacuten Criptograacutefica de Java (JCE) 147A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 148

XIV Iacutendice general

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151A4 Integracioacuten de Shibboleth en el sistema 151A5 Despliegue del sistema de almacenamiento distribuido 156

Listado de acroacutenimos 161

Iacutendice alfabeacutetico 167

Iacutendice de figuras

11 Ejemplo de un sistema Grid 5

21 Evolucioacuten de las tecnologiacuteas Grid 1822 Arquitectura Grid basada en capas y construida sobre los principios del

modelo de laquoreloj de arenaraquo 2123 Ejemplo de un portal Web desarrollado a traveacutes de portlets 25

31 Arquitectura general del sistema RETELAB 3332 Recursos aportados por el Centro de Supercomputacioacuten de Galicia (CESGA) 3433 Arquitectura del sistema de registro y acceso de usuarios de RETELAB 3834 Esquema simplificado del registro y acceso de usuarios al sistema 3935 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles 4036 Esquema del control de acceso basado en roles de RETELAB 4237 Arquitectura del Data Grid desplegado en RETELAB 4538 Secuencia resumida de acciones para buscar y acceder a los datos almacenados 4739 Diagrama de clases simplificado en el que se presentan las clases utilizadas

para desarrollar las operaciones sobre la Base de Datos (DB) virtual 48310 Portlet para el almacenamiento de datos locales en RETELAB 50311 Portlet para la integracioacuten de datos externos en el sistema 51312 Portlet para el almacenamiento de los resultados generados tras la ejecucioacuten

de un trabajo 52313 Integracioacuten del Live Access Server en RETELAB 53314 Integracioacuten del Integrated Data Viewer (IDV) en RETELAB 54

XVI Iacutendice de figuras

315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten detrabajos en RETELAB 55

316 Integracioacuten del espacio de almacenamiento privado del usuario con el portletde enviacuteo de trabajos 56

317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos 57318 Portlet para la monitorizacioacuten de los trabajos de usuario 58319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten

empleando ROMS 59320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data

Grid y el sistema de visualizacioacuten de IDV 61

41 Oriacutegenes de los vertidos de hidrocarburos 6642 Resolucioacuten espacial de un radar a bordo de un sateacutelite 6743 Antena virtual generada por SAR 6844 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007) 6945 Efecto del viento en la retrodispersioacuten de un pulso SAR 7046 Sistema automaacutetico para la deteccioacuten de sentinazos 7247 Analisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo

durante el antildeo 1999 74

51 Esquema de Separacioacuten de Traacutefico de Fisterra 7852 Imagen SAR del vertido provocado por el accidente del buque petrolero

Prestige (17112002) 7953 Bases de la Agencia espantildeola de Salvamento y Seguridad Mariacutetima

(SASEMAR) en Galicia y recursos asignados a la regioacuten 8054 Espectro electromagneacutetico 8355 Retrodispersioacuten media obtenida de una imagen Radar de Apertura Sinteacutetica

Avanzado (ASAR) Wide Swath Mode (WSM) para vientos de 4 ms 6 ms y10 ms 84

56 Representacioacuten de la densidad de cobertura de la Base de Datos 8557 Aacuterea de estudio y Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF) 8658 DB de imaacutegenes con sentinazos utilizada para el proyecto SENTINAZOS 8659 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten 87510 Maacutescara de tierra utilizada en SENTINAZOS 88

Iacutendice de figuras XVII

511 Ejemplo de uso del filtro de mediana 89512 Piacutexeles muestreados agrupados seguacuten su Aacutengulo de Incidencia (IA) 90513 Elementos de la muestra agrupados por la velocidad del viento 91514 Esquema de acciones realizadas para establecer el umbral adaptativo 92515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para

distintos valores de la velocidad del viento 93516 Componentes principales y porcentaje de varianza explicado 96517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores 97518 Elementos de una neurona artificial 99519 Estructura de una red neuronal Perceptroacuten Multicapa (MLP) 100520 Ejemplo simplificado de una red MLP 101521 Esquema de la neuronas empleadas en la Red Neuronal Artificial (ANN)

desarrollada 103522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP 104523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario 106524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el

proceso de entrenamiento 108525 Aacuterbol de decisioacuten binario podado 108526 Pantalla principal del software de escritorio 109527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de

los paraacutemetros por defecto y un clasificador ANN 111528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en

el laboratorio virtual 112

61 Composicioacuten de dos imaacutegenes SAR y resultados generados por los diferentesclasificadores 114

62 Detalle de los sentinazos detectados por la ANN 115

91 Arquitectura del Cloud relacionada con los servicios que proporciona 129

Iacutendice de tablas

51 Nuacutemero de embarcaciones identificadas en el ESTF 7852 Paraacutemetros orbitales del sateacutelite Envisat 8153 Modos de operacioacuten del sensor ASAR a bordo del Envisat 8354 Coeficientes y puntos de corte para las funciones de umbral adaptativo 9355 Vector de caracteriacutesticas 9556 Componentes principales y porcentaje de varianza explicado 9657 Coeficientes de los componentes principales seleccionados 97

61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten ytest 113

71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia enla clasificacioacuten 118

CAPIacuteTULO 1

INTRODUCCIOacuteN

Las necesidades computacionales de la sociedad actual son cada vez mayores Determi-nadas aacutereas de investigacioacuten como la fiacutesica de altas energiacuteas las ciencias de la Tierra o lameteorologiacutea ven limitado su desarrollo por la necesidad de maacutes y mejores recursos compu-tacionales Aunque el desarrollo tecnoloacutegico es la primera barrera que se encuentran los in-vestigadores tambieacuten lo es el acceso a la propia tecnologiacutea ya que a menudo la tecnologiacuteamaacutes puntera es econoacutemicamente inaccesible o su uso requiere de extensos conocimientos quelimitan su generalizacioacuten

La computacioacuten distribuida surge con el objetivo de permitir la colaboracioacuten y comparti-cioacuten de recursos para reducir costes y maximizar la capacidad de almacenamiento y procesa-miento Su raacutepida evolucioacuten permitioacute a los investigadores resolver problemas complejos quehasta hace poco eran inasumibles y afrontar retos maacutes ambiciosos incluso cuando los mediosde los que disponiacutean eran escasos

La observacioacuten remota de la Tierra es un claro ejemplo en el que las necesidades compu-tacionales avanzan a un ritmo difiacutecil de igualar por el desarrollo tecnoloacutegico Desde que en1957 el Sputnik Sovieacutetico fuese el primer sateacutelite en ser enviado al espacio han sido muchaslas misiones tanto civiles como militares que se han llevado a cabo para observar remotamentela Tierra Antildeo tras antildeo el nuacutemero de misiones espaciales asiacute como el nuacutemero de proyectosde investigacioacuten relacionados con eacutestas se ha ido incrementando y al menos en un futuroa corto y medio plazo la poliacutetica a este respecto seraacute continuista ya que seguacuten un informede Euroconsult Satellite-Based Earth Observation Market Prospects to 2017 se espera quecerca de 200 nuevos sateacutelites esteacuten operativos en el 2017

2 Capiacutetulo 1 Introduccioacuten

Gracias a los avances tecnoloacutegicos las misiones se han vuelto cada vez maacutes sofisticadasy cuentan con instrumentacioacuten maacutes especializada generando un gran volumen de informa-cioacuten sobre nuestro planeta que es necesario almacenar y procesar La observacioacuten remota dela Tierra o teledeteccioacuten se ha convertido en una teacutecnica imprescindible en el seguimiento yestudio de determinados procesos ambientales criacuteticos para nuestro planeta como por ejem-plo el cambio climaacutetico el deshielo o el deterioro de la capa de ozono Del mismo modo lateledeteccioacuten tambieacuten es esencial en el seguimiento de desastres tanto naturales como provo-cados por el hombre como son los incendios los terremotos o los vertidos contaminantes Enparticular la teledeteccioacuten es una herramienta fundamental en el estudio de los oceacuteanos y susfenoacutemenos asociados

Los oceacuteanos cubren cerca de las tres cuartas partes del planeta y albergan al 97 de lasespecies pero a pesar de estas cifras a menudo no somos conscientes de su importancia einfluencia por ejemplo son el pulmoacuten del planeta ya que maacutes de la mitad de la captura mun-dial de CO2 y de la produccioacuten de oxiacutegeno se realizan a traveacutes del mecanismo conocido comoProduccioacuten Primaria (PP) [56] las actividades relacionadas con el mar sustentan al 10-12de la poblacioacuten mundial [42] y nuestra dependencia energeacutetica hacia ellos es incuestionablepuesto que aproximadamente la mitad de la produccioacuten mundial de gas natural y el 30 dela de petroacuteleo se extrae de los yacimientos presentes en el lecho marino [11]

El estudio de los oceacuteanos es una tarea interdisciplinar en el que grupos tan heterogeacuteneoscomo los de los bioacutelogos fiacutesicos meteoroacutelogos oceanoacutegrafos o informaacuteticos deben traba-jar juntos para abordar problemas de naturaleza compleja y obtener los mejores resultadosA menudo dichos grupos se encuentran dispersos y pertenecen a centros diferentes lo quesupone un problema tanto organizativo como de seguridad y en muchos casos este tipo dedificultades puede obstaculizar la buena marcha de los proyectos o directamente imposibi-litarlos Ademaacutes la gran cantidad de datos obtenidos a traveacutes de la observacioacuten remota ynecesarios para la investigacioacuten genera grandes dificultades en cuanto a su almacenamientoprocesamiento y distribucioacuten Los centros necesitan disponer tanto de recursos de compu-tacioacuten de altas prestaciones como de almacenamiento masivo acordes a las necesidades delos proyectos pero esto no siempre es posible

La computacioacuten Grid paradigma de la computacioacuten distribuida se posiciona como la tec-nologiacutea maacutes adecuada para cubrir las demandas tecnoloacutegicas de la investigacioacuten oceanograacuteficay proporcionar un acceso aacutegil y eficiente a los datos almacenados La computacioacuten Grid per-mite desplegar entornos dedicados a compartir recursos entre diferentes centros a traveacutes de la

11 Computacioacuten Grid 3

red y ademaacutes permite administrar grupos virtuales de usuarios que se forman en el marco deun proyecto para maximizar sus posibilidades en torno a objetivos comunes

11 Computacioacuten Grid

Tradicionalmente los grupos y las organizaciones para la investigacioacuten han trabajado deforma local con sus propios recursos (computadores sensores bases de datos etc) y a me-nudo la heterogeneidad de los recursos asiacute como la ausencia en el uso de estaacutendares hadificultado tanto la colaboracioacuten con otros centros como la comparticioacuten de la informacioacutenEste modelo de trabajo queda obsoleto desde el momento en que se afrontan problemas inter-disciplinares interorganizativos y que demandan cantidades ingentes de recursos que ninguacutencentro puede asumir por siacute solo Un ejemplo de ello es el proyecto Large Hadron Collider

(LHC) que genera alrededor de 15 Petabytes de datos cada antildeo [99] los cuales deben ser al-macenados procesados y distribuidos Proyectos de tal envergadura que normalmente englo-ban a multitud de grupos hacen necesario modificar la forma de trabajar y buscar alternativasque permitan compartir recursos para adaptarse a las necesidades de los proyectos

La colaboracioacuten entre grupos interdisciplinares y dispersos geograacuteficamente es una piezaclave en este nuevo modelo de trabajo ya que deja obsoleto el concepto tradicional de orga-nizacioacuten y da paso a las llamadas Organizaciones Virtuales (VOs) donde diferentes grupos seunen durante un periacuteodo de tiempo determinado y comparten sus recursos para acometer unasactividades concretas La comparticioacuten de recursos en VOs debe entenderse en el sentido maacutesgeneral es decir acceso remoto a software Bases de Datos (DBs) sensores computadorasy cualquier otro tipo de medio tanto fiacutesico como loacutegico por lo que se hacen indispensablesmeacutetodos adaptados para su gestioacuten

Durante la deacutecada de los 90 aparece una nueva aproximacioacuten denominada computacioacutenGrid que nace con los objetivos de solucionar las demandas computacionales de la sociedad yde facilitar la adaptacioacuten a los nuevos conceptos organizativos La computacioacuten Grid suponeun nuevo paradigma de computacioacuten distribuida que permite agregar y compartir recursosheterogeacuteneos y geograacuteficamente distribuidos entre diferentes organizaciones

En uno de los primeros esfuerzos por concretar el teacutermino Grid Ian Foster y Carl Kessel-man [46] lo definen como

laquoUna infraestructura hardware y software que proporciona un acceso fiable consistente

generalizado y de bajo coste a capacidades computacionales de alta calidadraquo

4 Capiacutetulo 1 Introduccioacuten

Profundizando en la descripcioacuten tenemos que

ndash Por infraestructura Foster y Kesselman se refieren a un conjunto de recursos hetero-geacuteneos que incluye datos sensores ciclos de computacioacuten etc asiacute como al hardwarenecesario para la interconexioacuten de los recursos y el software utilizado para su monito-rizacioacuten y gestioacuten

ndash El acceso es considerado fiable si proporciona a los usuarios unos niveles de rendimien-to altos predecibles y estables

ndash Por acceso consistente se entiende que se proporcionan servicios a traveacutes de interfa-ces estaacutendar y utilizando paraacutemetros normalizados El uso de estaacutendares beneficia a lageneralizacioacuten del paradigma y al desarrollo de aplicaciones de usuario

ndash Se consideraraacute que el acceso es generalizado si el usuario cuenta con un nuacutecleo deservicios geneacutericos sea cual sea el sistema Grid al que se conecta

ndash El acceso a bajo coste es determinante para su aceptacioacuten ya que su uso deberaacute ser maacutesrentable que el de sus alternativas

A medida que la tecnologiacutea Grid fue evolucionando la definicioacuten anterior fue manifes-taacutendose insuficiente e incluso se dudoacute de la necesidad de este nuevo paradigma por elloFoster et aacutel [52] redefinen el concepto y lo asocian a un problema sin resolver

laquoEl problema real que subyace tras el concepto Grid es la coordinacioacuten de organizaciones

virtuales dinaacutemicas y multiinstitucionales en la resolucioacuten de problemas y la comparticioacuten de

recursosraquo

En la definicioacuten anterior se entiende por una VO un conjunto de personas yo institucionesque se agrupan a traveacutes de una poliacutetica de comparticioacuten de recursos Las VOs pueden variaren gran medida en cuanto a su propoacutesito aacutembito tamantildeo duracioacuten y localizacioacuten

Los autores justifican la necesidad de este nuevo paradigma por no existir hasta ese mo-mento una tecnologiacutea de computacioacuten distribuida que permitiese gestionar recursos compar-tidos basaacutendose en relaciones tan flexibles como las de las VOs con sofisticados controlesde acceso que incluyesen una gestioacuten desde el punto de vista maacutes especiacutefico al maacutes generalcon delegacioacuten de credenciales o que integrase el uso de poliacuteticas tanto locales como globalesy que ademaacutes ofreciera un alto rendimiento calidad de servicio planificacioacuten de las tareasmuacuteltiple asignacioacuten de recursos monitorizacioacuten y bajo coste

11 Computacioacuten Grid 5

La Figura 11 muestra un ejemplo de un sistema Grid y del uso de los recursos compartidospor parte de dos VOs En este ejemplo tres centros ponen a disposicioacuten de la comunidadparte de sus recursos pero gestionados por una poliacutetica de acceso que filtra por la VO a laque pertenecen los usuarios Cada centro estaacute etiquetado con los recursos que comparte y lapoliacutetica de seguridad que se les aplica

Centro B

Centro C

Centro AParticipantes en la VO-Ciclos pueden utilizar potencia computacional siempre y cuando no esteacute en uso por el centro propietario

Participantes en la VO-Aeronaacuteutica pueden acceder a la BD1 y BD2

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW1

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW2 y SW3

Figura 11 Ejemplo baacutesico de un sistema Grid formado por 3 centros que comparten parte de sus recursos con dosVOs (VO-Aeronaacuteutica y VO-Ciclos) Los participantes en la VO-Ciclos aprovechan la potenciacomputacional (ciclos) de los recursos compartidos por los centros lsquoArsquo y lsquoCrsquo Los participantes de laVO-Aeronaacuteutica pueden ejecutar aplicaciones que han sido compartidas por los centros lsquoArsquo y lsquoBrsquo yacceder a las DBs del centro lsquoBrsquo Elaboracioacuten propia a partir de [52]

A medida que las tecnologiacuteas Grid se fueron popularizando el teacutermino Grid se empezoacute aexplotar comercialmente diluyeacutendose su significado y utilizaacutendose como eslogan para captarnuevos clientes Las empresas incluyeron el teacutermino en muchos productos que difiacutecilmentepodiacutean encajar dentro de su definicioacuten En un intento de delimitar el concepto Ian Foster [49]publicoacute una lista con 3 puntos baacutesicos que recogen la esencia del concepto y que en una pu-blicacioacuten posterior junto con Carl Kesselman [8] agrupoacute para proponer una nueva definicioacuten

6 Capiacutetulo 1 Introduccioacuten

laquoUn Grid es un sistema que coordina recursos distribuidos a traveacutes de protocolos e inter-

faces abiertas estaacutendar y de propoacutesito general con el objetivo de proporcionar una calidad

de servicio no trivialraquo

Los elementos clave de la definicioacuten anterior y que formaban la lista de tres puntos baacutesicosse detallan a continuacioacuten

ndash Integracioacuten y gestioacuten de recursos heterogeacuteneos y distribuidos

ndash Uso de protocolos e interfaces estaacutendar abiertos y de propoacutesito general Un sistemaGrid gestiona un entorno formado por recursos heterogeacuteneos por lo que la implemen-tacioacuten de protocolos estaacutendar y libres permitiraacute que cualquier producto o aplicacioacutentanto open-source como comercial pueda interoperar con el resto de componentes delsistema

ndash Garantiacutea de calidad de servicio en cuanto a tiempo de respuesta disponibilidad seguri-dad muacuteltiple asignacioacuten de recursos etc

111 Aplicaciones Grid

En general la computacioacuten Grid se adapta a cualquier aplicacioacuten que por su complejidadno pueda ejecutarse de forma local y que potencialmente posea un alto grado de paraleli-zacioacuten Foster y Kesselman [46] identifican 5 tipos de aplicaciones que pueden obtener elmaacuteximo rendimiento de la computacioacuten Grid pero esperan la incorporacioacuten de otros tipos amedida que la computacioacuten Grid evolucione

ndash Computacioacuten distribuida aplicaciones con problemas de alta complejidad que utilizanla computacioacuten Grid para incorporar potentes recursos computacionales

ndash Computacioacuten de Altas Prestaciones (HTC) se trata de aplicaciones que presentan pro-blemas que requieren la ejecucioacuten de tareas secuenciales con baja interdependencia

ndash Computacioacuten bajo demanda se trata de aplicaciones que utilizariacutean las capacidades dela computacioacuten Grid para satisfacer necesidades puntuales de recursos Son aplicacio-nes dirigidas por una poliacutetica de costes y no de rendimiento

ndash Computacioacuten intensiva de datos este tipo de aplicaciones se centran en sintetizar nuevainformacioacuten a traveacutes del anaacutelisis de grandes cantidades de datos Los datos son divididos

12 Motivacioacuten 7

en segmentos que pueden ser procesados de forma independiente por los diferentesrecursos del sistema Posteriormente se deberaacuten unificar las salidas parciales en unresultado final

ndash Computacioacuten colaborativa aplicaciones centradas en permitir y mejorar las interaccio-nes entre los usuarios a menudo utilizando un espacio virtual comuacuten y compartiendorecursos computacionales

La computacioacuten Grid aporta una serie de beneficios claros para los centros de investiga-cioacuten que tambieacuten pueden trasladarse a la empresa privada [82] como por ejemplo

ndash Permite compartir recursos heterogeacuteneos a traveacutes de VOs (DBs ciclos de computacioacutensoftware etc)

ndash Provee un acceso transparente a recursos remotos

ndash Reduce el nuacutemero de servidores necesarios en las organizaciones

ndash Permite agregar recursos bajo demanda Ante una eventual emergencia su flexibilidadpermitiriacutea alquilar y agregar recursos externos por un tiempo limitado

ndash Optimiza el uso de recursos organizativos compartieacutendolos cuando esteacuten infrautiliza-dos

ndash Reduce el tiempo de ejecucioacuten de aplicaciones complejas

ndash Provee tolerancia a fallos

ndash Permite la virtualizacioacuten de centros de datos

ndash Permite balancear la carga entre los diferentes recursos

12 Motivacioacuten

Como se ha visto en los apartados anteriores el estudio de los oceacuteanos es de vital im-portancia y aglutina disciplinas con poca o ninguna relacioacuten En el pasado soacutelo los grandescentros de investigacioacuten podiacutean contar con equipos multidisciplinares y recursos locales sufi-cientes para afrontar cierto tipo de proyectos La computacioacuten Grid facilitoacute la colaboracioacuten yla comparticioacuten de recursos de altas prestaciones entre centros maacutes modestos

8 Capiacutetulo 1 Introduccioacuten

Desde el punto de vista de las tecnologiacuteas a menudo los usuarios finales son reacios a uti-lizar herramientas o sistemas software que a pesar de ser adecuados para su trabajo presentenuna interfaz de usuario complicada o simplemente diferente a lo que estaacuten acostumbrados

Los middleware Grid como por ejemplo Globus permiten desplegar sistema distribuidosGrid con relativa rapidez y facilidad pero muy limitados en cuanto a usabilidad y basados enuna Interfaz de Liacutenea de Comandos (CLI) poco intuitiva y amigable lo que puede llevar areducir su grado de aceptacioacuten

Seriacutea deseable disponer de un sistema Grid enfocado a la investigacioacuten oceanograacutefica quepermita compartir recursos y posibilite la colaboracioacuten entre diferentes grupos pero desarro-llado desde la sencillez y la usabilidad ya que debido a la heterogeneidad de los grupos losconocimientos tecnoloacutegicos no seraacuten los mismos entre todos los integrantes

13 Objetivos

El presente trabajo nace con el propoacutesito de cubrir las necesidades de la Red Espantildeolade Teledeteccioacuten Marina (RETEMAR) en materia de computacioacuten de altas prestaciones Es-ta Red auna investigadores y tecnoacutelogos de diferentes centros con el objetivo de maximizarrecursos y conocimientos y dirigirlos hacia la consecucioacuten de objetivos comunes en el marcodel desarrollo de proyectos de investigacioacuten El desarrollo de un laboratorio virtual asiacute co-mo de aplicaciones y herramientas enfocadas a la investigacioacuten oceanograacutefica es clave en labuacutesqueda de la cooperacioacuten entre los diferentes socios de RETEMAR

La Red permite afrontar proyectos de mayor envergadura de la que podriacutea abarcarse demanera independiente De entre los objetivos comunes cabe destacar el intereacutes mutuo en lalucha contra la contaminacioacuten marina que desgraciadamente afecta diariamente a las costasespantildeolas

Este trabajo presenta dos objetivos principales

ndash El desarrollo y despliegue de un laboratorio virtual a traveacutes de un entorno de compu-tacioacuten distribuida que permita a los investigadores colaborar y realizar proyectos deforma conjunta

ndash Desarrollar e integrar en el laboratorio un sistema de deteccioacuten de vertidos de hidrocar-buros en el mar a partir del anaacutelisis de imaacutegenes de sateacutelite

13 Objetivos 9

El laboratorio deberaacute permitir a los investigadores acceder a recursos y datos distribuidosasiacute como a la potencia computacional y espacio de almacenamiento necesarios para desarro-llar sus trabajos El acceso deberaacute ser amigable y concebido para que los cientiacuteficos puedancentrar sus esfuerzos en la investigacioacuten y no en el aprendizaje yo utilizacioacuten de las herra-mientas

Dado que los recursos seraacuten interorganizativos la seguridad deberaacute ser una de las bases dela plataforma pero sin ser un impedimento para el trabajo por lo que las poliacuteticas de seguridaddeberiacutean ser transparentes para los usuarios finales

Para validar el uso de la plataforma se desarrollaraacute un sistema de deteccioacuten de vertidosde hidrocarburos que permita monitorizar la costa a traveacutes de imaacutegenes de sateacutelite y de formasemiautomaacutetica identificar y georreferenciar los vertidos

131 Objetivos concretos

Se propone el desarrollo de un entorno colaborativo y distribuido que constituya un labo-ratorio virtual para el desarrollo de proyectos de investigacioacuten interdisciplinares relacionadoscon la teledeteccioacuten oceanograacutefica Para ello se deberaacuten alcanzar los siguientes subobjetivos

1 Despliegue de un sistema de computacioacuten Grid que permita compartir recursos hetero-geacuteneos y distribuidos

2 Desarrollo de una interfaz de usuario amigable como medio de acceso al Grid quepermita a los usuarios finales centrarse en sus trabajos y no en las herramientas

3 Implementacioacuten de un sistema de acceso y registro de usuarios basado en Public Key

Infrastructure (PKI) y Control de Acceso Basado en Roles (RBAC)

4 Despliegue de un sistema de almacenamiento distribuido gestionado por metadatos

5 Implementacioacuten de un sistema de enviacuteo y ejecucioacuten de trabajos optimizado para selec-cionar de forma dinaacutemica y transparente al usuario el mejor recurso Grid para ejecutarla tarea

6 Desarrollo de un sistema de monitorizacioacuten que permita visualizar el estado de cadatarea enviada al Grid

7 Integracioacuten de herramientas de visualizacioacuten que permitan al usuario acceder a las co-lecciones de datos almacenadas en el laboratorio

10 Capiacutetulo 1 Introduccioacuten

8 Despliegue e integracioacuten de herramientas y aplicaciones del aacutembito oceanograacutefico parala validacioacuten del laboratorio

Con el doble propoacutesito de validar el laboratorio y de desarrollar un sistema de apoyo ala lucha contra la contaminacioacuten marina se implementaraacute una aplicacioacuten para la deteccioacutende vertidos de hidrocarburos en la superficie oceaacutenica mediante el anaacutelisis de imaacutegenes desateacutelite Los subobjetivos planteados son los siguientes

1 Desarrollo de un algoritmo de segmentacioacuten basado en una umbralizacioacuten adaptativaque permita separar los posibles vertidos del resto de la imagen

2 Integracioacuten de datos meteoroloacutegicos en el algoritmo de segmentacioacuten

3 Anaacutelisis y desarrollo de un vector de caracteriacutesticas que permita representar a los can-didatos segmentados

4 Implementacioacuten de diferentes algoritmos de clasificacioacuten que a partir de los candidatossegmentados separen los falsos positivos de los vertidos

5 Optimizacioacuten del tiempo de ejecucioacuten de los algoritmos para ser utilizados en tiempocasi real

6 Seleccioacuten del clasificador que proporcione los mejores resultados e integracioacuten del sis-tema de deteccioacuten en el laboratorio virtual

14 Estructura de la memoria

Despueacutes del actual capiacutetulo introductorio en el que se describen los oriacutegenes motivacioacuteny objetivos del trabajo la presente memoria se divide en dos grandes bloques que responden alos objetivos principales de la tesis doctoral Cada uno de estos objetivos se corresponde conun proyecto de investigacioacuten financiado por un organismo diferente pero ambos con una metacomuacuten

La primera parte detalla el desarrollo de RETELAB laquoLaboratorio Virtual para la Red Na-cional de Teledeteccioacuten Oceanograacuteficaraquo RETELAB fue desarrollado gracias a la financiacioacutendel Ministerio de Educacioacuten y Ciencia (MEC) con la referencia ESP2006-13778-C04 entrelos antildeos 2007 y 2010 Siguiendo el espiacuteritu del propio proyecto el desarrollo de RETELABaunoacute el trabajo de varias organizaciones distribuidas y heterogeacuteneas

14 Estructura de la memoria 11

ndash La Universidad de Santiago de Compostela (USC) y el Centro de Supercomputacioacutende Galicia (CESGA) se centraron en la implementacioacuten del laboratorio Por un ladola USC aportoacute su experiencia en teletedeteccioacuten anaacutelisis de imaacutegenes y desarrollo deportales y por otro lado el CESGA aportoacute su amplia su experiencia en el desarrollo deentornos de Computacioacuten de Alto Rendimiento (HPC) y Computacioacuten de Altas Presta-ciones (HTC)

ndash Los usuarios tiacutepicos del laboratorio estaban representados por el Instituto Canario deCiencias del Mar (ICCM) y el Centro Tecnoloacutegico del Mar y los Alimentos del PaiacutesVasco (AZTI) La experiencia de los investigadores de estos centros fue vital para rea-lizar el anaacutelisis de requisitos asiacute como para desarrollar las aplicaciones del laboratorio

El Capiacutetulo 2 estaacute dedicado a la descripcioacuten de diferentes aspectos de la computacioacuten Gridla Seccioacuten 21 muestra las diferentes fases en la evolucioacuten de la tecnologiacutea mientras que laSeccioacuten 22 describe la arquitectura tiacutepica de un sistema Grid para finalmente ocuparse en laSeccioacuten 23 del desarrollo de portales Web como medio de acceso a los sistemas

El Capiacutetulo 3 se centra en la implementacioacuten del laboratorio virtual de RETELAB y pro-fundiza en los diferentes moacutedulos incluidos en su desarrollo

ndash La Seccioacuten 32 describe la implementacioacuten del moacutedulo de acceso y gestioacuten de usuariosy coacutemo la integracioacuten de diferentes tecnologiacuteas permitioacute desplegar un sistema de accesousable y seguro basado en un control de acceso RBAC

ndash La Seccioacuten 33 profundiza en el despliegue y desarrollo del sistema de almacenamientodistribuido utilizado en RETELAB La integracioacuten con la interfaz Web asiacute como elempleo de metainformacioacuten para describir las colecciones de datos son dos de lospuntos fundamentales

ndash La integracioacuten de diferentes herramientas para la visualizacioacuten de las colecciones dedatos presentes en RETELAB es descrita en la Seccioacuten 34

ndash La ejecucioacuten de tareas en RETELAB asiacute como su monitorizacioacuten se aborda en laSeccioacuten 35 A pesar de que no se profundiza en los detalles de la implementacioacuten yaque esta tarea fue desarrollada principalmente por el CESGA este apartado introducecoacutemo se ha integrado y mejorado el metaplanificador GridWay para su utilizacioacuten desdeel laboratorio GridWay facilita a los usuarios el enviacuteo de tareas a un Grid seleccionandoautomaacuteticamente el mejor recurso disponible para su ejecucioacuten

12 Capiacutetulo 1 Introduccioacuten

ndash Por uacuteltimo la Seccioacuten 36 muestra diferentes aplicaciones integradas para validar ellaboratorio virtual e introduce el sistema desarrollado para detectar vertidos de hidro-carburos denominado SENTINAZOS y que centra la siguiente parte de la memoria

La segunda parte de la tesis doctoral describe en detalle el proyecto SENTINAZOS laquoAnaacute-lise e interpretacioacuten de imaxes de sateacutelite a partires de teacutecnicas de intelixencia artificialaplicacioacuten a contaminantes no medio marintildeoraquo El proyecto con referencia PGIDIT08SIN-001236PR fue financiado por la Conselleriacutea de Innovacioacuten e Industria de la Xunta de Galiciaentre los antildeos 2008 y 2010 e implicoacute en su desarrollo a la Universidad de la Coruntildea (UDC) yla USC los equipos de ambas instituciones abordaron el problema desde dos puntos de vistadiferentes pero complementarios

ndash La UDC centroacute su esfuerzos en el desarrollo de algoritmos para la deteccioacuten grandescantidades de vertidos ocasionados por cataacutestrofes

ndash La USC se implicoacute en el desarrollo de un sistema de deteccioacuten de pequentildeos vertidos(sentinazos) ocasionados generalmente por tareas de mantenimiento y en la integra-cioacuten de dicho sistema en RETELAB

Despueacutes de introducir en el Capiacutetulo 4 el problema de la contaminacioacuten oceaacutenica y elestado del arte de los sistemas de deteccioacuten de vertidos el Capiacutetulo 5 se centra en el desarrollodel sistema implementado La descripcioacuten detallada del problema a resolver (Seccioacuten 51) ylas fuentes de datos empleadas (Seccioacuten 52) son la antesala para entrar en el detalle de lasdiferentes fases y algoritmos involucrados en el anaacutelisis e interpretacioacuten de las imaacutegenes Radarde Apertura Sinteacutetica (SAR)

ndash Las diferentes acciones de preprocesado necesarias para preparar los datos SAR parasu posterior anaacutelisis son descritas en la Seccioacuten 53

ndash La segmentacioacuten de la imagen relacionando las condiciones meteoroloacutegicas con laintensidad de la sentildeal del sateacutelite se detalla en la Seccioacuten 54 Durante esta fase losposibles vertidos o candidatos son identificados y aislados

ndash La Seccioacuten 55 describe el proceso por el que cada candidato es descrito empleando unconjunto de caracteriacutesticas

14 Estructura de la memoria 13

ndash Cada candidato a traveacutes de teacutecnicas de Inteligencia Artificial (AI) es clasificado comofalso positivo o vertido seguacuten sus descriptores La implementacioacuten uso y comparacioacutende los diferentes clasificadores empleados es detallada en la Seccioacuten 56

ndash La Seccioacuten 57 describe la aplicacioacuten de escritorio desarrollada para validar el sistemaasiacute como su integracioacuten en RETELAB a traveacutes de un portlet

La parte reservada al desarrollo de SENTINAZOS finaliza con un anaacutelisis detallado (Ca-piacutetulo 6) y la discusioacuten (Capiacutetulo 7) de los resultados obtenidos

Los capiacutetulos finales de la tesis doctoral se reservan para mostrar los resultados y conclu-siones del trabajo (Capiacutetulo 8) y para perfilar las liacuteneas de investigacioacuten abiertas por la tesisdoctoral y que seriacutea interesante desarrollar a corto y medio plazo (Capiacutetulo 9)

Parte I

Laboratorio Virtual de TeledeteccioacutenOceanograacutefica

CAPIacuteTULO 2

EVOLUCIOacuteN DE LA COMPUTACIOacuteN GRID

21 Estandarizacioacuten de las tecnologiacuteas Grid

La computacioacuten Grid (veacutease el Capiacutetulo 1) es un paradigma de computacioacuten distribuidaque surge como respuesta a dos necesidades por un lado la de disponer de entornos espe-cializados en la resolucioacuten de problemas complejos con altas demandas computacionales ypor otro la de gestionar VOs que permitan la colaboracioacuten entre grupos interdisciplinares ydispersos geograacuteficamente

El camino hacia su estandarizacioacuten y globalizacioacuten (veacutease la Figura 21) se inicia a prin-cipios de la deacutecada de los 90 a partir de implementaciones ad hoc que resolviacutean problemasconcretos Las aplicaciones resultantes aprovechaban la potencia computacional procedentede unir diferentes recursos distribuidos

En esta primera etapa la meta de los desarrolladores era hacer que funcionasen las apli-caciones y explorar nuevas posibilidades tecnoloacutegicas La implementacioacuten se realizaba direc-tamente sobre los protocolos de Internet sin seguir ninguacuten tipo de estaacutendar y en general lassoluciones estaban muy limitadas en cuanto a seguridad escalabilidad robustez o interopera-bilidad

I-WAY [44] es considerado el primer Grid moderno que abrioacute la puerta al desarrollo y estu-dio de la computacioacuten Grid en profundidad [22] [9] Se presentoacute en la conferencia ACMIEEESupercomputing del antildeo 1995 (SC95) a traveacutes de una demostracioacuten en la que se conectaron17 centros de supercomputacioacuten por medio de 11 redes de alta velocidad Se creoacute un super-ordenador virtual sobre el que se probaron alrededor de 60 aplicaciones diferentes I-WAYexploroacute varios aspectos que ahora se consideran esenciales en un Grid como la seguridad o

18 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

1990 1995 2000 2005

SolucionesAd-Hoc

Globus Toolkit

Open GridServices Arch

Fun

cion

alid

ad

y e

stan

dari

zaci

oacuten

Gestioacuten de sistemas virtuales compartidos

Estaacutendar de factoImplementacioacuten uacutenica

Estaacutendares de iureMuacuteltiples implementacionesEstaacutendares de internet

Web services etc

2010

Figura 21 Evolucioacuten de las tecnologiacuteas Grid Imagen adaptada de [50]

el enviacuteo y la gestioacuten de trabajos Su eacutexito demostroacute las posibilidades de la computacioacuten Gridy llevoacute a aumentar considerablemente los esfuerzos en el desarrollo de proyectos concebidospara compartir recursos de computacioacuten distribuidos

I-WAY puede considerarse el germen del proyecto Globus [45] que surge con el objetivode investigar y desarrollar tecnologiacuteas Grid fundamentales y marca el comienzo de la segundaetapa en la evolucioacuten hacia la estandarizacioacuten El proyecto liderado por Ian Foster (codesa-rrollador de I-WAY y fundador del concepto de computacioacuten Grid) tiene uno de sus pilaresen la implementacioacuten del Globus Toolkit (GT) [47] El GT es un conjunto de componentessoftware disentildeado para desplegar infraestructuras Grid y proporcionar servicios que gestionenaspectos tales como la seguridad el enviacuteo de trabajos o la administracioacuten de los recursos

El GT se situacutea en la capa de middleware es decir entre la capa de aplicaciones de usuarioy la de recursos Esta capa proporciona herramientas que permiten que los recursos participende forma coordinada en un entorno unificado y aseguren el acceso transparente a los usuarios

Ademaacutes del GT surgieron otros proyectos para el desarrollo de infraestructuras Grid comoLegion [57] o Uniform Interface to Computing Resources (UNICORE) [94] pero desde suprimera versioacuten en 1998 el GT se posicionoacute como el middleware dominante y en 2002 susegunda versioacuten (GT2) se establecioacute como el estaacutendar de facto en el desarrollo de aplicacionesGrid

21 Estandarizacioacuten de las tecnologiacuteas Grid 19

El GT2 fue pionero en el desarrollo de sistemas Grid interoperables [50] pero aunquealgunos de sus componentes fueron desarrollados formalmente en general la implementacioacutendel GT2 careciacutea de directrices y no fue sometida a una revisioacuten puacuteblica

A medida que la computacioacuten Grid se estableciacutea y se popularizaba (trascendiendo inclusoal aacutembito acadeacutemico) se hizo maacutes patente la necesidad de desarrollar estaacutendares que aporta-sen total interoperabilidad no soacutelo a nivel de aplicaciones Grid sino tambieacuten de componentesfundamentales del sistema y permitiesen la integracioacuten de muacuteltiples tecnologiacuteas en un sistemade recursos compartidos [73]

En el antildeo 2002 surge la Open Grid Service Architecture (OGSA) [51] la cual define unestaacutendar que incluye servicios baacutesicos de computacioacuten Grid como la seguridad gestioacuten derecursos administracioacuten de trabajos etc OGSA busca la convergencia entre la tecnologiacuteaGrid y los servicios Web por lo que define una arquitectura abierta basada en servicios paradesarrollar entornos Grid OGSA no aporta detalles para la implementacioacuten del estaacutendar y enconsecuencia surge una importante dificultad OGSA requeriacutea servicios Web con estado peroel estaacutendar de dichos servicios no lo proporcionaba

En 2003 surge la Open Grid Services Infrastructure (OGSI) la cual detalla una posible im-plementacioacuten de OGSA y presenta una versioacuten modificada de los servicios Web denominadaservicios Grid [68] Estos servicios proporcionaban entre otras cosas soporte para el estadogracias a una modificacioacuten del Web Services Description Language (WSDL) [30] llamadaGrid Web Service Definition Language (GWSDL) [115] La tercera versioacuten del GT surge en2004 y en su camino hacia la estandarizacioacuten basa su implementacioacuten en el estaacutendar definidopor OGSI

La comunidad Grid pronto consideroacute que OGSI era una aproximacioacuten poco convenien-te [102] sobre todo por usar una versioacuten modificada de los servicios Web en lugar de basarseen el estaacutendar Se continuoacute trabajando para encontrar una mejor solucioacuten para la implementa-cioacuten del estaacutendar OGSA en general y para la implementacioacuten de servicios Web con estadoen particular En 2004 se propuso la especificacioacuten Web Service Resource Framework (WSRF)con el objetivo de sustituir a OGSI y aportar una implementacioacuten de los servicios Web con es-tado aceptada tanto por la comunidad Grid como por la comunidad de servicios Web WSRFintegra OGSA con los servicios Web puros y es la base para la implementacioacuten de la cuartaversioacuten del Globus Toolkit (GT4) (versioacuten empleada en el desarrollo del laboratorio virtual deRETELAB)

20 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

El teacutermino de servicio Grid ha continuado utilizaacutendose pero a partir de la especificacioacutende WSRF se asocia a cualquier servicio que de acuerdo a la nueva especificacioacuten se ajuste alas convenciones de interfaz de una infraestructura Grid

Continuando con el proceso de estandarizacioacuten Foster y Kesselman [50] anticiparon enel antildeo 2003 una futura fase en la buacutesqueda de un sistema Grid global que denominaron ges-tioacuten de sistemas virtuales compartidos Partiendo de la especificacioacuten de OGSA en esta fasese preveiacutea un incremento del conjunto de servicios y sistemas estaacutendar orientados a la inter-operabilidad Este nuevo conjunto de estaacutendares estariacutea enfocado a la administracioacuten tanto dedispositivos moacuteviles como de grandes sistemas con muacuteltiples VOs y todo ello aumentando elgrado de virtualizacioacuten enriqueciendo los modos de comparticioacuten e incrementando la calidadde servicio

22 Arquitectura de un sistema Grid

La arquitectura de un sistema Grid desarrollado con GT (veacutease la Figura 22) se divideen capas y estaacute construida sobre los principios del modelo de reloj de arena (hourglass mo-

del) [50] en el que las capas intermedias situadas en el cuello del reloj contienen un conjuntode protocolos e interfaces que los desarrolladores de servicios y aplicaciones de maacutes alto nivel(capas superiores) utilizan y que les permiten abstraerse de los desarrollos y tecnologiacuteas delas capas inferiores que gestionan el uso de los recursos locales

ndash Capa de infraestructura (Fabric layer) proporciona las operaciones baacutesicas sobre losrecursos que seraacuten utilizadas como base para el desarrollo de operaciones de maacutes altonivel

ndash Capa de conectividad (Connectivity layer) define el nuacutecleo de los protocolos utilizadospara la comunicacioacuten y la autenticacioacuten requeridos en las transacciones

ndash Capa de recursos (Resource layer) contiene los protocolos necesarios para gestionar deforma remota el acceso e interaccioacuten con los recursos individuales

ndash Capa colectiva (Collective layer) contiene protocolos para la gestioacuten de recursos muacutel-tiples Utiliza los protocolos definidos en las capas inferiores para implementar susoperaciones

23 Interfaces Grid 21

Recursos locales computadoras redes

almacenamiento sensores etc

Acceso seguro a recursos y servicios

Gestioacuten de recursos muacuteltiples diagnoacutestico monitorizacioacuten

etc

Herramientas y aplicaciones de usuario

Capa de aplicaciones

Capa colectiva

Capa de recursos

Capa de conectividad

Capa de infraestructura

Figura 22 Arquitectura Grid basada en capas y construida sobre los principios del modelo de laquoreloj de arenaraquoFigura adaptada de [50]

ndash Capa de aplicaciones (Application layer) esta capa contiene las aplicaciones de usua-rio que se implementan de forma especiacutefica para dar respuesta a un problema dentrodel entorno de una organizacioacuten virtual Para su desarrollo se utilizan las interfacesdesarrolladas en las capas inferiores

23 Interfaces Grid

Existen dos tipos de usuarios relacionados con los sistemas Grid desarrolladores y usua-rios finales Es habitual que los usuarios no tengan grandes conocimientos tecnoloacutegicos y enparticular la formacioacuten en este aacutembito es muy escasa Eacutestos ven al sistema como un mediopara desarrollar su trabajo por lo que la usabilidad del entorno ha de ser primordial La CLIes la solucioacuten baacutesica para el acceso a un Grid pero es muy poco amigable y requiere de unestudio previo de los comandos y sus formas de uso por lo que habitualmente es rechazadapor los usuarios finales Es conveniente desarrollar entornos que faciliten el acceso y utiliza-cioacuten de los sistemas y en la medida de lo posible que abstraigan a los usuarios de los detallestecnoloacutegicos para que puedan centrarse en sus trabajos

Con el desarrollo de la Web 20 surge la tendencia de migrar aplicaciones y sistemas ala Web convirtiendo Internet en un entorno amigable y conocido para el usuario La compu-

22 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

tacioacuten Grid no fue ajena a este cambio y surgieron los llamados portales Grid que actuabancomo interfaces de acceso a los sistemas distribuidos El acceso Web suponiacutea una evolucioacutenen cuanto a la generalizacioacuten y popularizacioacuten de los sistemas Grid ya que permitiacutea accedera los usuarios en cualquier momento y desde cualquier lugar a traveacutes de una interfaz ergonoacute-mica y sin tener que instalar software especiacutefico Desde el punto de vista de su finalidad losportales Grid pueden dividirse en dos categoriacuteas

ndash Portales Grid especializados proveen de un subconjunto de operaciones Grid en elmarco de una aplicacioacuten especiacutefica

ndash Portales Grid de propoacutesito general proveen de un acceso baacutesico y sin propoacutesito concre-to a servicios y recursos de un Grid

Los desarrollos de portales Grid pueden dividirse en dos generaciones dependiendo desu implementacioacuten y tecnologiacuteas utilizadas [69] la primera generacioacuten estaacute caracterizada pordesarrollos fuertemente acoplados con el middleware (habitualmente GT2) mientras que lasegunda generacioacuten hace uso de tecnologiacuteas como por ejemplo los portlets que permitensoluciones maacutes configurables y dinaacutemicas

231 Portales Grid primera generacioacuten

Surgen a mediados de los antildeos 90 como una forma de hacer maacutes accesibles y usables lossistemas Grid Se realizaron grandes esfuerzos para implementar entornos de computacioacutenGrid que ofreciesen a traveacutes de la Web los mismos servicios que un sistema Grid claacutesico Estosdesarrollos previos a los estaacutendares (veacutease la Seccioacuten 21) son soluciones personalizadaspoco modulares y fuertemente acopladas con el middleware Esta primera generacioacuten aportoacutesoluciones pero sobre todo un valioso conocimiento de la problemaacutetica que permitioacute allanarel terreno para desarrollos posteriores A continuacioacuten se detallan algunas de las limitacionesmaacutes importantes [69]

ndash Los portales tienen poca o ninguna posibilidad de personalizacioacuten por parte del usuariofinal

ndash El alto acoplamiento entre los portales y el middleware Grid hace que sea muy compli-cado integrar servicios suministrados por otro middleware

23 Interfaces Grid 23

ndash En esta eacutepoca el desarrollo de la computacioacuten Grid era muy dinaacutemico La integracioacutende nuevas funcionalidades Grid no contempladas desde un primer momento era muycomplicada

Aunque no son los uacutenicos los ejemplos presentados a continuacioacuten son una muestra rele-vante de sistemas de primera generacioacuten Es importante destacar que se describen las primerasversiones importantes pero que eacutestos han continuado evolucionando y cambiando por lo quelas limitaciones mencionadas no tienen que estar presentes en las sucesivas versiones

UNICORE Uno de los primeros ejemplos importantes de portales Grid de propoacutesitogeneral fue UNICORE [94] No dependiacutea de ninguna implementacioacuten especiacutefica ni de servi-cios ni de un middleware Grid sino que se trataba de una solucioacuten completa para la gestioacuten yuso de una red de recursos heterogeacuteneos y distribuidos En los primeros prototipos el accesoa UNICORE se proporcionaba a traveacutes de un applet disponible a traveacutes de la Web Imple-mentaciones posteriores descartaron el uso del applet en beneficio de una aplicacioacuten Java deescritorio [38]

GridPort 20 Es un toolkit basado en scripts CGI de Perl para desarrollar y desplegarraacutepidamente portales Grid [107] Fue implementado pensando en potenciar la compatibilidada expensas de sacrificar rendimiento y flexibilidad y por ello se utilizaron tecnologiacuteas baacutesicasy se descartaron otras maacutes complejas y actuales como los applets (en el lado del cliente) oJava Server Pages (JSP) y servlets (en el lado del servidor) Se utiliza GT para acceder a losrecursos de alta computacioacuten y sus comandos son invocados a traveacutes de los scripts La interfazde usuario se construye a traveacutes de paacuteginas HTML que contienen llamadas a los scripts Tantoel uso de scripts y de HTML para modelar la interfaz como la encapsulacioacuten de los serviciosen los propios scripts facilita el despliegue pero complica el mantenimiento y personalizacioacutendel portal

Grid Portal Development Kit (GPDK) Es un toolkit que provee de una serie de compo-nentes reutilizables que permiten interactuar con los recursos de un sistema Grid y desarrollarportales y aplicaciones con interfaces personalizables [85] En la medida de lo posible GPDKfue desarrollado a traveacutes de software libre y abierto GT2 es el middleware utilizado para elacceso y gestioacuten del sistema distribuido mientras que el desarrollo del portal y las aplicacio-

24 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

nes se basan en JSP y servlets La interaccioacuten entre Java y GT2 se realiza a traveacutes de Java

Commodity Grid Kit (CoG) [113]

232 Portales Grid segunda generacioacuten

El inicio de la segunda generacioacuten de portales Grid viene marcado por la aparicioacuten de losportlets o componentes reutilizables para portales Web y por el desarrollo de los estaacutendaresGrid basados en servicios

Tecnologiacuteas empleadas

Portlets Como hemos visto en el apartado anterior los portales de primera generacioacutenestaban muy limitados en cuanto a personalizacioacuten y esto se solucionoacute en gran medida gra-cias a la aparicioacuten de los portlets Seguacuten la primera versioacuten de la especificacioacuten del estaacutendarde desarrollo de portlets de Java (JSR168) [10]

laquoUn portlet es un componente Web desarrollado en Java y gestionado por un contene-

dor de portlets que procesa peticiones y genera contenido dinaacutemico Los portales utilizan

portlets como componentes de la interfaz de usuario que se pueden activar o desactivar y que

proporcionan una capa de presentacioacuten a los sistemas de informacioacutenraquoEl usuario final ve al portlet como una ventana dentro de un portal que proporciona in-

formacioacuten o acceso a un servicio concreto como por ejemplo un calendario noticias o elacceso a un buzoacuten de correo [61] Un portlet genera un fragmento de coacutedigo HTML que esincrustado en una seccioacuten del portal La unioacuten de los fragmentos generados por los diferentesportlets forman la interfaz del portal Una caracteriacutestica importante de este tipo de portales esla posibilidad de personalizacioacuten que ofrecen al usuario final ya que el contenido generadopuede variar dependiendo de la configuracioacuten e incluso es posible administrar queacute portletsestaacuten activos y cuaacuteles no (veacutease la Figura 23) Es faacutecil imaginarse un portal como un puzzleque puede tomar cualquier forma (la elige el usuario final) y en el que se pueden intercambiarpiezas siendo cada pieza un portlet Lo interesante es que estas piezas pueden ser reutilizadaspara formar parte de nuevos portales pues lo uacutenico que se exige es que el portal de des-tino sea compatible con el Application Programming Interface (API) estaacutendar de desarrollode portlets Cada portlet funciona de forma independiente respecto al resto y tiene su propiociclo de vida que es gestionado por el contenedor de portlets

23 Interfaces Grid 25

Contenedor de portlets Podemos definir un contenedor de portlets como un entorno deejecucioacuten en donde los portlets pueden ser instanciados usados y finalmente destruidos Esresponsabilidad del contenedor la gestioacuten del ciclo de vida del portlet [69] Un contenedorde portlets no puede ser usado de forma independiente sino que se despliega dentro de uncontenedor de servlets y aprovecha sus funcionalidades

Noticias de la Red X-

Red Nacional de Teledeteccioacuten Oceanograacutefica

Gestioacuten de Credenciales X-

Activo

X-

X-

Modelo Produccioacuten Primaria

Roms

X-Sentinazos

Seleccionar portlet activo

Portlets con acceso restringido Usuario no autorizado

Portlets con acceso restringido Usuario autorizado

Figura 23 Ejemplo de un portal Web desarrollado a traveacutes de portlets

Portlets Grid

Un portlet Grid es un tipo especial de portlet que estaacute asociado a un servicio Grid pro-porcionado por un middleware Gracias a la estandarizacioacuten tanto de los portlets como de losservicios Grid un portlet puede ser reutilizado e interactuar con un servicio Grid sea cualsea el middleware que lo hace accesible por lo que se puede afirmar que los portales Griddesarrollados con portlets se encuentran deacutebilmente acoplados al middleware

Entornos para el desarrollo de portales Web basados en portlets

Los entornos disentildeados para desarrollar portales basados en portlets no son especiacuteficosde la computacioacuten Grid es decir son geneacutericos y pueden contener portlets de cualquier tipo(incluido portlets Grid) WebSphere y GridSphere son probablemente los entornos de mayorpopularidad

26 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

IBM WebSphere Portal Es una aplicacioacuten J2EE que se ejecuta sobre un servidor deaplicaciones con el mismo nombre y que permite desarrollar y administrar portales Web cen-trados en el acceso a aplicaciones contenidos y servicios a traveacutes de portlets [69] Es unaimplementacioacuten propietaria que actualmente se encuentra en su octava versioacuten Durante susprimeras versiones el desarrollo de portlets estaba basado en el API de IBM que aunquefundamentalmente era similar al API JSR168 sus pequentildeas diferencias [59] impediacutean la to-tal compatibilidad de los portlets El soporte para el API JSR168 fue incluido a partir de laversioacuten 502 y la versioacuten actual soporta tanto el API JSR168 como el API JSR286

Con el portal se distribuye un toolkit que permite su administracioacuten y personalizacioacuten asiacutecomo la creacioacuten prueba depuracioacuten y despliegue de portlets para un raacutepido desarrollo ElIBM WebSphere Portal tambieacuten provee de mecanismos para la personalizacioacuten de la vista delportal por el usuario final permitiendo seleccionar las aplicaciones y contenidos asiacute comoestablecer la forma en que son mostrados

GridSphere Es uno de los entornos de desarrollo de portales basados en portlets maacutesconocidos y utilizados [87] y concretamente fue el empleado para desplegar el laboratoriovirtual de RETELAB Se trata de un proyecto de coacutedigo libre desarrollado en el marco delproyecto GridLab que incluye un contenedor de portlets un conjunto baacutesico de portlets ylibreriacuteas de desarrollo

GridSphere es compatible con el API de WebSphere y con el API estaacutendar para portlets loque permite una raacutepida integracioacuten del software desarrollado por terceros Cuando el proyectofue iniciado la primera versioacuten del estaacutendar todaviacutea no se habiacutea publicado por lo que deentrada fue construido conforme al de IBM La compatibilidad con el estaacutendar fue antildeadidaen una versioacuten posterior

El conjunto baacutesico de portlets incluido en GridSphere facilita el desarrollo de nuevosportales y aporta funcionalidades baacutesicas como la administracioacuten de usuarios y grupos elacceso de los usuarios al portal la gestioacuten de las cuentas o la personalizacioacuten del portal

Entornos y herramientas para el desarrollo de portlets Grid

Para facilitar la implementacioacuten de portlets Grid y su despliegue en los portales surgieronproyectos especiacuteficos que proporcionaban tanto entornos de desarrollo como toolkits

23 Interfaces Grid 27

GridPortlets y Open Grid Computing Environments (OGCE) son dos de los entornos dedesarrollo maacutes populares y extendidos Ambos aportan herramientas baacutesicas que permiten alos desarrolladores interactuar con el middleware facilitando el desarrollo de portlets Grid

OGCE Es un proyecto de coacutedigo libre que proporciona un ecosistema en el que seintegran diferentes tecnologiacuteas y herramientas para la creacioacuten de portales Grid [12] [116]

Varias son las liacuteneas en las que OGCE ha centrado sus esfuerzos

ndash Establecer un entorno de desarrollo de portlets Grid desde la segunda versioacuten del OG-CE los portlets desarrollados cumplen con el estaacutendar y pueden ser reutilizados Parafacilitar su implementacioacuten OGCE proporciona una utilidad que permite la creacioacuten deportlets estaacutendar a traveacutes de la herramienta de desarrollo Web denominada Velocity [4]

ndash Abstraer a los desarrolladores de aplicaciones del sistema Grid utilizado OGCE noutiliza un uacutenico API para acceder a los diferentes servicios Grid sino que se basa enun conjunto procedente de varios proyectos como CoG o GridPort CoG se puede con-siderar el API principal y proporciona una capa de abstraccioacuten que independiza a losportlets del middleware utilizado

ndash Desarrollar servicios Grid avanzados la segunda versioacuten de OGCE integra y proporcio-na servicios para por ejemplo monitorizar los recursos locales utilizando el GridPort

Information Repository (GPIR) incorporar el repositorio semaacutentico de contenido Tu-pelo [5] o generar interfaces de servicio Web para las aplicaciones cientiacuteficas que sedesee integrar en el portal

ndash Desarrollar servicios para la colaboracioacuten de grupos OGCE desarrolloacute servicios y di-sentildeoacute interfaces portlet para integrar las herramientas colaborativas Sakai [3]

OGCE ha sido el entorno utilizado para el desarrollo de los portlets en RETELAB ademaacutestambieacuten se incorporaron al laboratorio varios portlets ya implementados por OGCE como elportlet para la administracioacuten de credenciales o el dedicado a la gestioacuten de ficheros remotos

GridPortlets Surge dentro del proyecto GridSphere con el objetivo de proporcionar alos desarrolladores un entorno para la implementacioacuten de portlets Grid [97] GridPortletsdistribuye una coleccioacuten de portlets baacutesicos que pueden ser utilizados individualmente o juntoa otras aplicaciones y que permiten desplegar un portal Grid baacutesico Este conjunto de portlets

28 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

estaacute implementado a traveacutes de componentes JSP reutilizables que pueden ser integrados ennuevas implementaciones

Al contrario de OGCE que utilizaba varias APIs GridPortlets proporciona una uacutenica APIde alto nivel pensada para acceder a los servicios Grid e interactuar con los recursos y asiacutedesarrollar portlets y aplicaciones Grid especiacuteficas

Los portlets desarrollados a traveacutes de GridPortlets no son completamente independientesde GridSphere y aunque teoacutericamente son compatibles con el API estaacutendar no se puedenintegrar faacutecilmente en otros contenedores de portlets [116] GridPortlets pensando en la usa-bilidad proporciona una sencilla pero potente interfaz para el enviacuteo de trabajos que abstrae alusuario de los detalles de bajo nivel y almacena un detallado historial de cada trabajo proce-sado para que pueda ser consultado a posteriori

233 Portales Grid casos de estudio

Durante la primera deacutecada del siglo XXI sobre todo en los primeros antildeos la incidencia delos sistemas Grid en la sociedad fue en aumento no soacutelo en el campo acadeacutemico sino tambieacutenen el empresarial La estandarizacioacuten de las tecnologiacuteas Grid y la mejora de las interfaces deusuario hicieron de esta tecnologiacutea una valiosa herramienta Fueron muchos los sistemas Griddesplegados y numerosos tambieacuten los portales Grid desarrollados para interactuar con lossistemas de una forma amigable Una gran mayoriacutea de estos portales estaban centrados enla visualizacioacuten de informacioacuten monitorizacioacuten de los recursos y sistemas y en la ejecucioacutende tareas simples no obstante algunos otros profundizaron en la tecnologiacutea y desarrollaronaplicaciones Web que facilitaban la realizacioacuten de tareas Grid complejas a los usuarios

GENIUS Grid Portal La Organizacioacuten Europea para la Investigacioacuten Nuclear (CERN)en general y el proyecto LHC en particular han ejercido una gran influencia en el desarrollode la tecnologiacutea Grid El portal Grid GENIUS [19] [15] implementado dentro del marco delproyecto europeo DataGrid fue desarrollado para proporcionar acceso a los datos del LHC ypermitir su utilizacioacuten en diferentes aplicaciones sobre un sistema Grid Estaba disentildeado paraproporcionar un acceso seguro a funcionalidades Grid como el enviacuteo y ejecucioacuten de trabajosla administracioacuten de datos o el acceso interactivo para el anaacutelisis de los datos generados

GENIUS fue un portal Grid pionero basado en una versioacuten extendida del GT Este mid-

dleware modificado extendioacute la interfaz de Globus facilitando la interaccioacuten entre las aplica-ciones software y el sistema Grid La primera versioacuten del portal se puede considerar dentro

23 Interfaces Grid 29

de la primera generacioacuten de portales Grid (veacutease la Seccioacuten 231) ya que su desarrollo estaacutefuertemente acoplado con el middleware utilizado

El portal permitiacutea el acceso remoto de usuarios pero manteniacutea la necesidad de tener unacuenta personal en el servidor del portal con la que se proporcionaba acceso al sistema deficheros local La autenticacioacuten y autorizacioacuten de los usuarios sobre los recursos Grid se rea-lizaba a traveacutes de la delegacioacuten de credenciales implementada con MyProxy (veacutease la Sec-cioacuten 32)

Earth System Grid (ESG) En general los proyectos relacionados con el estudio de laTierra poseen una serie de particularidades que dificultan su desarrollo a traveacutes de mediostradicionales

ndash Generan cantidades ingentes de informacioacuten bien sea a traveacutes de la observacioacuten directade fenoacutemenos o bien a traveacutes de la ejecucioacuten de modelos que los simulan

ndash Los algoritmos y modelos utilizados suelen requerir una gran potencia computacional

ndash Implican ciencias interdisciplinares en donde trabajan cientiacuteficos de diferentes ramasque deben colaborar para obtener el maacuteximo rendimiento de las investigaciones

La computacioacuten Grid se adapta especialmente bien a este tipo de proyectos y en concretoel proyecto ESG [23] es uno los maacutes relevantes Centrado en la investigacioacuten climaacutetica ESGproporciona un entorno colaborativo con el objetivo de almacenar distribuir y procesar lasenormes cantidades de datos utilizadas en el seno de sus proyectos

Ademaacutes de proporcionar la infraestructura necesaria para el almacenamiento de la infor-macioacuten climaacutetica gran parte de los esfuerzos del proyecto fueron destinados a desarrollarestaacutendares y servicios de metainformacioacuten orientados a administrar navegar buscar y com-partir los datos almacenados Un portal Grid facilita el acceso a los datos y los servicios debuacutesqueda y recuperacioacuten de informacioacuten

El acceso a los recursos Grid se basa en el sistema de delegacioacuten de credenciales de My-Proxy (veacutease la Seccioacuten 32) pero ESG desarrolloacute y empleoacute un novedoso sistema de registrode usuarios para la generacioacuten automaacutetica de credenciales El Portal-based User Registra-

tion Service (PURSe) [53] permite el registro de usuarios y la creacioacuten y administracioacuten desus Certificados Digitales (DCs) y respectivos proxies de forma automaacutetica Originalmentefue desarrollado dentro del proyecto pero posteriormente evolucionoacute como sistema indepen-diente e integrable en nuevos portales Grid

30 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

PURSe encaja perfectamente con la poliacutetica de facilidad de uso que dirige el proyectoRETELAB por lo que fue integrado como medio de registro de usuarios No obstante elmoacutedulo de registro fue modificado y mejorado para dar un soporte maacutes amplio que el propor-cionado por defecto y asiacute ajustarse a las necesidades del laboratorio virtual Los detalles deimplementacioacuten y de integracioacuten se muestran en detalle en la Seccioacuten 32

P-Grade P-Grade es un portal Grid basado en GridSphere concebido para soportarformas complejas de ejecucioacuten de trabajos dirigidas por flujos de tareas (workflows) P-Gradeestaacute disentildeado para trabajar con Globus como middleware lo que le permite integrarse concualquier sistema Grid que lo utilice y aportarle la capacidad avanzada de administracioacuten deflujos de tareas Proporciona a los usuarios un editor de flujos que permite disentildear localmentelas tareas y subirlas al servidor Empleando Java Web Start (JavaWS) los usuarios puedendescargar el editor desde el portal y eacuteste se instala automaacuteticamente y de forma transparenteen la estacioacuten de trabajo del usuario Dentro de un mismo flujo de tareas P-Grade soportala asignacioacuten de trabajos a recursos que pertenezcan a diferentes Grids e incluso la creacioacutende flujos colaborativos entre varios investigadores Es tarea del usuario la asignacioacuten de losrecursos en concreto en donde se vaya a ejecutar una parte del flujo por lo que el usuario debeconocer la estructura del sistema

CAPIacuteTULO 3

PROYECTO RETELAB

31 Descripcioacuten del proyecto

RETELAB es un laboratorio virtual desplegado sobre un sistema distribuido que propor-ciona un entorno de trabajo colaborativo enfocado al desarrollo de proyectos de teledeteccioacutenoceanograacutefica [78] [33] Nace en el seno de la red RETEMAR con el objetivo proporcionarun entorno para llevar a cabo proyectos de altas prestaciones entre sus integrantes

Seguacuten las especificaciones iniciales los requerimientos que debiacutea cubrir el laboratoriovirtual eran

ndash Gestioacuten de recursos compartidos el laboratorio virtual debiacutea poseer la capacidad deintegrar y administrar recursos distribuidos pertenecientes a los diferentes centros de laRed

ndash Soporte para el almacenamiento administracioacuten e intercambio de datos distribuidos elalmacenamiento local tiene grandes limitaciones a la hora de administrar las ingentescantidades de datos capturados a traveacutes de la teledeteccioacuten por lo que RETELAB de-biacutea disponer de un sistema de datos distribuidos que permitiese almacenar procesar ycompartir la informacioacuten

ndash Potencia computacional en general las aplicaciones cientiacuteficas oceanograacuteficas (mode-los climaacuteticos deteccioacuten de contaminantes etc) demandan una gran cantidad de recur-sos computacionales El sistema proporcionariacutea la potencia necesaria para su ejecucioacuten

32 Capiacutetulo 3 Proyecto RETELAB

ndash Seguridad dado que el laboratorio proporcionariacutea acceso a recursos compartidos laseguridad debiacutea ser uno de los pilares en el disentildeo e implementacioacuten de RETELAB

ndash Interfaz amigable es necesario que la interfaz de acceso al sistema sea intuitiva y faacutecilde utilizar para que los usuarios puedan centrarse en sus trabajos sin tener que dedicaresfuerzos al aprendizaje de nuevas herramientas

ndash Visualizacioacuten el laboratorio virtual debiacutea proporcionar las herramientas necesarias paravisualizar tanto los resultados de los trabajos como los datos almacenados

Las especificaciones del sistema junto con las caracteriacutesticas tiacutepicas de las aplicacionesque se desea ejecutar hacen de la computacioacuten Grid la tecnologiacutea maacutes adecuada para el desa-rrollo del laboratorio virtual y el acceso a traveacutes de un portal Grid la opcioacuten maacutes simple yamigable para el usuario final

311 Arquitectura general del sistema

El disentildeo de RETELAB se corresponde con una arquitectura cliente-servidor multicapa(veacutease la Figura 31) en la que una aplicacioacuten cliente tiacutepicamente un navegador Web realizapeticiones a un servidor que las procesa y devuelve un resultado A continuacioacuten se describenbrevemente las principales capas del sistema

ndash Capa de aplicaciones en esta capa se situacutea el servidor Web (Tomcat + Apache) en el queestaacute desplegado el portal Grid a traveacutes del cual se accede al sistema El portal basadoen el contenedor de portlets GridSphere contiene diferentes portlets que encapsulan ygestionan tareas sobre los recursos de alta computacioacuten

ndash Capa de middleware en esta capa estaacute desplegada la cuarta versioacuten del Globus Tool-

kit que contiene la tecnologiacutea y herramientas necesarias para gestionar un Grid GT4proporciona una coleccioacuten de servicios que permiten a las aplicaciones (capa superior)operar sobre los recursos de alta computacioacuten (capa inferior)

ndash Capa de recursos en esta capa se situacutean los recursos del sistema Se trata de recursosdistribuidos y heterogeacuteneos que pertenecen a diferentes centros

31 Descripcioacuten del proyecto 33

Figura 31 Arquitectura general del sistema RETELAB

Recursos del sistema

El sistema Grid de RETELAB permite incluir recursos de cualquier centro participante enel proyecto pero en el despliegue inicial soacutelo se ponen a disposicioacuten de la comunidad recursosde la USC y del CESGA

La USC colaboroacute con un cluster compuesto por 11 nodos 10 AMD Opteron 2212 y 1INTEL Xeon 5130 cada uno de los cuales presenta las siguientes caracteriacutesticas arquitecturax86_64 2 procesadores dual core frecuencia de 2GHz 4GB RAM e interconexioacuten Giga-Ethernet

El CESGA aportoacute un cluster compuesto de 4 nodos HP Proliant de las siguientes carac-teriacutesticas arquitectura x86_64 2 procesadores Intel Xeon Quadcore X5355 (8 coresequipo)frecuencia de 266GHz 8 GB de RAM 4 x 2MB cacheacute (L2) e interconexioacuten GigaEthernet

Los recursos proporcionados por el CESGA se aprovecharon al maacuteximo gracias a la pla-taforma de virtualizacioacuten Xen [6] Tal y como se muestra en la Figura 32 uno de los nodosdel cluster fue virtualizado para alojar a 3 recursos virtuales diferentes

ndash RETELAB UI aloja la interfaz de acceso al laboratorio virtual es decir el portal Grid

34 Capiacutetulo 3 Proyecto RETELAB

ndash CESGA CE gestiona los trabajos que le llegan al cluster actuando como nodo principalo laquocabezaraquo

ndash Nodo de trabajo se ha virtualizado un nodo de trabajo que si bien no tiene la potenciacomputacional del resto de los nodos es aprovechado y utilizado como parte del cluster

Fedora Core 6 + XENScientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Hardware

Xenreg Hypervisor

CEUI Nodo Trabajo

Scientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Cluster CESGA

Figura 32 Recursos aportados por el CESGA

32 Registro y acceso de los usuarios

El objetivo de esta seccioacuten es mostrar el moacutedulo para el registro y acceso de los usuarios deRETELAB al sistema pero para una mejor comprensioacuten es necesario introducir brevementealgunos conceptos sobre la infraestructura de seguridad del GT

32 Registro y acceso de los usuarios 35

Security Grid Infrastructure (GSI)

La GSI es un conjunto de herramientas libreriacuteas y protocolos usados por el GT paragestionar el acceso de los usuarios y aplicaciones a los recursos de altas prestaciones [70]Los pilares fundamentales del GSI son la PKI y los Certificados Digitales (DCs) X509

Cada participante de un sistema Grid dispone de un DC X509 que lo identifica y queprincipalmente estaacute compuesto por

ndash Un nombre que identifica a la persona o recurso al que representa el DC

ndash La clave puacuteblica del propietario del DC

ndash El nombre de la Autoridad Certificadora (CA) que ha firmado el DC y que garantiza laidentidad del propietario Es esencial que todos los participantes de un Grid confiacuteen ytengan acceso a las claves puacuteblicas de las CAs utilizadas para firmar los DCs

ndash La firma digital de la CA que valida el DC

Es importante diferenciar dos teacuterminos en el aacutembito de la seguridad Grid

ndash Autenticar proceso de identificar uniacutevocamente a un usuario o a un recurso

ndash Autorizar proceso que identifica las acciones que puede realizar un usuario sobre unrecurso concreto

Autenticacioacuten El proceso de autenticacioacuten de participantes en un sistema Grid es mu-tuo es decir para establecer una comunicacioacuten entre dos participantes es necesario que cadauno de ellos se identifique ante el otro a traveacutes del siguiente meacutetodo

1 La entidad lsquoArsquo establece una conexioacuten con la entidad lsquoBrsquo y le enviacutea su DC

2 La entidad lsquoBrsquo comprueba la autenticidad del DC utilizando la clave puacuteblica de la CAcon la firma del certificado

3 Una vez validado el certificado lsquoBrsquo trata de confirmar que la entidad que envioacute el DC esrealmente su propietaria y para ello enviacutea un mensaje aleatorio para que lsquoArsquo lo codifiqueutilizando su clave privada

4 La entidad lsquoArsquo utiliza su clave privada para codificar el mensaje y eacuteste es devuelto a lsquoBrsquo

36 Capiacutetulo 3 Proyecto RETELAB

5 lsquoBrsquo utiliza la clave puacuteblica de lsquoArsquo contenida en el DC para descodificar el mensaje ycomprobar que es el mismo que el original

6 Una vez que lsquoArsquo es autenticada lsquoBrsquo iniciariacutea nuevamente el proceso enviando su DC alsquoArsquo

Cuando un usuario desarrolla una tarea en un Grid eacutesta puede requerir varios recursoso puede que durante su procesamiento necesite solicitar servicios en nombre del usuarioSeguacuten el meacutetodo de autenticacioacuten mostrado cada vez que el usuario necesite un recurso orequiera un servicio deberiacutea autenticarse El uso de la clave privada exige la atencioacuten delusuario ya que se almacena cifrada y es necesario que el usuario introduzca su contrasentildeacada vez que sea necesaria su autenticacioacuten Esto puede resultar tedioso en tareas complejassobre todo si se dilatan en el tiempo Para solucionarlo GSI introduce el concepto de dele-gacioacuten Este mecanismo permite al usuario asignar un proxy a la tarea deseada y evita tenerque presentar su DC cada vez que la tarea realiza una operacioacuten en su nombre Los proxies

son credenciales con un tiempo de vida muy reducido generadas por los usuarios a partir susDCs La identidad de los proxies es la misma que la de los DCs salvo una pequentildea modifi-cacioacuten que indica su naturaleza La creacioacuten de un proxy implica la generacioacuten tanto de unaclave puacuteblica como de una privada que se almacenan sin cifrar y a las que se puede accedersin contrasentildea evitando la accioacuten del usuario

Autorizacioacuten Por defecto GSI proporciona unos sistemas de autorizacioacuten muy baacutesicosde entre los que cabe destacar el sistema gestionado por el GridMap Cada recurso poseeun fichero denominado GridMap que contiene una lista que relaciona nombres de usuario(identificadores presentes en los DCs) con cuentas de usuario locales Si el usuario tiene unacuenta local entonces puede utilizar dicho recurso Es conveniente disponer de sistemas queayuden a la creacioacuten y gestioacuten de dichas listas y de las cuentas correspondientes

La ventaja es que GSI tambieacuten proporciona mecanismos para el desarrollo e integracioacutende sistemas de autorizacioacuten propios y esto seraacute aprovechado para gestionar la autorizacioacuten delos usuarios de RETELAB

MyProxy

MyProxy [86] es un repositorio on-line de certificados cuya finalidad es proporcionarproxies temporales bajo demanda para que puedan ser utilizados en cualquier momento y

32 Registro y acceso de los usuarios 37

desde cualquier lugar MyProxy puede ser utilizado para delegar credenciales a servicios queactuacuteen en lugar del usuario y es el meacutetodo maacutes habitual para delegar y usar credenciales enlos portales Grid MyProxy puede ser utilizado de dos modos diferentes

ndash Repositorio de credenciales de usuario MyProxy actuacutea como almaceacuten de los DCs y delas claves privadas de los usuarios Abstrae al usuario del uso y almacenamiento de loscertificados y permite generar proxies temporales bajo demanda Este uso implica queel usuario delega la seguridad de sus DCs en el servidor

ndash Repositorio de proxies MyProxy almacena los proxies generados por los usuarios atraveacutes de sus DCs y genera nuevos representantes con una vida maacutes corta que los origi-nales Es necesario que los usuarios generen y alojen nuevos proxies cada vez que losalmacenados caduquen

321 Autenticacioacuten y autorizacioacuten

Uno de los requisitos fundamentales para la construccioacuten del laboratorio virtual (veacutease laSeccioacuten 31) era el desarrollo de una interfaz de usuario sencilla y amigable que no demandasegrandes conocimientos tecnoloacutegicos La sencillez de un sistema debe empezar desde el regis-tro y acceso de los usuarios pero a menudo esto entra en conflicto con los requerimientos deseguridad por lo que fue necesario encontrar una solucioacuten equilibrada

La seguridad en RETELAB estaacute basada en el modulo GSI del GT4 lo que condiciona elacceso al sistema y supone que los usuarios deban disponer de un DC El proceso para obtenery emplear un DC es cuanto menos tedioso para el usuario y puede producir rechazo al usodel sistema por lo que es necesario adaptarlo para que sea maacutes coacutemodo Por otro lado esimportante que el sistema de autorizacioacuten sea sencillo de administrar pero lo suficientementepotente para responder a las siguientes preguntas

ndash iquestQuieacuten puede acceder

ndash iquestQueacute recursos puede utilizar

ndash iquestQueacute tareas puede realizar sobre un recurso concreto

Un RBAC [91] parece ser la mejor alternativa En RBAC los permisos se encuentran asociadosa roles y los usuarios son poseedores de uno o maacutes roles por lo que adquieren los permisosasociados a eacutestos Los roles permiten reflejar con mayor veracidad la estructura de una VO y el

38 Capiacutetulo 3 Proyecto RETELAB

puesto o tareas desempentildeadas por un investigador concreto dentro de ella La administracioacutendel control de acceso es considerablemente maacutes sencilla que si se gestiona la seguridad a nivelde usuario

Registro y Acceso

El registro y acceso de los usuarios de RETELAB se ha implementado integrando ymejorando diferentes sistemas para conseguir una solucioacuten amigable sin sacrificar la seguri-dad [76] [77] La Figura 33 muestra un diagrama en donde se aprecian los diferentes sistemasintegrados

Figura 33 Arquitectura del sistema de registro y acceso de usuarios de RETELAB

El acceso al portal puede contemplarse desde tres escenarios diferentes (veacutease la Figu-ra 34) acceso de un usuario no registrado acceso de un usuario registrado y acceso de unusuario perteneciente a una red de centros de confianza

Usuario no registrado

El registro de un nuevo usuario se realiza a traveacutes de un portlet de registro basado enel sistema PURSe [53] [2] Este sistema permite registrar a un usuario y solicitarle un DCde forma automaacutetica en el mismo momento en que enviacutea sus datos Por cada registro el

32 Registro y acceso de los usuarios 39

Usuario

Shibboleth

Recuperar

Certificados

Registro Usuario

PURSe

Usuario

Registrado

Acceder al Portal

AutenticarIdentificar

Usuario

No

No

Siacute

No

Rol

Identificar desde

Shibboleth

Auntenticar Centro Origen

Redirigir Datos Usuario

Crear Cuenta

Temporal

Rol

Generar

Certificados

Siacute

Acceso Concedido

Siacute

Figura 34 Esquema simplificado del registro y acceso de usuarios al sistema

administrador del portal recibe un aviso para que valide los datos del nuevo usuario y sies oportuno se genera el DC a traveacutes de una CA propia del sistema Los certificados y lasclaves privadas son almacenados en MyProxy e identificados con el nombre y contrasentildeaproporcionados por el usuario al registrarse

Para integrar el RBAC fue necesario implementar una mejora sobre PURSe para quepudiese dar soporte a los roles de usuario Gracias a esta mejora el administrador puedeasignar roles a los usuarios que gestionan sus accesos tanto al portal como a los recursosdel sistema La mejora realizada permite crear automaacuteticamente Certificados de Atributos(ACs) X509 con informacioacuten sobre los roles de los usuarios y almacenarlos en un aacuterbol dedirectorios Lightweight Directory Access Protocol (LDAP) para su posterior uso en la gestioacutendel acceso

Detalles de implementacioacuten La implantacioacuten de un sistema RBAC en RETELAB serealizoacute intentando que tuviese el menor impacto posible sobre el resto de los subsistemas

40 Capiacutetulo 3 Proyecto RETELAB

integrados con el objetivo de que fuese reutilizable y sencillo de instalar En el proceso seintentoacute aprovechar al maacuteximo el coacutedigo libre desarrollado por los proyectos integrados (PUR-Se PERMIS GridSphere etc) e implementar nuevas clases que sirviesen de nexo entre lasdiferentes tecnologiacuteas

Para integrar los roles con el sistema de registro PURSe fue necesario implementar variasclases Java (veacutease la Figura 35) que se encapsularon como un ARchivo Java (JAR) generarun archivo de propiedades con los datos de acceso al LDAP y antildeadir un nuevo moacutedulo deregistro en el fichero webxml de PURSe El diagrama mostrado en la Figura 35 contiene lasclases implicadas en la asignacioacuten de roles El moacutedulo de registro es el nexo con el paquetePURSe y el encargado de laquoescucharraquo los eventos y realizar las acciones consecuentes PURSeproporciona un moacutedulo de registro para integrarse con GridSphere que da de alta a los usua-rios en el portal pero ademaacutes permite antildeadir nuevos moacutedulos siempre y cuando implementenla interfaz RegistrationModule El moacutedulo RetelabRegistrationModule fue desarrollado espe-ciacuteficamente para dar soporte a los ACs Cuando un nuevo usuario es dado de alta a traveacutesde PURSe el evento es capturado y gestionado por la clase RetelabRegistrationModule Loseventos de PURSe se reciben como objetos que contienen tanto la informacioacuten de la accioacutencomo los datos del usuario Utilizando la informacioacuten personal y la traveacutes de la clase Certi-

ficateGenerator se genera un AC que es firmado por la clase RetelabSigningUtility Una vezse ha generado un AC la clase LdapConnector es utilizada para almacenarlo en el directorioLDAP Las clases dedicadas tanto a la generacioacuten como a la firma de los ACs fueron im-plementadas basaacutendose en clases de PERMIS que es el software empleado para gestionar elacceso de los usuarios registrados a los recursos a traveacutes de roles

---

----

Figura 35 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles

La solucioacuten desarrollada utiliza DCs generados por PURSe y ACs creados a traveacutes de cla-ses basadas en procedimientos empleados por PERMIS Es interesante destacar un problema

32 Registro y acceso de los usuarios 41

surgido de la integracioacuten de los dos tipos de certificados para la creacioacuten de los DCs se utili-zoacute el proveedor de Extensioacuten Criptograacutefica de Java (JCE) denominado Cryptix mientras quepara los ACs se utilizoacute el JCE IAIK Para utilizar un proveedor JCE es necesario registrarloy concretamente un error en la implementacioacuten de Cryptix impediacutea su uso en caso de quealguacuten otro proveedor fuese registrado con posterioridad Al utilizar varios JCEs se generabanerrores frecuentemente por lo que fue necesario insertar un procedimiento previo a su utiliza-cioacuten para comprobar el orden de registro y modificarlo en caso de que fuese necesario (veacuteaseel Coacutedigo A1)

Una de las ventajas de usar GridSphere como base para el desarrollo del portal fue quedisponiacutea de una serie de portlets ya desarrollados para crear portales Web baacutesicos Del nuacutecleode portlets de GridSphere cabe destacar el portlet de administracioacuten que entre otras cosaspermite crear y asignar roles a los usuarios del portal GridSphere en base a dichos rolesgestiona el uso y acceso de los usuarios a los portlets

Dado que la gestioacuten del sistema Grid tambieacuten estaacute basada en roles y con el objetivo dedesarrollar un sistema de administracioacuten sencillo y usable se implementoacute una mejora sobreel sistema de administracioacuten de GridSphere para dar soporte a los ACs De este modo unadministrador puede gestionar los roles tanto del portal como del sistema Grid desde un puntouacutenico ya que en el momento en que un rol es asignado el AC correspondiente es creado yalmacenado automaacuteticamente en el directorio LDAP

Para dar soporte a los ACs fue necesario modificar la clase de GridSphere UserManager-

Portlet El fragmento de Coacutedigo A2 muestra los cambios realizados en el meacutetodo que antildeadeusuarios a GridSphere

Usuario registrado

Los usuarios con cuenta en RETELAB pueden acceder al portal autenticaacutendose en unportlet dedicado a tal fin Una vez que el usuario es identificado el sistema utiliza su nom-bre y contrasentildea para recuperar sus credenciales almacenadas Las acciones que el usuariopuede realizar sobre el sistema estaacuten guiadas por su rol y una poliacutetica de autorizacioacuten basa-da en un modelo RBAC PERMIS [28] [27] es el sistema de autorizacioacuten basado en rolesutilizado para gestionar el acceso de los usuarios a los servicios Grid Su integracioacuten con elGT4 se realiza gracias a que eacuteste permite configurar para cada servicio Grid una secuenciade mecanismos de autorizacioacuten denominados Policy Decision Point (PDP) PERMIS puededesplegarse como un PDP para antildeadir un control basado en roles al sistema Para gestionar

42 Capiacutetulo 3 Proyecto RETELAB

la autorizacioacuten de la ejecucioacuten de tareas en un recurso especiacutefico de acuerdo a un rol esnecesario modificar la poliacutetica de autorizacioacuten del meacutetodo createManagedJob en el ficheromanaged-job-factory-security-configxml y antildeadir el PDP de PERMIS como se muestra en elfragmento de Coacutedigo A3

El control de acceso de un usuario a un servicio o recurso Grid se realiza desde 3 puntoscomo puede verse en la Figura 36

1 Se comprueba si el usuario posee un rol suficiente para acceder a un determinadoportlet

2 Se comprueba que el usuario tenga un DC activo en el portal

3 Si el usuario invoca un servicio Grid PERMIS comprueba su rol y dependiendo de lapoliacutetica de seguridad del recurso solicitado se permite o no su uso

Figura 36 Esquema del control de acceso basado en roles de RETELAB

32 Registro y acceso de los usuarios 43

Acceso confiable

Actualmente y debido a la gran proliferacioacuten de sistemas a traveacutes de Internet cada personagestiona multitud de cuentas y registros lo que supone recordar una gran cantidad de nombresy contrasentildeas En muchos casos se acaba sacrificando la seguridad anotando las contrasentildeaso utilizando siempre los mismos datos para facilitar la tarea

Shibboleth [83] es un software que proporciona un sistema de autenticacioacuten Single-Sign

On (SSO) a traveacutes de la Web Esto significa que permite acceder a varios sistemas indepen-dientes a traveacutes de una uacutenica identificacioacuten Shibboleth se basa en una red confiable de sociosen los que cada uno tiene su propio sistema de autenticacioacuten A grandes rasgos su funciona-miento es el siguiente cuando un usuario perteneciente a uno de los centros de la red quiereacceder a un sistema de otro centro eacuteste uacuteltimo lo redirige al sistema de autenticacioacuten delcentro de origen Una vez que el usuario es autenticado el centro de origen manda los da-tos personales al centro de destino que permite o deniega el acceso en base a la informacioacutenrecibida

La integracioacuten de Shibboleth con RETELAB tiene como punto de partida la solucioacutendisentildeada por el grupo Meta Access Management System (MAMS) para su utilizacioacuten junto aGridSphere En RETELAB se ha partido de la versioacuten de MAMS y se ha desarrollado unamejora para registrar y generar automaacuteticamente los DCs y ACs de los usuarios que accedan atraveacutes de esta opcioacuten Los datos para generar los certificados deberaacuten ser enviados por el centroque lo autentica La secuencia de pasos para acceder a RETELAB a traveacutes de Shibboleth esla siguiente

1 El usuario accede a RETELAB a traveacutes del portlet de acceso de Shibboleth

2 El sistema muestra al usuario una lista con los centros asociados para que seleccione acuaacutel pertenece

3 El sistema redirige al usuario al sistema de autenticacioacuten correspondiente

4 Una vez que el sistema externo autentica al usuario eacuteste es redirigido nuevamente alportal de RETELAB junto con sus datos personales (nombre rol etc)

5 RETELAB utiliza la informacioacuten recibida para generar las credenciales del usuarionecesarias incluyendo el AC para utilizar el sistema

44 Capiacutetulo 3 Proyecto RETELAB

Para la integracioacuten de los DCs y ACs en el procedimiento de SSO se actuoacute principal-mente en la clase GridSphereServlet Esta clase fue previamente modificada en el proyectoMAMS para crear usuarios Shibboleth en el portal GridSphere y en el caso de RETELABse incorporaron los meacutetodos necesarios para la gestioacuten de los DCs y ACs El coacutedigo para lacreacioacuten y almacenamiento del los DCs asociados a los usuarios de Shibboleth se muestra enel Coacutedigo A4 mientras que el procedimiento para la creacioacuten de los ACs se presenta en elCoacutedigo A5

La inclusioacuten de Shibboleth en el sistema de RETELAB permite que los socios del proyectoque deseen integrarse en una Red de confianza puedan autenticarse a traveacutes de sus sistemasinternos sin necesidad de registrarse en el portal

33 Sistema de almacenamiento distribuido

El sistema de almacenamiento de RETELAB [75] [80] fue disentildeado para gestionar gran-des colecciones de datos provenientes de la teledeteccioacuten y de los propios proyectos ocea-nograacuteficos En RETELAB el concepto de dato debe entenderse como un fichero binario querepresenta un producto obtenido a traveacutes de un sensor o generado a traveacutes de un proceso deanaacutelisis de datos previos Este tipo de productos requiere un considerable espacio en disco porlo que su almacenamiento masivo es una tarea complicada que no puede ser resuelta utilizan-do DBs tradicionales La computacioacuten Grid puede afrontar este reto a traveacutes de un Data Grides decir un sistema de almacenamiento distribuido entre los diferentes recursos del Grid RE-TELAB no pretende ser soacutelo una herramienta para el almacenamiento y procesamiento sinoque busca ser un medio para compartir conocimiento entre la comunidad oceanograacutefica porello debe proporcionar procedimientos a los usuarios que de forma sencilla permitan pu-blicar y compartir los resultados de sus investigaciones Estos procedimientos deberiacutean estarbasados en el uso de metadatos para describir los productos almacenados y asiacute facilitar losprocesos de localizacioacuten y distribucioacuten de los mismos

Los metadatos son datos que describen el contenido de otros datos Funcionan de formasimilar a un iacutendice para localizar objetos A cada objeto se le asigna una laquoficharaquo que lo des-cribe a traveacutes de varios campos y que es utilizada para localizarlo dentro de un almaceacuten Unejemplo clarificador seriacutea el de las fichas de los libros en una biblioteca En RETELAB ca-da dato almacenado tiene asociado un conjunto de pares campo-valor que lo describen y queayudan a realizar buacutesquedas maacutes concretas a traveacutes de las colecciones de datos Los metadatos

33 Sistema de almacenamiento distribuido 45

pueden estar almacenados de forma interna incrustados dentro del propio dato al que describe(cabecera) o en un almacenamiento externo

Figura 37 Arquitectura del Data Grid desplegado en RETELAB

La arquitectura de la solucioacuten implementada que puede verse en la Figura 37 estaacute forma-da por tres capas la capa inferior que contiene a los recursos del Grid almacena las coleccio-nes de datos la capa intermedia o middleware integra las diferentes tecnologiacuteas que formanel nuacutecleo del sistema y por uacuteltimo la capa superior proporciona la interfaz de usuario paraacceder al sistema de almacenamiento

Las tecnologiacuteas presentes en la capa de middleware son las encargadas de gestionar elalmacenamiento de RETELAB El nuacutecleo del Data Grid lo forma el servicio de GT4 deno-minado Replica Location Service (RLS) Los elementos almacenados estaacuten identificados porun Nombre Loacutegico de Fichero (LFN) y cada uno de ellos tiene asociado lsquoNrsquo Nombres Fiacutesicosde Ficheros (PFNs) es decir las diferentes rutas donde estaacute almacenado ya que puede estarreplicado Por lo tanto el servicio laquoconoceraquo la localizacioacuten especiacutefica de cada dato dentrode RETELAB relacionando LFNs con PFNs El RLS funciona gracias a dos subsistemas el

46 Capiacutetulo 3 Proyecto RETELAB

Local Replica Catalog (LRC) y el Replica Location Index (RLI) Por un lado cada recursodel Data Grid de RETELAB tiene desplegado un LRC con un listado que relaciona los LFNscon los PFNs almacenados en ese recurso y por otro lado RETELAB posee un RLI que deforma centralizada relaciona los LFNs con los diferentes LRCs donde estaacuten almacenados Estarea de cada LRC informar al RLI de las colecciones de datos que gestiona

Para describir correctamente los datos es necesario disponer de un conjunto de metadatosque permita reflejar todas sus caracteriacutesticas y particularidades RETELAB ha utilizado el es-taacutendar para metadatos geoespaciales ISO 19115 [7] Este estaacutendar proporciona un conjuntode metadatos orientado a describir datos geoespaciales aportando informacioacuten sobre la iden-tificacioacuten la extensioacuten la calidad el modelo espacial y temporal la referencia espacial y ladistribucioacuten de dichos datos

El almacenamiento y gestioacuten de los metadatos se hizo de forma externa al propio dato(la alternativa seriacutea agregarlos en la propia cabecera) y centralizada empleando el Metadata

Catalog System (MCS) [100] El MCS es un servicio del GT4 que proporciona un cataacutelogode metadatos a traveacutes de una interfaz que cumple con el estaacutendar de OGSA Este cataacutelogopermite describir datos a traveacutes de metainformacioacuten OGSA-DAI [17] que proporciona unainterfaz OGSA para el acceso a ficheros XML y DBs relacionales puede integrarse con elMCS para proporcionarle la capacidad de almacenamiento de los metadatos asiacute como losmecanismos de autenticacioacuten propios de un Grid

El sistema de almacenamiento fue integrado en el portal Grid para que el usuario pudieseutilizarlo a traveacutes de los diferentes portlets desplegados El proceso de acceso y recuperacioacutende un archivo almacenado se resume en la Figura 38 e incluye los siguientes pasos

1 El usuario utilizando metadatos realiza una consulta a traveacutes del portlet correspon-diente

2 El sistema consulta el MCS para obtener los nombres loacutegicos cuyos metadatos se ajus-tan a la consulta de usuario

3 El sistema consulta al RLI para saber queacute LRCs gestionan los datos relacionados conlos alias obtenidos

4 El sistema consulta a los LRCs las direcciones fiacutesicas vinculadas a los LFN

33 Sistema de almacenamiento distribuido 47

5 A traveacutes de la direccioacuten fiacutesica el sistema puede mover los datos utilizando por ejemploel servicio GridFTP [13] El GridFTP que es parte del GT4 se basa en el protocolo FTPpara proporcionar transferencias de datos seguras robustas raacutepidas y eficientes

Figura 38 Secuencia resumida de acciones para buscar y acceder a los datos almacenados

Los usuarios no soacutelo pueden buscar y utilizar las colecciones de datos del sistema sinoque pueden publicar los resultados de sus trabajos asignaacutendoles una lista de metadatos quelos describan Ademaacutes cada usuario dispone de un espacio virtual propio donde puede des-cargar datos para editarlos y cuando esteacuten listos subirlos y compartirlos con el resto de lacomunidad La integracioacuten del Data Grid con el sistema de enviacuteo de trabajos se detalla en laSeccioacuten 351

Detalles de implementacioacuten Para facilitar la integracioacuten de la DB con los portlets sedesarrolloacute y empaquetoacute en un JAR un conjunto de clases que proporcionan las herramientaspara la gestioacuten de la DB virtual Cada portlet que quisiese emplear la DB soacutelo necesitabaincorporar el JAR entre sus libreriacuteas El paquete es descrito a traveacutes del diagrama de clasessimplificado de la Figura 39 Las clases implementadas interactuacutean con las clases proporcio-nadas por el GT4

48 Capiacutetulo 3 Proyecto RETELAB

Figura 39 Diagrama de clases simplificado en el que se presentan las clases utilizadas para desarrollar lasoperaciones sobre la DB virtual

El desarrollo de las clases para la gestioacuten de la DB tuvo varias dificultades y entre ellases interesante destacar dos [80]

ndash Integracioacuten de OGSA-DAI y el MCS GT proporciona libreriacuteas para gestionar el MCSconcretamente la clase DaiMCSClient es una implementacioacuten de un cliente para conec-tarse al MCS sobre OGSA-DAI Esta clase hace uso de otra llamada GenericServiceFet-

cher que se encarga de instanciar clases que implementan interfaces para comunicarsecon los diferentes servicios de datos GenericServiceFetcher se conecta con un servicioa traveacutes de una URL y recupera el WSDL que lo describe El anaacutelisis del WSDL lepermite determinar la distribucioacuten de OGSA-DAI empleada para implementarlo y asiacuteinstanciar la interfaz adecuada El coacutedigo utilizado para recuperar el WSDL intenta rea-lizar una conexioacuten a una URL pero sin especificar la clase responsable para gestionardicha conexioacuten Si la clase responsable no estaacute definida de forma expliacutecita se asignauna en tiempo de ejecucioacuten que depende del protocolo usado para la conexioacuten CuandoGenericServiceFetcher forma parte de un software de escritorio funciona correctamente

33 Sistema de almacenamiento distribuido 49

pero en un entorno J2EE debido a la forma de cargar las clases en memoria que usa elTomcat no encuentra la clase responsable adecuada Fue necesario modificar y hacerexpliacutecito la clase que debiacutea cargar en la conexioacuten modificando la clase GenericService-

Fetcher (veacutease el Coacutedigo A6)

ndash Gestioacuten de proxies cuando un usuario se autentica en el portal el sistema obtiene auto-maacuteticamente un proxy de su DC del repositorio MyProxy El GT proporciona libreriacuteaspara gestionar dicho proxy y definirlo como el DC por defecto para que sea empleadoen las autenticaciones El problema surge con el servicio RLS que necesita que el DCesteacute almacenado fiacutesicamente en un directorio local Para solucionarlo se desarrolloacute unprocedimiento de conexioacutenvalidacioacuten con la DB que fijaba el DC por defecto para quefuese utilizado por los servicios que lo requiriesen y ademaacutes fuera almacenado localy temporalmente para que el RLS pudiese usarlo en la autenticacioacuten El procedimientoempleado se detalla en el Coacutedigo A7

331 Almacenamiento de datos

Se han desarrollado diferentes procedimientos para introducir datos en el sistema de al-macenamiento de RETELAB que cubren las diferentes necesidades de sus usuarios

Almacenamiento de datos locales Se ha habilitado un sistema de transferencia y al-macenamiento de datos locales (veacutease la Figura 310) que permite a los usuarios compartirdatos con la comunidad Para transferir los datos el usuario debe seleccionar el producto desu computadora que desea compartir asignarle un LFN y describirlo a traveacutes de metadatosescogidos a traveacutes de una lista confeccionada a partir del estaacutendar ISO 19115

Almacenamiento de datos viacutea FTP En el campo de la observacioacuten de la Tierra eshabitual que los usuarios utilicen datos almacenados en servidores FTP externos para susproyectos Se ha implementado un portlet (veacutease la Figura 311) que permite el acceso a dichosservidores para copiar y transferir datos a RETELAB El usuario debe introducir sus datos deacceso navegar a traveacutes del aacuterbol de directorios del servidor FTP seleccionar los elementosque quiere antildeadir y describirlos a traveacutes de metadatos Si los datos estaacuten comprimidos puedeestablecerse el tipo de compresioacuten para que eacutestos sean desempaquetados automaacuteticamenteantes de almacenarse

50 Capiacutetulo 3 Proyecto RETELAB

Figura 310 Portlet para el almacenamiento de datos locales en RETELAB

Almacenamiento de datos generados en RETELAB Los datos generados tras la eje-cucioacuten de una tarea en RETELAB pueden compartirse con el resto de la comunidad a traveacutesdel sistema de almacenamiento (veacutease la Figura 312) El usuario puede visualizar los datos desalida y seleccionar los que desee antildeadir al Data Grid y al igual que en el resto de los casospodraacute ir antildeadiendo los metadatos que considere necesarios para describir cada elemento

Inicializacioacuten del Data Grid La introduccioacuten de nuevos elementos en el sistema de al-macenamiento se hace por defecto de uno en uno a traveacutes de un portlet dedicado pero estono es asumible en el momento de desplegar el sistema ya que es necesario dar de alta grandescolecciones de datos Se desarrolloacute un sistema de registro automaacutetico de datos a traveacutes de fi-cheros XML que indicaban rutas alias y metadatos para cada elemento Este procedimiento esde uso exclusivo del administrador y permite dar de alta automaacuteticamente grandes voluacutemenesde datos

Con el doble propoacutesito de probar el proceso para la inicializacioacuten del Data Grid y el deproporcionar suficientes recursos para poder ejecutar los proyectos que validariacutean el laborato-rio (veacutease la Seccioacuten 36) se dieron de alta varias colecciones de datos

ndash Una coleccioacuten de imaacutegenes SAR correspondientes por un lado al Golfo de Meacutexicoy por otro a la costa noroeste de la Peniacutensula Ibeacuterica asiacute como los datos de viento

33 Sistema de almacenamiento distribuido 51

Figura 311 Portlet para la integracioacuten de datos externos en el sistema

asociados a eacutestas en formato Network Common Data Form (NetCDF) Estos productosfueron empleados para desarrollar y validar el proyecto de SENTINAZOS (veacutease laSeccioacuten 363)

ndash Una coleccioacuten de datos en NetCDF empleada para desarrollar la aplicacioacuten para elcaacutelculo de la PP (veacutease la Seccioacuten 363) que incluiacutea

bull Datos de temperatura superficial del mar provenientes de los sensores AVHRR yMODIS

bull Datos sobre la concentracioacuten de clorofila provenientes de los sensores MODIS ySeaWIFS

bull Datos sobre la radiacioacuten solar disponible para el caacutelculo de la fotosiacutentesis estima-dos por la NASA

Cada producto almacenado fue etiquetado con un conjunto de metadatos para describirlo yasiacute facilitar su posterior identificacioacuten y buacutesqueda

El formato NetCDF [93] ha sido ampliamente utilizado en RETELAB debido a su popu-laridad dentro de la comunidad cientiacutefica Es utilizado regularmente en aplicaciones relacio-

52 Capiacutetulo 3 Proyecto RETELAB

Figura 312 Resultados de la ejecucioacuten de un trabajo en el Grid El usuario puede visualizarlos y revisarlos yoantildeadirlos al Data Grid previa descripcioacuten usando metadatos

nadas con la climatologiacutea meteorologiacutea o la oceanografiacutea para el intercambio de datos esdecir como formato de entradasalida

34 Visualizacioacuten de los datos

Se han integrado dos tipos de visores en RETELAB para la visualizacioacuten de los datosbien para validar las buacutesquedas bien para el anaacutelisis de los resultados tras ser procesados

341 Live Access Server

Un Live Access Server (LAS) [101] es un servidor con la capacidad de conectarse a ser-vidores externos OPeNDAP [32] para el acceso e intercambio de datos Estaacute disentildeado paraproporcionar acceso a datos cientiacuteficos georreferenciados y trabajar con informacioacuten prove-niente de distintos servidores como si fuese una uacutenica DB

Un LAS permite generar graacuteficos de forma dinaacutemica solicitar fragmentos de datos en unavariedad de formatos comparar variables almacenadas en DBs diferentes y generar estadiacutesti-cas baacutesicas La herramienta de visualizacioacuten por defecto es Ferret software de coacutedigo abiertoespecialmente dirigido a trabajar con datos georreferenciados y que permite crear datos cien-

34 Visualizacioacuten de los datos 53

tiacuteficos y proporciona una poderosa herramienta de anaacutelisis Una de las grandes ventajas de unLAS es que cualquier usuario puede acceder a traveacutes de un simple navegador

Se desplegoacute un LAS en RETELAB y se integroacute dentro del portal a traveacutes de un portlet conun Iframe elemento HTML que permite empotrar un documento HTML dentro de otro eneste caso se utilizoacute para incrustar la interfaz Web del LAS como puede verse en la Figura 313

Figura 313 Integracioacuten del Live Access Server en RETELAB

342 Integrated Data Viewer

El Integrated Data Viewer (IDV) [84] desarrollado por Unidata es una herramienta soft-ware implementada en Java que permite visualizar y analizar datos geocientiacuteficos Para in-tegrar IDV en el sistema se desarrolloacute un procedimiento que por cada elemento recuperadotras una consulta a la DB o por cada resultado producido por la ejecucioacuten de un trabajogenera dinaacutemicamente un enlace a un fichero Java Networking Launching Protocol (JNLP)La descarga por medio del enlace de este fichero inicia previa confirmacioacuten del usuario lainstalacioacuten temporal del software IDV La instalacioacuten se realiza de forma automaacutetica y trans-parente gracias a JavaWS y una vez finalizada IDV es cargado con los datos asociados alenlace El uacutenico requisito para su utilizacioacuten es disponer del Entorno de Ejecucioacuten de Java(JRE) que incluye al propio JavaWS

54 Capiacutetulo 3 Proyecto RETELAB

La Figura 314 muestra una composicioacuten de coacutemo un usuario podriacutea acceder a un ficheroNetCDF almacenado en su directorio virtual y visualizarlo a traveacutes del IDV de forma automaacute-tica

Figura 314 Integracioacuten del IDV en RETELAB

35 Gestioacuten y monitorizacioacuten de trabajos

A pesar de que el CESGA fue el principal desarrollador del moacutedulo de enviacuteo y monito-rizacioacuten de trabajos su descripcioacuten en el documento es necesaria debido a que es una partefundamental de RETELAB y se ha colaborado activamente en su integracioacuten con el resto delos moacutedulos del sistema

Existen diferentes alternativas que permiten a los usuarios enviar trabajos a un sistemaGrid pero requieren la interaccioacuten del usuario para por ejemplo decidir a queacute recurso delGrid se enviacutean las tareas lo que implica conocer su arquitectura La interaccioacuten con el usuarioresta transparencia y complica el proceso

Como se ha mencionado en varias ocasiones RETELAB ha sido disentildeado teniendo comopremisa la facilidad de uso por lo que el sistema de enviacuteo y monitorizacioacuten de trabajos fuedesarrollado para que permitiese a los usuarios configurar ejecutar monitorizar y recuperar

35 Gestioacuten y monitorizacioacuten de trabajos 55

los resultados sin necesidad de conocer detalles de implementacioacuten del sistema Grid Estenivel de abstraccioacuten se consiguioacute principalmente gracias a la integracioacuten de un metaplanifi-cador que optimiza el uso de los recursos compartidos y realiza tareas para el descubrimientode recursos planificacioacuten de tareas ejecucioacuten monitorizacioacuten y recuperacioacuten de trabajos

RETELAB incorporoacute un portlet para el enviacuteo y monitorizacioacuten de trabajos que interactuacuteacon el metaplanificador GridWay [64] [65] a traveacutes del API de Distributed Resource Ma-

nagement Application (DRMAA) [112] La eleccioacuten de Gridway como metaplanificador sebasoacute en varias de sus caracteriacutesticas permite interoperar con diferentes middleware Grid tie-ne soporte para DRMAA y permite enviar trabajos empleando el estaacutendar Job Submission

Description Language (JSDL) [16] Un esquema resumido de la arquitectura utilizada para elenviacuteo y monitorizacioacuten de trabajos puede verse en la Figura 315

Figura 315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten de trabajos en RETELAB

Detalles de implementacioacuten La integracioacuten del metaplanificador con el portal Web fuebastante laboriosa ya que Gridway fue originalmente concebido para ser empleado por usua-rios Unix a traveacutes de CLI o de aplicaciones DRMAA Tal y como estaba originalmente dise-ntildeado GridWay utilizaba el mismo proceso de Unix y el mismo proxy para todos los trabajosque se lanzaban desde la misma cuenta de usuario La identificacioacuten y el acceso de usuarios

56 Capiacutetulo 3 Proyecto RETELAB

de RETELAB no se basa en cuentas de Unix sino que son identificados por su proxy y su AC(veacutease la Seccioacuten 32) Todos los usuarios de RETELAB utilizan la misma cuenta de Unix anivel de recurso de Grid lo que lo hace incompatible con el disentildeo de GridWay Fue nece-sario implementar junto con el equipo de desarrollo del GridWay una versioacuten mejorada delmetaplanificador [33] que manteniendo la compatibilidad con el estaacutendar DRMAA permi-tiese identificar a los usuarios no soacutelo por su cuenta Unix sino tambieacuten por el identificadorpresente en el DC X509

351 Integracioacuten con el sistema de almacenamiento distribuido

El portlet para el enviacuteo de trabajos estaacute totalmente integrado con el Data Grid lo que per-mite por un lado utilizar los datos almacenados en RETELAB como paraacutemetros de entradaen los trabajos de usuario y por otro publicar y compartir los resultados de los trabajos conla comunidad

Test-1

aware

Figura 316 Integracioacuten del espacio de almacenamiento privado del usuario con el portlet de enviacuteo de trabajos

Los paraacutemetros de entrada para un trabajo pueden ser antildeadidos desde el directorio privadode un usuario como puede verse en la Figura 316 o desde el Data Grid

En el caso de que el usuario quiera utilizar los datos almacenados en el Data Grid deberaacutehacer uso de la buacutesqueda dirigida por metadatos Los resultados que obtenga podraacuten ser visua-

35 Gestioacuten y monitorizacioacuten de trabajos 57

lizados a traveacutes del IDV y asiacute confirmar su idoneidad antes de incorporarlos a su trabajo LaFigura 317 muestra la secuencia de buacutesqueda e incorporacioacuten de datos del Data Grid comoparaacutemetros de un trabajo

a

b

Figura 317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos a) Portlet de enviacuteo de trabajos con accesoa la buacutesqueda a traveacutes de la DB virtual b)Resultados de la buacutesqueda y seleccioacuten de los paraacutemetrospara el trabajo

Una vez lanzado el trabajo al Grid RETELAB pone a disposicioacuten del usuario un portletde monitorizacioacuten de tareas (veacutease la Figura 318) en el que puede verse el estado (esperaejecucioacuten error o finalizado) de todos sus trabajos Una vez que el trabajo ha finalizado el

58 Capiacutetulo 3 Proyecto RETELAB

monitor permite acceder a los resultados del mismo visualizarlos e incluso integrarlos en elData Grid (veacutease la Figura 312) en caso de que el usuario quiera compartirlos

Figura 318 Portlet para la monitorizacioacuten de los trabajos de usuario

36 Validacioacuten del laboratorio virtual

Una vez finalizado el desarrollo del laboratorio virtual fue probado desplegando variasaplicaciones desarrolladas en entornos de investigacioacuten en el aacuterea de la oceanografiacutea La in-tegracioacuten de estas aplicaciones sirvioacute para validar el sistema y para proporcionar softwareespecializado a la comunidad Todas las aplicaciones desplegadas estaacuten completamente inte-gradas en el portal por lo que hacen uso del sistema de autenticacioacuten del Data Grid y de lagestioacuten y monitorizacioacuten de trabajos

De entre las aplicaciones que a continuacioacuten se van a describir el Regional Ocean Mo-

del System (ROMS) y el modelo de produccioacuten primaria son aplicaciones desarrolladas porterceros que fueron adaptadas para ser ejecutadas en RETELAB mientras que el proyectoSENTINAZOS es un desarrollo propio concebido para solucionar un problema concreto quepor su entidad alcance y necesidad de investigacioacuten adicional del estado del arte es descritoen detalle en la segunda parte del presente documento

361 ROMS

ROMS [98] es un modelo de circulacioacuten oceaacutenica de nueva generacioacuten especialmente di-sentildeado para simular de manera precisa sistemas oceaacutenicos regionales La Figura 319 muestra

36 Validacioacuten del laboratorio virtual 59

un ejemplo de una simulacioacuten de la temperatura superficial oceaacutenica en la costa noroeste dela peniacutensula Ibeacuterica

Figura 319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten empleando ROMS

ROMS fue desarrollado en Fortran 9095 e implementa ademaacutes del meacutetodo en serie dosmeacutetodos de paralelizacioacuten [114] Message Passing Interface (MPI) y Open Multiprocessing

(OpenMP) mutuamente excluyentes Una caracteriacutestica del modelo es que todas sus entradasy salidas se basan en el formato NetCDF lo que facilita compartir los datos entre los usuariosy otras aplicaciones

El portlet que integra ROMS en el laboratorio fue desarrollado junto con el CESGA ypermite definir y ejecutar instancias del modelo Los usuarios a traveacutes de la interfaz Webpueden configurar los paraacutemetros de las simulaciones seleccionar los datos de entrada a traveacutesdel Data Grid monitorizar el estado de sus trabajos y cuando esteacuten finalizados recuperar losresultados En esta versioacuten es el usuario en el momento de la configuracioacuten quien debeseleccionar el modo de ejecucioacuten de la aplicacioacuten ya sea en serie o en paralelo viacutea OpenMPo MPI

60 Capiacutetulo 3 Proyecto RETELAB

362 Caacutelculo del modelo de produccioacuten primaria

RETELAB debiacutea poder integrar aplicaciones realizadas por los propios centros asociadosal proyecto por lo que se adaptoacute a traveacutes de un portlet un modelo realizado por el ICCMpara el caacutelculo de la Produccioacuten Primaria (PP) oceaacutenica

La PP puede definirse como la generacioacuten de componentes orgaacutenicos a partir del CO2 querealizan los organismos autoacutetrofos a traveacutes de los procesos de fotosiacutentesis o quimiosiacutentesis Esun mecanismo clave que permite a los oceacuteanos a traveacutes del fitoplancton ser los pulmones delplaneta ya que gracias a la PP se genera cerca del 50 de la produccioacuten global de oxiacutegeno yse captura alrededor de la mitad del CO2 mundial El caacutelculo de este paraacutemetro es fundamentalpara comprender el papel que juega el ciclo del carbono en el sistema climaacutetico mundial

Los llamados modelos biooacutepticos son los meacutetodos maacutes utilizados para el caacutelculo a granescala de la PP Estos modelos se basan en informacioacuten obtenida a traveacutes de sateacutelites queincluye entre otros datos informacioacuten sobre las biomasas de fitoplancton y de la luminosidadoceaacutenica En concreto el modelo implementado para RETELAB es una adaptacioacuten del Verti-cally Generalised Production Model (VGPM) desarrollado por Berhefeld y Falkowsky [20]

El portlet implementado permite definir los paraacutemetros de entrada al modelo y ejecutarloen el sistema Grid Los paraacutemetros esperados para un correcto funcionamiento son la tempe-ratura superficial oceaacutenica la concentracioacuten de clorofila y los datos sobre la radiacioacuten dispo-nible para fotosiacutentesis La Figura 320 muestra una composicioacuten que ilustra la visualizacioacutende resultados del caacutelculo de PP una vez lanzada la tarea en el sistema Grid

363 SENTINAZOS

Despueacutes de haber integrado y adaptado aplicaciones desarrolladas por terceros se afrontoacuteel reto de implementar una desde cero que aprovechase el sistema y ademaacutes fuese uacutetil para lacomunidad en un problema de difiacutecil solucioacuten como es la deteccioacuten semiautomaacutetica de con-taminantes marinos basados en hidrocarburos La contaminacioacuten marina es un problema quehabitualmente afecta a nuestras costas y que a menudo se relaciona con grandes cataacutestrofesde petroleros Sin embargo en un mayor porcentaje es originada por pequentildeos derrames quebien sea de forma fortuita debido a pequentildeos accidentes o bien sea de forma premeditada acausa de tareas de mantenimiento se producen diariamente Los centros de vigilancia ma-riacutetima invierten una gran cantidad de recursos en la vigilancia y persecucioacuten de estos actospero cubrir toda la superficie costera es una tarea inabarcable Los sateacutelites aportan la cober-

36 Validacioacuten del laboratorio virtual 61

Figura 320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data Grid y el sistema devisualizacioacuten de IDV

tura necesaria para el estudio y monitorizacioacuten de grandes aacutereas y concretamente estudiosprevios [25] [110] demostraron la viabilidad del uso de las imaacutegenes SAR de sateacutelites en ladeteccioacuten de este tipo de contaminantes

El objetivo es desarrollar una aplicacioacuten que permita el anaacutelisis de imaacutegenes de SAR paradetectar hidrocarburos e integrarla en RETELAB ya que esto proporcionariacutea ciertas ventajascomo

ndash Distribuir el almacenamiento de las imaacutegenes SAR

ndash Compartir las colecciones de imaacutegenes que cada centro disponga con el resto de parti-cipantes del proyecto

ndash Optimizar los algoritmos ya que tienen una gran carga computacional que en granmedida estaacute asociada a los bucles que las analizan y que son candidatos a ser paraleli-zados

ndash Ejecutar diferentes instancias de la aplicacioacuten al mismo tiempo aprovechando los dife-rentes recursos del sistema y asiacute analizar simultaacuteneamente diferentes aacutereas de la costa

62 Capiacutetulo 3 Proyecto RETELAB

Aunque la bibliografiacutea muestra que existen algoritmos similares para la deteccioacuten de ver-tidos eacutestos suelen presentar uno o varios de los siguientes problemas

ndash Requieren la presencia activa de un operador

ndash El coste computacional es demasiado alto para su uso en tiempo real

ndash Las implementaciones se basan en libreriacuteas comerciales con licencias privativas

ndash No tienen en cuenta los efectos de los fenoacutemenos meteoroloacutegicos principalmente elviento en la deteccioacuten de los vertidos

Debido a la complejidad de los algoritmos desarrollados la segunda parte de la tesis estaacutededicada a describirlos en detalle y resaltar el caraacutecter innovador de los mismos

Parte II

Validacioacuten del Laboratorio Virtualavances en la deteccioacuten automaacutetica de

vertidos de hidrocarburos

CAPIacuteTULO 4

ESTADO DEL ARTE

Introduccioacuten

Aunque existen muchos tipos de contaminantes los vertidos de hidrocarburos son pro-bablemente los que maacutes afectan al ecosistema marino A pesar de lo que popularmente esaceptado las grandes cataacutestrofes provocadas por los petroleros suponen una pequentildea parte dedicha contaminacioacuten Un estudio de la Agencia Espacial Europea (ESA) [39] reveloacute que tansoacutelo un 7 de los vertidos pueden ser atribuidos a accidentes mientras que un 45 corres-ponden a derrames que habitualmente se realizan durante operaciones de mantenimiento (porejemplo la limpieza de las sentinas) y que denominaremos sentinazos un 13 proviene defuentes naturales y el 35 restante corresponde a vertidos realizados directamente en los riacuteos

Los vertidos afectan a la economiacutea (turismo pesca etc) y al ecosistema de las regionesdamnificadas por lo que son necesarios sistemas y herramientas para su localizacioacuten Unaraacutepida identificacioacuten permitiriacutea minimizar su impacto e incluso identificar a sus causantesLos sensores que operan en el rango de las microondas comuacutenmente llamados radares handemostrado ser de gran utilidad en la deteccioacuten de vertidos de hidrocarburos

Radar El radar es un sistema de deteccioacuten activo [31] cuyo funcionamiento baacutesicamenteconsiste en el enviacuteo de un pulso de energiacutea en el rango de las microondas hacia la superficieterrestre Este haz es reflejado y retrodispersado por la superficie y parte de la energiacutea esrecogida nuevamente por la antena del radar La intensidad de la sentildeal que vuelve a la antenaes medida y grabada para posteriormente ser utilizada en la construccioacuten de una imagen de la

66 Capiacutetulo 4 Estado del arte

45

7

13

35

Sentinazos

Accidentes

Emanaciones

naturales

Riacuteos

Figura 41 Oriacutegenes de los vertidos de hidrocarburos Imagen adaptada de [39]

zona estudiada Cada piacutexel de la imagen estaacute asociado a un aacuterea sobre el terreno y almacena unvalor que representa la cantidad de energiacutea que regresa al sensor debido a la retrodispersioacuten

Tradicionalmente los buques y los aviones han sido los medios de vigilancia maacutes utili-zados en la lucha contra la contaminacioacuten oceaacutenica Por un lado los buques equipados consistemas de radar son uacutetiles para detectar contaminantes en sus proximidades y obtener mues-tras de los vertidos pero su restringida cobertura limita su eficacia por otro lado los avionesde vigilancia que utilizan sistemas de Radar Lateral Aerotransportado (SLAR) permiten vi-gilar aacutereas maacutes extensas pero su coste hace que sea poco viable emplearlos para monitorizarsuperficies de gran tamantildeo de forma intensiva y simultaacutenea En resumidas cuentas tanto losbuques como los aviones son adecuados como medios de primera intervencioacuten pero seriacuteadeseable un sistema maacutes econoacutemico con mayor cobertura

El uso de sistemas de radar instalados a bordo de sateacutelites permite abarcar aacutereas muchomaacutes extensas y a un coste razonable pero su resolucioacuten espacial no es adecuada para la buacutes-queda de pequentildeos derrames de hidrocarburos La resolucioacuten es la habilidad para distinguirdos objetos separados por la miacutenima distancia posible Si la distancia entre los objetos essuficiente cada uno de ellos estaraacute localizado en una celda de la imagen diferente y seraacuten dis-tinguibles en caso contrario el radar devolveraacute una combinacioacuten de la energiacutea reflejada porlos dos objetos como si fuese uno soacutelo [74] Tanto el radar aerotransportado como el espacialobservan la superficie lateralmente (veacutease la Figura 42) y su resolucioacuten espacial es diferente

67

en la direccioacuten paralela a la trayectoria del sateacutelite tambieacuten denominada resolucioacuten en acimuty en la perpendicular es decir en la direccioacuten al objetivo

En la perpendicular a la trayectoria del sateacutelite el sistema puede discriminar dos objetossi la distancia entre ellos es mayor que la mitad de la anchura del pulso (pulse width) enviadoLa resolucioacuten perpendicular se calcula a traveacutes de la siguiente foacutermula

Rp =c middot τ

2=

c2 middotβ

(41)

siendo c la velocidad de la luz y τ la anchura del pulso Tambieacuten puede expresarse atraveacutes el ancho de banda del pulso (pulse bandwidth) representado por β

Normalmente los radares a bordo de sateacutelites trabajan en anchos de banda que van desdelos 10 a los 40 MHz Este rango generariacutea resoluciones que van desde los 15 a los 37 metrosque son suficientemente buenas para la deteccioacuten de vertidos El problema principal estaacute aso-ciado a la resolucioacuten en acimut es decir en la trayectoria del sateacutelite que se calcula como

Rac =λ middotdLA

(42)

siendo λ la longitud de onda d la distancia del sensor al objetivo y LA la longitud de laantena

d

A

A

B

B

Rac

Rac

800 km

d=1131 km

15deg

45deg

Trayect

oria d

el sa

teacutelit

e

Perpendicular a la trayectoria

Figura 42 Resolucioacuten espacial de un radar a bordo de un sateacutelite

68 Capiacutetulo 4 Estado del arte

Dado que la longitud de onda estaacute situada dentro de un rango determinado de microondasy que no puede haber grandes variaciones de la altura a la que orbita el sateacutelite la resolucioacutenen acimut queda directamente determinada por la longitud de la antena Obtener una oacuteptimaresolucioacuten utilizando sistemas de radar sobre plataformas espaciales implicariacutea el uso de an-tenas de enormes proporciones lo que seriacutea impracticable Empleando los datos de ejemplode la Figura 42 un radar que operase en la Banda C con una longitud de onda de 5 cm y queviajase a bordo de un sateacutelite que orbitase a 800 km de altura necesitariacutea una antena de casi 2km para conseguir una resolucioacuten de 30 m cuando el Aacutengulo de Incidencia (IA) fuese de 45

LA =005 middot1131 middot103

30= 1885m (43)

Para solucionar este haacutendicap surge un tipo especial de radar llamado SAR que permiteobtener resoluciones de pocos metros con antenas de pequentildeas dimensiones Por ejemplo laresolucioacuten del Envisat alcanzaba los 30 m empleando una antena rectangular de 13 m x 10m

SAR Los principios baacutesicos del funcionamiento del SAR solucionan la limitacioacuten deresolucioacuten del radar El SAR montado sobre una plataforma moacutevil analiza y recoge diferentesmedidas de un mismo punto durante su trayecto (Figura 43) Esto permite simular una antenade las mismas proporciones que la distancia entre la primera y la uacuteltima medicioacuten llegando aconseguir resoluciones de tan soacutelo unos pocos metros

Liacutenea de tierra

Traza

Antena virtual

Primera medicioacuten

Uacuteltima medicioacuten

Figura 43 Antena virtual generada por SAR

Las imaacutegenes SAR son complejas y difiacuteciles de interpretar y esto es debido a muacuteltiplesfactores (la superficie es estudiada lateralmente el aacutengulo de emisioacuten e incidencia del haz de

69

energiacutea variacutea la sentildeal de retorno se ve afectada por la distancia entre la antena y la superficieestudiada etc) La Figura 44 muestra un ejemplo de una imagen SAR en la que se apreciacoacutemo la intensidad no es homogeacutenea Las zonas maacutes cercanas al sateacutelite y con menor IA danlugar a niveles de intensidad maacutes altos (representados de forma maacutes clara) mientras que laszonas maacutes alejadas y con aacutengulos mayores son representadas de forma maacutes oscura debido alos bajos niveles de intensidad

Figura 44 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007)

Ademaacutes de la amplia cobertura y buena resolucioacuten que puede conseguirse con el SAR esnecesario destacar que al ser un sensor activo su funcionamiento no depende de la radiacioacutensolar y puede utilizarse durante el diacutea y la noche Ademaacutes el sensor es independiente de lacobertura nubosa ya que su haz de energiacutea en el rango de las microondas le permite atravesarlasin sufrir alteraciones

Un estudio en mayor profundidad de SAR y de sus aplicaciones puede encontrarse en [66]

Imaacutegenes SAR de la superficie oceaacutenica

La superficie del mar en condiciones moderadas de viento presenta cierta rugosidad ge-nerada por las ondas capilares Esta rugosidad provoca una retrodispersioacuten uniforme del hazde energiacutea enviado por el SAR Los vertidos de hidrocarburos asiacute como determinados fe-

70 Capiacutetulo 4 Estado del arte

noacutemenos naturales [63] como las algas el hielo o los vientos de baja intensidad suprimendichas ondas capilares provocando un aplanamiento de la zona (veacutease la Figura 45b) Estasaacutereas tienen un comportamiento especular frente al haz de energiacutea que reduce considerable-mente la cantidad de radiacioacuten retornada al sensor Los piacutexeles que representan a este tipo dezonas almacenan valores de retrodispersioacuten muy bajos lo que provoca que se visualicen comoaacutereas oscuras El efecto provocado por los distintos fenoacutemenos naturales y que es similar alde los vertidos es conocido como look-alike Si el viento que afecta a la zona del vertido essuficientemente fuerte el efecto de laquoaplanamientoraquo de los hidrocarburos es atenuado hacien-do muy difiacutecil o imposible distinguirlo del mar limpio (veacutease la Figura 45c) Por el contrariosi el aacuterea analizada estaacute afectada por vientos de baja intensidad (veacutease la Figura 45a) lasondas capilares desaparecen y el contraste entre el vertido y el mar limpio no es suficientepara distinguirlos por lo que aparecen look-alikes

Diversos estudios [40] [92] [43] han fijado la velocidad del viento miacutenima y necesariapara detectar contaminantes entre 2 y 3 ms El liacutemite superior se encuentra maacutes difuso dadoque depende del tipo de hidrocarburo y del tiempo que ha pasado desde su vertido pero podriacuteaestablecerse que a partir de 10 ms su deteccioacuten es complicada y que una velocidad de entre12 y 15 ms podriacutea ser considerada el umbral maacuteximo para poder identificar un sentinazo Lascondiciones oacuteptimas de viento se encontrariacutean en el rango de 35 a 70 ms [54]

(a) (b) (c)Vientos de baja intensidad lt3 ms Vientos moderados Vientos fuertes gt 15 ms

Figura 45 Efecto del viento en la retrodispersioacuten de un pulso SAR

71

Metodologiacuteas para la deteccioacuten de vertidos de hidrocarburos en imaacutegenes SAR

Inspeccioacuten manual La inspeccioacuten manual de las imaacutegenes SAR para la deteccioacuten desentinazos es la teacutecnica maacutes popular y maacutes sencilla de aplicar Estaacute basada en dos grandesfases

ndash Localizacioacuten de fenoacutemenos sospechosos

ndash Anaacutelisis y asignacioacuten de un grado de probabilidad (alto medio o bajo) de que seansentinazos

Aunque la mayoriacutea de los fenoacutemenos detectados pueden ser clasificados correctamente porun experto basaacutendose soacutelo en la imagen existen algunos maacutes confusos en los que el operadornecesita utilizar informacioacuten externa adicional para su correcta clasificacioacuten como puede serdatos de vientos periodo del antildeo forma caracteriacutesticas del aacuterea de observacioacuten etc

Inspeccioacuten automaacutetica La literatura muestra un gran esfuerzo en el desarrollo de siste-mas automaacuteticos y semiautomaacuteticos para la deteccioacuten de vertidos analizando imaacutegenes SARPuede encontrarse un extenso repaso a los antecedentes bibliograacuteficos tanto en el anaacutelisisde Brekke y Solberg [25] como en el de Topouzelis [110] Dichos trabajos muestran que lamayoriacutea de los sistemas despueacutes de realizar alguacuten tipo de preprocesado sobre las imaacutegenes(calibrado proyeccioacuten filtrado de ruido enmascaramiento de la tierra etc) aplican un algo-ritmo compuesto de 3 grandes fases

ndash Segmentacioacuten el objetivo es localizar aislar y extraer todas las aacutereas susceptibles deser vertidos de hidrocarburos (incluyendo los falsos positivos)

ndash Extraccioacuten de caracteriacutesticas las regiones previamente detectadas son analizadas y ca-racterizadas

ndash Clasificacioacuten analizando las caracteriacutesticas extraiacutedas y a traveacutes de un clasificador seasigna a cada candidato una etiqueta o una probabilidad de ser sentinazo o look-alike

La extraccioacuten de caracteriacutesticas y la clasificacioacuten pueden estar apoyadas por informacioacutencontextual como por ejemplo proximidad a fuentes de vertidos (plataformas petroliacuteferasbarcos etc) o datos meteoroloacutegicos La Figura 46 resume las fases principales de un sistemaautomaacutetico

72 Capiacutetulo 4 Estado del arte

Figura 46 Sistema automaacutetico para la deteccioacuten de sentinazos

Comparativa entre la inspeccioacuten automaacutetica y la inspeccioacuten manual Los sistemasmanuales presentan ciertas desventajas frente a los automaacuteticos su eficiencia depende dela experiencia del experto que analiza las imaacutegenes el ojo humano tiene dificultades paraclasificar aacutereas difusas donde las fronteras entre la mancha y el fondo no estaacuten claras eloperador tiende a sobreseleccionar piacutexeles al delinear los bordes de las manchas el tiempo deprocesamiento es claramente superior al de un sistema automaacutetico etc

La principal desventaja de los sistemas automaacuteticos respecto a los manuales tiene que vercon la confianza en los mismos Los medios de vigilancia in-situ como barcos y aviones soncostosos y limitados y aunque los sistemas automaacuteticos pueden clasificar correctamente lamayoriacutea de los sentinazos existe un pequentildeo nuacutemero de ellos que son clasificados incorrec-tamente Los sistemas de deteccioacuten automaacuteticos suelen utilizarse como una herramienta deapoyo a las decisiones donde un operario tiene la uacuteltima palabra a la hora de movilizar losmedios de vigilancia

Teacutecnicas de deteccioacuten automaacutetica de sentinazos

Los siguientes subapartados profundizan en las teacutecnicas utilizadas para desarrollar lasprincipales fases de los algoritmos de deteccioacuten

Segmentacioacuten Analizando la intensidad de la sentildeal recuperada por el sensor es posibledistinguir ciertos fenoacutemenos oceaacutenicos Como se ha visto anteriormente los sentinazos asiacutecomo otros fenoacutemenos naturales se representan en las imaacutegenes SAR con valores de baja in-

73

tensidad El objetivo de esta fase es detectar todos los posibles sentinazos siendo su resultadouna imagen binaria en la que se destacan todos los candidatos El umbral de intensidad paraque un piacutexel sea segmentado no es constante y depende de factores asociados al aacuterea estudia-da como el IA del haz del sateacutelite o las condiciones meteoroloacutegicas La segmentacioacuten es unafase fundamental dentro del algoritmo dado que si un sentinazo no es aislado en esta fase nopodraacute ser clasificado como tal en fases posteriores

La diferencia de contraste entre los candidatos y el fondo de la imagen sugiere que lasteacutecnicas basadas en umbrales pueden ser adecuadas para la segmentacioacuten por lo que tanto lasteacutecnicas de umbralizacioacuten simple [41] como las de umbralizacioacuten adaptativa [103] [104] [37]han sido ampliamente utilizadas Ademaacutes de las basadas en umbrales han sido empleadasotras teacutecnicas para la segmentacioacuten como son las redes neuronales [108] [54] las teacutecnicasbasadas en texturas [21] [72] o las basadas en deteccioacuten de bordes [29] [81]

Debido a la complejidad de la segmentacioacuten y a las dimensiones de las imaacutegenes SAReacutesta es la fase computacionalmente maacutes costosa La velocidad de ejecucioacuten del algoritmo escrucial para dar una respuesta en tiempo cuasi real Para acelerar la segmentacioacuten algunossistemas reducen la resolucioacuten radiomeacutetrica de la imagen original de 32 bits codificaacutendolaen 8 bits [90] [54] o bien analizan soacutelo pequentildeas Regiones de Intereacutes (ROIs) de la imagenprincipal que previamente han sido seleccionadas por un experto [37] otros en cambio usanfactores de escape en sus algoritmos para no procesar todos los piacutexeles de la imagen [104]

Extraccioacuten de caracteriacutesticas Una vez detectados los candidatos eacutestos son analizadosy caracterizados El vector de caracteriacutesticas deberiacutea recoger la informacioacuten necesaria parauna posterior clasificacioacuten A pesar de que existen algunos trabajos que intentan unificar elnuacutemero y tipo de caracteriacutesticas [109] [111] en general no existen estudios sistemaacuteticos sobrela extraccioacuten de caracteriacutesticas y su influencia en la clasificacioacuten y por ello su eleccioacuten sueleproducirse de forma heuriacutestica No obstante la mayoriacutea de las caracteriacutesticas utilizadas seengloban en las siguientes clases

ndash Caracteriacutesticas geomeacutetricas desde el punto de vista de la composicioacuten quiacutemica del hi-drocarburo la forma no guarda una relacioacuten directa con el vertido no obstante desdeel punto de vista de su origen estudios previos [92] muestran que la forma de los sen-tinazos es caracteriacutestica y pertenece a uno de los tipos mostrados en la Figura 47

ndash Caracteriacutesticas fiacutesicas asociadas al nivel de intensidad de los piacutexeles que forman elcandidato y a los de la superficie circundante

74 Capiacutetulo 4 Estado del arte

ndash Texturas en contraposicioacuten a las caracteriacutesticas obtenidas de cada piacutexel de forma aisla-da las texturas aportan informacioacuten sobre la correlacioacuten espacial de dichos piacutexeles enun aacuterea

ndash Informacioacuten contextual la informacioacuten exclusivamente basada en la mancha puede noser suficiente para una correcta clasificacioacuten de las aacutereas maacutes confusas y es en estepunto donde la informacioacuten contextual como la distancia a una posible fuente del ver-tido [104] o los datos meteoroloacutegicos [40] puede ser de utilidad

Figura 47 Anaacutelisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo durante el antildeo 1999 Figuraadaptada de [92]

Clasificacioacuten El objetivo de esta fase es distinguir cuaacuteles de los candidatos segmentadosson sentinazos y cuaacuteles son look-alikes (falsos positivos) utilizando para ello un clasificadorcuya entrada es el vector de caracteriacutesticas obtenido en la fase anterior La comparacioacuten enteacuterminos de eficiencia entre los distintos clasificadores existentes en la bibliografiacutea resultamuy complicada dado que cada sistema utiliza su propio conjunto de pruebas y las caracte-riacutesticas extraiacutedas de los candidatos son diferentes Es conveniente resaltar que muchos de losconjuntos de prueba utilizados no contienen sentinazos confirmados in-situ sino que han sidodetectados y clasificados por un operador de forma manual En otros muchos casos simple-mente no se especifica la forma en que fueron identificados

75

En la bibliografiacutea podemos encontrar muacuteltiples aproximaciones al problema de la clasifi-cacioacuten Las Red Neuronal Artificial (ANN) [71] y sus diferentes implementaciones han sidomuy utilizadas

ndash Frate et aacutel [37] utilizaron una DB con 600 imaacutegenes ERS de baja resolucioacuten (100 m x100 m) codificadas en 8 bits de la que se extrajeron 139 candidatos (71 sentinazos y 68look-alikes) Utilizando un clasificador basado en una ANN y a traveacutes de una validacioacutencruzada (dejando uno fuera) se clasificoacute correctamente al 82 de los sentinazos y al90 de los look-alikes

ndash Topouzelis et aacutel [108] parten de una DB de 24 imaacutegenes de alta resolucioacuten (25 m x 25m) codificadas en 8 bits De la DB se seleccionaron 159 fragmentos (90 look-alikes y69 sentinazos) La ANN utilizada clasificoacute correctamente el 91 de los sentinazos y el87 de los look-alikes

ndash Oscar Garciacutea-Pineda et aacutel [54] seleccionaron de una DB con 700 imaacutegenes Radarsatcodificadas en 8 bits dos conjuntos de entrenamiento con 14 y 10 imaacutegenes respectiva-mente y dos conjuntos de validacioacuten con 5 imaacutegenes cada uno Un primer clasificadorentrenado para distinguir los piacutexeles con hidrocarburos de los piacutexeles con mar limpiofue aplicado sobre el conjunto de 14 imaacutegenes obtenieacutendose una eficacia del 9822El segundo clasificador entrenado sobre el conjunto de 10 imaacutegenes para clasificar en-tre 3 tipos de piacutexeles (sentinazos mar limpio y bajo viento) obtuvo una eficacia del9774

Otro gran grupo de clasificadores son los basados en modelos probabiliacutesticos

ndash Solberg et aacutel [103] combinaron un modelo estadiacutestico con un sistema basado en reglase incorporaron informacioacuten contextual (datos de vientos y distancia a posibles oriacutegenesdel vertido) Aplicando el algoritmo sobre 84 imaacutegenes SAR (inspeccionadas por unoperador) y usando un meacutetodo de validacioacuten cruzada su eficacia alcanzoacute el 94 en ladeteccioacuten de sentinazos y el 99 en la de look-alikes Este modelo ha sido mejoradoen varias ocasiones

bull Solberg y Brekke [104] trabajaron con un conjunto de entrenamiento consistenteen 56 imaacutegenes del Envisat y 71 imaacutegenes del Radarsat y un conjunto de pruebacon 27 imaacutegenes del Envisat El conjunto de prueba conteniacutea 37 sentinazos con-firmados y 12110 look-alikes (obtenidos de la segmentacioacuten de las imaacutegenes)

76 Capiacutetulo 4 Estado del arte

El 994 de los look-alikes fueron clasificados correctamente mientras que laeficacia en la deteccioacuten de los sentinazos alcanzoacute el 784

bull Brekke y Solberg [26] se basaron en el modelo anterior para desarrollar un sis-tema de deteccioacuten de sentinazos en dos pasos En el primer paso emplearon unclasificador estadiacutestico normalizado con el objetivo de detectar todos los senti-nazos y en un segundo paso aplicaron un estimador de confianza que asignabauna probabilidad a cada sentinazo Su DB se componiacutea de 104 imaacutegenes EnvisatWide Swath Mode (WSM) divididas en tres subconjuntos entrenamiento (56 imaacute-genes) validacioacuten (20 imaacutegenes) y test (27 imaacutegenes) La eficacia del clasificadorfue del 927 sobre los sentinazos y del 897 con los look-alikes

ndash Fiscella et aacutel [41] realizaron una comparativa entre un clasificador de probabilidadcompuesta y uno basado en la distancia de Mahalanobis El conjunto de datos de entre-namiento estaba compuesto por 80 sentinazos y 43 look-alikes mientras que el de testque estaba analizado por un operador teniacutea 11 sentinazos 6 look-alikes y 4 indefinidosEl 818 de los sentinazos y el 100 de los look-alikes fueron correctamente clasifi-cados usando la distancia de Mahalanobis mientras que el clasificador de probabilidadcompuesto identificoacute el 909 de los sentinazos y el 67 de los look-alikes

La eficacia de los diferentes meacutetodos de clasificacioacuten es totalmente dependiente de las fa-ses previas y por tanto es difiacutecil compararlos Es necesario segmentar el candidato para poderclasificarlo siendo clave para su correcta clasificacioacuten las caracteriacutesticas seleccionadas y supoder discriminatorio Es importante tambieacuten destacar que las eficacias de algunos clasifica-dores viene dada a nivel de piacutexel [54] y las de otros a nivel de candidato [103] En generalla eficacia a nivel de piacutexel suele ser maacutes elevada dado que se evaluacutea una muestra mayor y loserrores de clasificacioacuten si son pocos quedan maacutes diluidos

CAPIacuteTULO 5

SISTEMA AUTOMAacuteTICO DE DETECCIOacuteN DE

VERTIDOS EN IMAacuteGENES DE SAR

51 Descripcioacuten del proyecto

Galicia es una regioacuten en el noroeste de Espantildea con maacutes de 1200 km de costa y aproxi-madamente 720 playas donde el mar ha jugado siempre un papel muy importante en la vidade sus habitantes La pesca y la agricultura han sido pilares fundamentales de su economiacutea yactualmente el sector turiacutestico juega tambieacuten un papel esencial Sus costas playas y las bon-dades de su gastronomiacutea particularmente la relacionada con el producto de mar (pescados ymariscos) son en buena parte culpables del incremento turiacutestico Ademaacutes se encuentran enesta regioacuten importantes astilleros y puertos tanto civiles como militares

La situacioacuten geograacutefica de Galicia convierte a sus costas en un paso obligado para buenaparte del traacutefico mariacutetimo europeo El Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF)mostrado en la Figura 51 es utilizado para dirigir y controlar este traacutensito Las viacuteas de circu-lacioacuten estaacuten empezando por la maacutes proacutexima a la costa a 217 millas naacuteuticas (40 km) 283millas naacuteuticas (524 km) 355 millas naacuteuticas (657 km) y 395 millas naacuteuticas (73 km) deCabo Fisterra Las viacuteas C y D del ESTF son usadas para navegar de norte a sur mientras quela A y B se utilizan en sentido contrario Las viacuteas B y D estaacuten reservadas para embarcacionescon mercanciacuteas peligrosas

Cada antildeo miles de buques de mercanciacuteas navegan a lo largo del ESTF y debido a lanormativa internacional todos los barcos tienen que informar de su posicioacuten al servicio de

78 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

7degW8degW9degW10degW

44degN

43degN

42degN

0 30 60 90 12015

Millas naacuteuticas130ordm

75ordm

Cabo Vilaacuten

Cabo Fisterra

Traacutefico

costero

D C B A

Figura 51 Esquema de Separacioacuten de Traacutefico de Fisterra

Traacutefico Mariacutetimo de Fisterra al cruzar las liacuteneas de demora 130 a Cabo Vilaacuten y 75 a CaboFisterra La Tabla 51 muestra el nuacutemero de informes recibidos entre los antildeos 1999 y 2009

Antildeo 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009Buques 41829 44561 44331 43209 43469 42538 43212 41942 42136 42354 40320

Tabla 51 Nuacutemero de embarcaciones identificadas en el ESTF

Este intenso traacutefico tiene graves consecuencias medioambientales en forma de accidentesy vertidos como por ejemplo el del petrolero Urquiola en 1976 o el del Mar Egeo en 1992 Sinembargo la cataacutestrofe maacutes importante y con mayor repercusioacuten ha sido la del buque petroleroPrestige que el 13 de Noviembre del antildeo 2002 sufrioacute un accidente frente a la costa gallegapara acabar hundieacutendose al cabo de seis diacuteas En la Figura 52 se observa la extensioacuten delvertido 5 diacuteas despueacutes de la cataacutestrofe La amplia cobertura cientiacutefica del accidente permitioacuteobtener multitud de datos y de informacioacuten lo que unido a un incremento de los recursoseconoacutemicos tuvo como consecuencia el desarrollo de varios proyectos para la deteccioacuten yseguimiento de grandes vertidos [90] [18] [34]

A pesar de que los medios de vigilancia y prevencioacuten se incrementaron despueacutes de la ca-taacutestrofe se descubren regularmente pequentildeos vertidos (sentinazos) provenientes de las ope-raciones de mantenimiento y limpieza de sentinas Es conveniente recordar que los pequentildeos

51 Descripcioacuten del proyecto 79

vertidos a pesar de no ser tan mediaacuteticos son la fuente de contaminacioacuten por hidrocarburosmaacutes importante (veacutease la Figura 41)

8deg30W9degW9deg30W10degW10deg30W

44degN

43deg30N

43degN

42deg30N

42degN

0 10 20 30 405

Millas naacuteuticas

Figura 52 Imagen SAR del vertido provocado por el accidente del buque petrolero Prestige (17112002)

La Agencia espantildeola de Salvamento y Seguridad Mariacutetima (SASEMAR) es la autoridadpuacuteblica encargada de monitorizar las costas gallegas en general y el ESTF en particular SA-SEMAR como se observa en la Figura 53 cuenta con varias bases de vigilancia en Galiciay con recursos tanto marinos como aeacutereos para efectuar la monitorizacioacuten y la vigilancia Eluso de buques y aviones es costoso y limitado por lo que el acuerdo suscrito con la Agen-cia Europea de Seguridad Mariacutetima (EMSA) para recibir hasta un maacuteximo 12 avisos al mesprovenientes de la inspeccioacuten de imaacutegenes SAR sobre posibles vertidos es especialmente uacutetilEstos avisos son evaluados por el personal de SASEMAR y cuando se considera apropiadoenviacutean sus propios recursos a la zona

En general una nacioacuten costera como es Espantildea y en particular Galicia con su intenso traacute-fico mariacutetimo y su traacutegico historial de cataacutestrofes medioambientales deberiacutea poseer su propiosistema de anaacutelisis de imaacutegenes SAR sin depender de sistemas de terceros Con este aacutenimose desarrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos a partirde imaacutegenes SAR que aunque resulta faacutecilmente adaptable a otras regiones fue optimizadopara su uso en las costas gallegas [79] Se prestoacute especial atencioacuten a su implementacioacuten conel objetivo de dar una respuesta en tiempo cuasi real sin sacrificar la eficiencia Las diferentesherramientas software o libreriacuteas utilizadas para el desarrollo del prototipo estaacuten soportadaspor licencias puacuteblicas lo que permite la libre distribucioacuten del producto final Los siguientes

80 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

A Coruntildea

Porto do Son

Vigo

Recursos de SASEMAR en Galicia

1 avioacuten de vigilancia CESSNA 337-G

1 avioacuten de vigilancia CN235-300

1 helicoacuteptero S61N - Sikorsky

1 helicoacuteptero AW139

3 buques polivalentes

Figura 53 Bases de la SASEMAR en Galicia y recursos asignados a la regioacuten

apartados detallan el desarrollo del algoritmo utilizado y su incorporacioacuten a un prototipo LaSeccioacuten 52 presenta la DB de imaacutegenes usada para el desarrollo y las fuentes de datos uti-lizadas Las particularidades del algoritmo se describen en las Secciones 53 54 55 y 56Por uacuteltimo la Seccioacuten 57 se centra en la descripcioacuten del prototipo implementado y en suintegracioacuten en RETELAB

52 Fuentes de datos

521 Sateacutelite Envisat

En Marzo del 2002 la ESA puso en oacuterbita el sateacutelite de observacioacuten terrestre Envisat [1]Su objetivo principal era dotar a Europa de una mayor capacidad para la observacioacuten de laTierra desde el espacio y dar continuidad a las misiones predecesoras de los sateacutelites ERS-1 y ERS-2 La instrumentacioacuten del Envisat estaba disentildeada para realizar observaciones ymediciones del oceacuteano la tierra el hielo y la atmoacutesfera Estuvo operativo hasta el 8 de Abrildel 2012 diacutea en que se perdioacute el contacto El 9 de Mayo del 2012 la ESA dio por finalizadaoficialmente la misioacuten Algunos de los paraacutemetros orbitales del sateacutelite pueden consultarse enla Tabla 52

La continuidad de las misiones europeas para la observacioacuten de la Tierra estaacute garantizadacon la serie de sateacutelites Sentinel que estaacute siendo desarrollada por la ESA dentro del programa

52 Fuentes de datos 81

de Monitorizacioacuten Global para el Medioambiente y la Seguridad (GMES) Se espera que elprimer sateacutelite Sentinel sea lanzado durante el antildeo 2013

Oacuterbitas por diacutea 143Periodo repeticioacuten de ciclo 35 diacuteasOacuterbitas por ciclo 501Periacuteodo orbital 10059 minVelocidad de la oacuterbita 745 kmsInclinacioacuten orbital 9855

Altitud media 7998 km

Tabla 52 Paraacutemetros orbitales del sateacutelite Envisat

A bordo del Envisat viajaban 10 instrumentos dedicados a la observacioacuten de la Tierra

ndash El instrumento de Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite(DORIS) ofreciacutea datos sobre la oacuterbita del sateacutelite con gran precisioacuten Esta informacioacutenera utilizada para determinar la posicioacuten exacta del sateacutelite

ndash El Espectroacutemetro de Imaacutegenes de Resolucioacuten Media (MERIS) mediacutea la reflectancia dela Tierra en el rango del espectro solar analizando el color de los oceacuteanos y la coberturadel terreno Los mapas de alta resolucioacuten generados con sus datos son utilizados paraevaluar los efectos del cambio climaacutetico

ndash El Radioacutemetro Avanzado de Exploracioacuten Longitudinal (AATSR) permitiacutea medir la tem-peratura de la superficie de la Tierra y de los oceacuteanos a partir de la radiacioacuten teacutermicainfrarroja que emite nuestro planeta

ndash El Altiacutemetro de Radar (RA-2) era capaz de registrar la topografiacutea de la superficie te-rrestre con una precisioacuten de unos pocos centiacutemetros lo que haciacutea posible analizar porejemplo la evolucioacuten temporal del nivel del mar

ndash El objetivo principal del Radioacutemetro de Microondas (MWR) era el de realizar medicio-nes del vapor de agua de la atmoacutesfera y del contenido de agua liacutequida de las nubes

ndash El instrumento para Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Es-trellas (GOMOS) proporcionaba una cartografiacutea global del ozono en altitud y un segui-miento de tendencia de gran precisioacuten

82 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash El Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva (MIPAS) era unespectroacutemetro independiente de la luz solar que serviacutea para realizar mediciones de altaresolucioacuten del espectro de emisiones gaseosas en la atmoacutesfera terrestre

ndash La misioacuten principal del Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes paraCartografiacutea Atmosfeacuterica (SCIAMACHY) era registrar el espectro de rayos solares quepasan a traveacutes de la atmoacutesfera Se utilizaba para encontrar huellas de absorcioacuten espectralproducidas por determinados gases y entre otras utilidades permitiacutea realizar mapasglobales de polucioacuten atmosfeacuterica

ndash El Retrorreflector Laacuteser (LRR) era un sensor pasivo utilizado como reflector de pul-sos laacuteser de alta potencia enviados desde estaciones en tierra y que proporcionaba ladistancia entre el sateacutelite y la estacioacuten

ndash El Radar de Apertura Sinteacutetica Avanzado (ASAR) era un novedoso instrumento SARdel que se obtuvieron los datos utilizados para el desarrollo de SENTINAZOS La si-guiente Seccioacuten profundiza su descripcioacuten

La mayoriacutea de los instrumentos presentados excepto el MWR y el RA-2 teniacutean coberturaglobal y necesitaban entre 1 y 3 diacuteas para completarla

Radar de Apertura Sinteacutetica Avanzado

El ASAR es un sensor activo que opera en el rango de las microondas concretamenteen la banda C con una frecuencia de 5331 GHz En la figura 54 se muestra el espectroelectromagneacutetico ofreciendo mayor detalle en el rango de las microondas

Las caracteriacutesticas particulares del sensor ademaacutes de su independencia de la luz solar yde la cobertura nubosa lo hacen especialmente eficiente en el estudio de temas tan diversoscomo frentes oceaacutenicos oleaje marino deteccioacuten de barcos y contaminantes movimiento yextensioacuten de hielos agricultura estudios urbaniacutesticos desastres naturales etc Dependiendodel aacuterea de estudio se trabajaraacute en uno de los 5 modos de operacioacuten soportados por el sensory que son descritos en la Tabla 53

Envisat Wide Swath Mode

El Envisat Wide Swath Mode (WSM) es el modo de operacioacuten que mejor se adapta a labuacutesqueda de vertidos de hidrocarburos Por un lado gracias a la teacutecnica ScanSAR ofrece una

52 Fuentes de datos 83

Banda

Frecuencia (GHz)

Long onda (cm)

InfrarojoMedio

MicroondasRadar

Radio Bandas Audio AC

UV

GammaRayos X

P L S C X K Q V W

039 155

03 10 30 100 300 1000

56463610957539

100 30 10 3 1 03

Vis

ible

10 10 1010 10 10 10 10 10 10 120 18 16 14 12 10 8 6 4 2

Longitud de onda

Frecuencia Hz

00

3 Å

03

3 Å

30

30

0 Å

03

μm

3 μ

m

30

μm

30

m

03

cm

3 c

m

30

cm

3 m

30

m

30

0 m

3 k

m

30

km

30

0 k

m

Longitud de onda (λ)

04

μm

07

μm

Figura 54 Espectro electromagneacutetico Figura adaptada de la web de la ESA [1]

Modo Trazas Polarizacioacuten Resolucioacuten (m) Cobertura aproxima-da (km)

IA (grados sexagesi-males)

Ruido de fondo (dB)

Image Mode(IM)

IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

AlternatingPolarisation(AP)

IS1 IS2 IS3IS4 IS5 IS6o IS7

HHVVHHHVVVVH

30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

Wide Swath(WS)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 150 400 17minus42 -21 a -26

Global Moni-toring (GM)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 1000 400 17minus42 -32 a -35

Wave (WV) IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 5 15minus45 -20 a -22

Tabla 53 Modos de operacioacuten del sensor ASAR a bordo del Envisat

amplia cobertura de 405 km y una resolucioacuten media de 150 m Por otro lado la relacioacuten entreel ruido de fondo y la retrodispersioacuten es adecuada para la buacutesqueda de sentinazos en casi todaslas condiciones cuando se utiliza la polarizacioacuten vertical-vertical

Polarizacioacuten Los radares pueden transmitir el haz energeacutetico con polarizacioacuten horizon-tal (H) o con polarizacioacuten vertical (V) y recibir la sentildeal retornada nuevamente con polariza-cioacuten horizontal vertical o ambas Esto es interesante debido a que los diferentes materiales

84 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de los que estaacute compuesta la cubierta terrestre reflejan las sentildeales con intensidades diferentesdependiendo de la polarizacioacuten e incluso algunos materiales convierten una polarizacioacuten enotra Dependiendo del objetivo de la investigacioacuten es maacutes adecuado un tipo u otro de pola-rizacioacuten Los productos de Envisat WSM pueden trabajar con dos tipos de polarizacioacuten lavertical-vertical (VV) y la horizontal-horizontal (HH)

Ruido de fondo Los sistemas para la adquisicioacuten de datos y procesamiento de sentildealesestaacuten afectados por diferentes tipos de ruido y de sentildeales no deseadas La suma de todo estoes lo que se define como ruido de fondo o noise floor La intensidad de este ruido situacutea elumbral o medida miacutenima que puede ser tomada e identificada con certeza es decir no sepuede identificar nada cuya intensidad de sentildeal sea inferior al ruido de fondo ya que quedaenmascarado por dicho ruido

La retrodispersioacuten del oceacuteano variacutea dependiendo del IA la polarizacioacuten y la velocidad ydireccioacuten del viento Los productos WSM de Envisat con polarizacioacuten VV poseen un ruidode fondo entre -21 dB y -26 dB que se encuentra por debajo de la media de retrodispersioacutendel oceacuteano en casi todas las condiciones Esta caracteriacutestica permite buscar la presencia dehidrocarburos ya que eacutestos se asocian a valores de retrodispersioacuten inferiores a los generadospor las aacutereas del mar sin presencia de contaminantes La Figura 55 muestra la retrodispersioacutendel oceacuteano obtenida de una imagen SAR que no teniacutea presencia de hidrocarburos Se puedeobservar que la retrodispersioacuten variacutea seguacuten el IA y la velocidad del viento

Aacutengulo de incidencia (grados)

Retr

odis

pers

ioacuten (

dB

)

Vientos 10 msVientos 6 msVientos 4 ms

15 20 25 30 35 40 45

5

0

-5

-10

-15

-20

-25

Figura 55 Retrodispersioacuten media obtenida de una imagen ASAR WSM para vientos de 4 ms 6 ms y 10 ms

52 Fuentes de datos 85

522 Coleccioacuten de datos

Para el desarrollo del sistema se ha contado con una coleccioacuten de 47 imaacutegenes WSM conpolarizacioacuten VV del Envisat obtenidas a traveacutes de un convenio con la ESA Las imaacutegenestomadas entre los antildeos 2007 y 2011 corresponden al noroeste de la Peniacutensula Ibeacuterica estandola mayoriacutea centradas en la costa gallega como puede verse en el mapa de densidad mostradopor la Figura 56

Figura 56 Representacioacuten de la densidad de cobertura de la Base de Datos

La regioacuten de estudio es una ampliacioacuten del ESTF construida tal y como se muestra en laFigura 57

Las imaacutegenes de los antildeos 2007 y 2008 contienen sentinazos detectados por operadoresde la EMSA a los que se les ha asignado una probabilidad (alta baja o media) de ser hidro-carburos El resto de la coleccioacuten contiene sentinazos y look-alikes confirmados a traveacutes demisiones aeacutereas de SASEMAR El nuacutemero de imaacutegenes de la coleccioacuten y cuaacutentas de ellascontienen sentinazos (confirmados o no) se puede ver en la Figura 58a agrupadas por antildeo Laclasificacioacuten de los sentinazos de la coleccioacuten es mostrada en la Figura 58b

La Figura 59 muestra la posicioacuten geograacutefica de los vertidos presentes en la DB Eacutestos secaracterizan por estar agrupados en torno al ESTF lo cual es debido a que es paso obligadopara los buques y en consecuencia sufre en mayor medida el efecto de los sentinazos

86 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 57 Aacuterea de estudio y ESTF

a b

Figura 58 a) Imaacutegenes SAR e imaacutegenes con sentinazos agrupadas por antildeo b) Clasificacioacuten de las manchas de laBase de Datos

53 Preprocesado

531 Calibrado y proyeccioacuten cartograacutefica

La DB utilizada para el desarrollo del proyecto almacena productos Envisat WSM de nivel1 Para que estos productos se adapten a las necesidades del proyecto es necesario aplicar-les varias operaciones de preprocesado por un lado las imaacutegenes son calibradas [95] conel objetivo de conseguir valores que realmente representen la retrodispersioacuten de la superficie

53 Preprocesado 87

Figura 59 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten

estudiada y que puedan ser comparados entre ellos La calibracioacuten aplicada consiste en unaserie de correcciones radiomeacutetricas que permiten comparar imaacutegenes sin importar si fueronobtenidas por el mismo sensor en queacute momento fueron tomadas el modo usado o si fueronprocesadas por diferentes procesadores Por otro lado las imaacutegenes calibradas son proyecta-das a un mismo sistema de referencia de coordenadas

Una vez realizadas estas actividades de preprocesado las imaacutegenes pueden utilizarse co-mo datos de entrada al sistema no obstante se aplicaraacuten otras dos funciones un enmascara-miento de la tierra y un filtrado de ruido antes de proceder a la segmentacioacuten con el objetivode optimizar la informacioacuten contenida en las mismas

532 Maacutescara de tierra

El objetivo del sistema es la deteccioacuten de vertidos de hidrocarburos en la superficie oceaacute-nica Las imaacutegenes utilizadas tienen una cobertura de 400 km x 400 km y al estar centradasen el ESTF contienen habitualmente regiones de tierra que corresponden a la costa noroestede la Peniacutensula Ibeacuterica Para no procesar dichas regiones eacutestas son enmascaradas asignandovalores nulos a los piacutexeles que las forman

88 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Desde el punto de vista espacial la costa gallega es muy compleja debido a la presencia delas riacuteas y otros accidentes geograacuteficos La costa y sobre todo las riacuteas funcionan como parapetoprotegiendo de los vientos a la superficie oceaacutenica y como se ha visto en el Capiacutetulo 4 lasaacutereas marinas dominadas por vientos de baja intensidad se visualizan en las imaacutegenes SARde forma similar a las afectadas por vertidos (falsos positivos) Para evitar estos look-alikes

se ha ampliado la maacutescara de tierra en 3 millas naacuteuticas tal y como puede apreciarse en lafigura 510

5degW6degW7degW8degW9degW10degW11degW

46degN

45degN

44degN

43degN

42degN

Regioacuten de Intereacutes

0 50 100 15025Millas Nauacuteticas

Figura 510 Maacutescara de tierra utilizada La franja roja representa una ampliacioacuten de 3 millas naacuteuticas a partir de laliacutenea de costa

533 Filtro de ruido

Previamente al procesado de las imaacutegenes es necesario aplicar un filtro de mediana conuna ventana de 3 x 3 piacutexeles con el objetivo de eliminarsuavizar el ruido de las imaacutegenesLa Figura 511 muestra un ejemplo de aplicacioacuten del filtro de mediana y coacutemo el valor de unpiacutexel se ve influenciado por los de su entorno

54 Segmentacioacuten

El objetivo de esta fase es detectar sobre la imagen SAR todos los piacutexeles susceptiblesde pertenecer a un vertido de hidrocarburo y generar una imagen binaria donde los candidatosdestaquen de la superficie marina limpia

54 Segmentacioacuten 89

Mediana - valor seleccionado

15 10 11 10 10

13 10 9 10 13

12 11 15 13 14

12 10 13 7 15

16 15 12 13 10

darr 7 9 10 10 10 11 13 13 15

darr

Secuencia ordenada

Figura 511 Ejemplo de uso del filtro de mediana para reducir el ruido de la imagen Imagen adaptada de [35]

Dado que los bajos niveles de intensidad generados por las aacutereas con baja retrodispersioacutenestaacuten asociados a hidrocarburos (ademaacutes de a otros fenoacutemenos naturales) es loacutegico pensar queuna segmentacioacuten basada en umbrales pueda ser el meacutetodo maacutes adecuado La complejidad delas imaacutegenes SAR (por ejemplo la fuerte dependencia del nivel medio de intensidad con el IA) provoca que los umbrales simples no sean adecuados Una funcioacuten de umbral adaptativo quetenga en cuenta el IA del piacutexel analizado ademaacutes de otros factores parece la mejor opcioacuten

541 Establecimiento del umbral adaptativo

Con el objetivo de establecer una funcioacuten de umbral adaptativo se muestrearon 1652 piacute-xeles pertenecientes a zonas afectadas por vertidos de hidrocarburos De cada piacutexel se registroacutesu valor de intensidad y su IA asociado La Figura 512 presenta graacuteficamente los piacutexelesmuestreados agrupados por su IA

En este histograma se observa que los IAs de los piacutexeles seleccionados no estaacuten distribui-dos uniformemente y la razoacuten es que la mayoriacutea de las imaacutegenes de la DB estaacuten centradas enel ESTF por lo que la relacioacuten entre las aacutereas de la imagen y los IAs se mantiene relativa-mente constante El rango de IAs con mayor nuacutemero de piacutexeles muestreados suele coincidircon el aacuterea cubierta por el ESTF que es la zona que contiene la mayor cantidad de vertidosLos piacutexeles de la muestra fueron agrupados de acuerdo con su IA en intervalos de 1 entre los17 y los 42 Para cada intervalo se calculoacute la media y su desviacioacuten tiacutepica y se descartaronlos piacutexeles con valores de intensidad superiores a la suma de los dos valores calculados Paracada intervalo se seleccionaron los valores de intensidad maacuteximos (veacutease Ecuacioacuten 51) y conestos puntos como liacutemite superior se realizoacute un estudio de regresioacuten para obtener una funcioacutenque los aproximase

x = max(B)B = y isin B yle ν(A)+σ(B) (51)

90 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 512 Piacutexeles muestreados agrupados seguacuten su IA

El resultado del anaacutelisis fue que tanto una funcioacuten de cuarto grado (52) como una expo-nencial negativa (53) se ajustaban de forma significativa a los datos de la muestra

y =minus63401 middot10minus6x4 +000073027x3minus0029919x2 +050015xminus26381 (52)

y = 74199eminus018212x (53)

Estas funciones debiacutean representar los valores maacuteximos de intensidad que podiacutea almace-nar un piacutexel en funcioacuten de su IA asociado en caso de que representase un vertido es decirtodo piacutexel con un valor de intensidad igual o menor se considerariacutea vertido Se optoacute por unaaproximacioacuten agresiva ya que es preferible en esta fase de segmentacioacuten obtener algunosfalsos positivos a descartar vertidos

Las pruebas efectuadas aplicando cualquiera de las dos funciones mostraron demasiadosfalsos positivos La obtencioacuten de look-alikes en la fase de segmentacioacuten no es preocupantee incluso es esperada dado que es la fase de clasificacioacuten la que tradicionalmente asumela responsabilidad de seleccionar cuaacuteles son los sentinazos y cuaacuteles no pero seriacutea deseableobtener el miacutenimo posible y asiacute disminuir la responsabilidad del clasificador

Las funciones obtenidas estaban basadas en la intensidad y en el IA pero determinadosestudios previos [40] ponen de manifiesto la importancia de los factores meteoroloacutegicos y

54 Segmentacioacuten 91

particularmente los vientos en la deteccioacuten de sentinazos Dado que el nivel de retrodispersioacutentiene relacioacuten directa con la rugosidad de la superficie (veacutease la Figura 45) y eacutesta se debe ala presencia de viento la funcioacuten adaptativa deberiacutea tener en cuenta los datos del viento de lazona estudiada La Figura 55 muestra la influencia de la velocidad del viento en la intensidadUtilizar datos de viento en la fase de segmentacioacuten permitiraacute realizar una segmentacioacuten maacutesprecisa facilitando el trabajo posterior del clasificador

1 2 3 4 5 6 7 8 9

0

100

10

200

300

400

500

600

Piacutex

ele

s m

uestr

eados

Total piacutexeles 1652

Velocidad del viento (ms)0

Figura 513 Elementos de la muestra agrupados por la velocidad del viento

La forma maacutes directa de acceder a los datos de viento correspondientes a la zona cubiertapor una imagen SAR es a traveacutes de los datos contenidos en la propia imagen CMOD5 [60] esun modelo geofiacutesico desarrollado para datos obtenidos en la banda C que permite relacionarla retrodispersioacuten generada por la rugosidad de la superficie oceaacutenica con la velocidad y di-reccioacuten del viento Utilizando este modelo se obtuvieron los datos de viento correspondientesa las imaacutegenes de la DB Los resultados generados con una resolucioacuten menor que la de laimagen SAR fueron interpolados usando el algoritmo Kriging [88] para obtener la mismaresolucioacuten que la imagen original

La muestra de 1652 piacutexeles fue enriquecida antildeadiendo los datos de velocidad de vientocalculados con el modelo CMOD5 Los piacutexeles de la muestra fueron agrupados seguacuten la velo-cidad del viento (veacutease Figura 513) La mayoriacutea de estos piacutexeles tienen asociadas velocidadesde viento entre los 3 y 7 ms por lo que cubren el rango oacuteptimo para la deteccioacuten de verti-dos [54] Los piacutexeles con vientos mayores a 7 ms se agruparon en un soacutelo intervalo ya que la

92 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

muestra no teniacutea suficientes datos como para realizar maacutes divisiones Cada grupo creado fuenuevamente dividido en subconjuntos en base al IA En cada subconjunto (con al menos 10valores) se calculoacute la media y la desviacioacuten tiacutepica de los valores de intensidad Finalmente seescogioacute el valor de intensidad maacutes alto para cada subconjunto siempre y cuando fuese igual omenor a la suma de la media y el doble de la desviacioacuten tiacutepica de dicho subconjunto Noacuteteseque en esta ocasioacuten al ajustar mejor los valores gracias a los vientos se optoacute por relajar elumbral maacuteximo empleando dos veces la desviacioacuten tiacutepica y no soacutelo una como en el caso de laumbralizacioacuten sin vientos (veacutease Ecuacioacuten 51) El esquema del proceso seguido se muestraen la Figura 514

A=muestra de 1652 piacutexeles

A1= piacutexeles con

viento lt 4 ms

A2= piacutexeles con

viento lt 5 ms

A3= piacutexeles con

viento lt 6 ms

A4= piacutexeles con viento lt 7 ms

A5= piacutexeles con viento gt= 7 ms

A1= piacutexeles con

aacutengulo de incidencia[1718]

A2= piacutexeles con

aacutengulo de incidencia[1819]

A25= piacutexeles con

aacutengulo de incidencia[4142]

x25x2x1

xi=max(Bi) Bi=yisinAi y le A

i + 2σAi

Figura 514 Esquema de acciones realizadas para establecer el umbral adaptativo

El resultado de este proceso es un conjunto de intensidades para cada rango de velocidadestudiado Realizando un anaacutelisis de regresioacuten sobre los datos se comproboacute que al igual queen la primera aproximacioacuten una funcioacuten de cuarto grado y una exponencial negativa se ajus-taban de forma significa a la muestra Estudiando dichas funciones con maacutes detalle y a traveacutesde pruebas de segmentacioacuten se comproboacute que los mejores resultados se obteniacutean usando lafuncioacuten de cuarto grado en los aacutengulos de incidencia menores y la exponencial negativa en losmayores Se establecioacute una funcioacuten definida por partes para el caacutelculo adaptativo del umbralen el que el IA es utilizado para establecer el punto de corte entre las partes La Tabla 54presenta los coeficientes de las funciones adaptados seguacuten la velocidad del viento asiacute comolos puntos de corte establecidos por los IAs

54 Segmentacioacuten 93

Velocidad del viento Funcioacuten de cuarto grado Punto de corte Funcioacuten exponencial negativa

vel lt= 4ms 63662lowast10minus6x4minus000083671x3 +0041262x2minus090719x+75353 378 59169eminus017881x

vel lt= 5ms 30874lowast10minus6x4minus000043845x3 +0023424x2minus055931x+50588 3625 66689eminus017944x

vel lt= 6ms 21022lowast10minus6x4minus000031131x3 +0017414x2minus04365x+41503 3682 57770eminus017217x

vel lt= 7ms 27742lowast10minus6x4minus000039094x3 +002086x2minus050088x+45883 3752 54477eminus016858x

vel gt 7ms 12416lowast10minus6x4minus000019466x3 +0011604x2minus031143x+3182 368 62053eminus017101x

Tabla 54 Coeficientes y puntos de corte para las funciones de umbral adaptativo

Las funciones exponenciales negativas para vientos de 4 ms 6 ms y mayores que 7 msse representan graacuteficamente en la Figura 515

0

005

01

015

02

025

03

20 25 30 35 40

Inte

nsi

da

d

Aacutengulo de incidencia

Viento lt=4 msViento lt=6 msViento gt 7 ms

Figura 515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para distintos valores de lavelocidad del viento

542 Aplicacioacuten del umbral adaptativo

El proceso de segmentacioacuten se aplica sobre todos los piacutexeles de una imagen SAR exceptolos que previamente han sido enmascarados como tierra y los que pertenecen a zonas fueradel aacuterea de alcance del sensor

De cada piacutexel procesado se extrae su intensidad el IA y la velocidad del viento A partirde la velocidad del viento y de los coeficientes presentados en la Tabla 54 se obtienen lasfunciones adecuadas y el punto de corte (IA) entre la funcioacuten polinoacutemica y la exponencialnegativa Seguacuten el IA del piacutexel y tras compararlo con el punto de corte se selecciona una

94 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de las dos funciones y se utiliza el aacutengulo como paraacutemetro La funcioacuten devolveraacute un umbralque identificaraacute el maacuteximo valor de intensidad que podriacutea tener el piacutexel analizado para serconsiderado parte de un sentinazo Si la intensidad es menor o igual al umbral el piacutexel seraacuteetiquetado como candidato y en caso contrario como superficie limpia

543 Filtro de vientos

Dado que existen estudios previos que consideran que es necesaria una velocidad del vien-to de al menos 3 ms para detectar un sentinazo los piacutexeles segmentados que esteacuten afectadospor vientos de intensidad menor que ese umbral son considerados look-alikes y son eliminadosde la imagen segmentada

544 Filtro de aacuterea

Los medios de vigilancia contra la polucioacuten como los buques y aviones tienen un costede uso elevado y son limitados por lo que soacutelo son utilizados cuando la situacioacuten es poten-cialmente dantildeina o el vertido tiene una dimensioacuten considerable Las estructuras formadas porlos piacutexeles segmentados que tengan un aacuterea menor que 50 piacutexeles (equivalente a 03km2) sonconsideradas como falsos positivos o como pequentildeos sentinazos no dantildeinos que pueden sereliminados de la imagen segmentada

55 Extraccioacuten de caracteriacutesticas

El resultado de la fase de segmentacioacuten es una imagen binaria donde aparecen resaltadostodos los sentinazos junto con un gran nuacutemero de look-alikes Es tarea de un clasificador sepa-rar los sentinazos de los falsos positivos y para una correcta clasificacioacuten es necesario obtenerun vector de caracteriacutesticas para cada candidato que pueda ser analizado por el clasificador

El vector de caracteriacutesticas utilizado para el desarrollo de este algoritmo estaacute basado entres tipos de caracteriacutesticas

ndash Caracteriacutesticas de forma la forma puede ser un factor determinante para clasificar uncandidato Estudios anteriores [92] han mostrado que debido a su naturaleza los senti-nazos pueden agruparse en 5 grandes clases desde el punto de vista de su forma (veacuteasela Figura 47)

55 Extraccioacuten de caracteriacutesticas 95

ndash Caracteriacutesticas fiacutesicas se han incorporado caracteriacutesticas asociadas al nivel de intensi-dad de los piacutexeles dado que su importancia y utilidad ha sido refrendada por estudiosprevios [37]

ndash Informacioacuten contextual Los datos de contexto en general y maacutes concretamente los devientos [40] son de gran utilidad a la hora de detectar sentinazos y deben ser incorpora-dos al vector de caracteriacutesticas

Tipo Nombre Descripcioacuten

Forma

APR Aacuterea PeriacutemetroElongacioacuten Eje mayor Eje menor

MPR Eje mayor PeriacutemetroRectangularidad Aacuterea Aacuterea (Min rect engloba)

Circularidad Periacutemetro2 (4 πAacuterea)Thickness Nuacutemero de erosiones necesarias para dividir un objeto

Hu1 (η20 +η02)

Hu2 (η20minusη02)+4η211

Hu3 (η30 +3η12)2 +(3η21minusη03)

2

Hu4 (η30 +η12)2 +(η21 +η03)

2

Hu5 (η30 minus 3η12)(η30 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η21 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Hu6 (η20minusη02)[(η30minusη12)2minus (η21η03)

2]+4η21(η30 +η12)(η21 +η03)

Hu7 (3η21 minus η30)(η00 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η12 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Flusser y Suk - I1 (η20η02minusη211)η4

00

Flusser y Suk - I2 (minusη230η2

03 +6η30η21η12η03minus4η30η312minus4η3

21η03 +3η221η2

12)η1000

Flusser y Suk - I3 (η20η21η03minusη20η212minusη11η30η03 +η11η21η12 +η02η30η12minusη02η2

21)ν700

Flusser y Suk - I4 (minusη320η2

03 + 6η220η11η12η03 minus 3η2

20η02η212 minus 6η20η2

11η21η03 minus 6η20η211η2

12 +12η20η11η02η21η12 minus 3η20η2

02η221 + 2η3

11η30η03 + 6η311η21η12 minus 6η2

11η02η30η12 minus6η2

11η02η221 +6η11η2

02η30η21minusη302η2

30)η1100

Contexto AI IA respecto al centroide de la manchaViento Velocidad del viento en el aacuterea estudiada

Fiacutesicas Intensidad Intensidad media de los piacutexeles contenidos en la mancha candidatoASR Ratio de la intensidad del candidato respecto al aacuterea circundante

Nota ηi j representa a los momentos centrales normalizados

Tabla 55 Vector de caracteriacutesticas

El vector generado (veacutease Tabla 55) estaacute compuesto por 21 componentes de los que 17corresponden a caracteriacutesticas de forma Para disminuir la dimensionalidad del vector se apli-coacute un Anaacutelisis de Componentes Principales (PCA) [67] sobre las caracteriacutesticas de forma LaTabla 56 contiene los porcentajes de varianza explicados por los componentes principalesobtenidos tras el PCA mientras que la Figura 516 muestra graacuteficamente el porcentaje expli-cado por el subconjunto de componentes maacutes representativo Finalmente se sustituyeron las

96 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

17 caracteriacutesticas de forma por los 5 primeros componentes cubriendo asiacute maacutes del 92 de lavarianza y reduciendo considerablemente la dimensionalidad del vector Los coeficientes delos componentes principales seleccionados se muestran en la Tabla 55

PCA1 PCA2 PCA3 PCA4 PCA5

0

10

20

30

40

50

60

70

80

90

0

10

20

30

40

50

60

70

80

90

100 100

Componentes Principales

Vari

anza E

xplicada

Figura 516 Componentes principales y porcentaje de varianza explicado

Componente Principal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17Varianza explicada () 477716 183024 138332 73918 50537 37671 19663 08758 04884 03178 00938 00693 00414 00142 00089 00041 00001

Tabla 56 Componentes principales y porcentaje de varianza explicado

56 Clasificacioacuten

Una vez caracterizados los candidatos es necesario clasificarlos y asignarles una clase(sentinazo o look-alike) El vector de caracteriacutesticas de cada candidato es la entrada para unclasificador cuya salida seraacute una clase o etiqueta identificaacutendolo La eficiencia del clasificadorestaacute directamente relacionada con los datos del vector es decir un buen clasificador no podraacuteclasificar correctamente si las caracteriacutesticas no discriminan suficientemente bien

La maacutexima seguida para el desarrollo de los clasificadores fue la de minimizar el nuacuteme-ro de falsos negativos incluso cuando la consecuencia era incrementar el nuacutemero de falsospositivos Para el sistema es asumible mostrar falsos positivos debido a que o bien el siste-ma es semiautomaacutetico es decir un operador humano filtra los resultados antes de enviar losmedios de vigilancia o bien el sistema es completamente automaacutetico en cuyo caso los siste-mas de vigilancia se activariacutean tras el descubrimiento del look-alike con el consecuente gasto

56 Clasificacioacuten 97

Var1 PCA Var2 PCA Var3 PCA Var4 PCA Var5 PCAAPR -00321 00466 06160 01722 -01237

elongacioacuten 01770 03460 -01469 02321 -01141MPR 02596 00579 03499 00017 -00160

Rectangularidad -01196 -00306 02473 00149 08811Circularidad 03070 -00775 00457 -00321 -02217

Thickness -00013 00530 06099 01626 -02103Hu1 03299 00316 -00735 00802 -00472Hu2 03371 00255 -00683 01573 00767Hu3 03389 -00366 -00237 00670 01383Hu4 02769 03158 -00167 -00164 01338Hu5 02092 04218 -00049 -00343 01185Hu6 02055 04349 -00000 -00842 01202Hu7 -02791 03182 -00151 00583 -01003FS1 02795 -02692 00373 -02175 -00562FS2 00728 -02281 -01329 07528 00772FS3 -02540 02239 -01053 04511 -00382FS4 -02567 03457 -00020 -01540 -00864

Tabla 57 Coeficientes de los componentes principales seleccionados

econoacutemico pero sin consecuencias medioambientales Los falsos negativos por el contrariono podriacutean detectarse ni de forma automaacutetica ni por un operador ya que el sistema no losmostrariacutea y esto conllevariacutea un mayor impacto en el ecosistema dado que no se activariacutean losprotocolos de gestioacuten de forma temprana

Los siguientes apartados describen dos clasificadores desarrollados para identificar loscandidatos generados en la segmentacioacuten Para su desarrollo y entrenamiento se ha utilizadouna DB de candidatos previamente etiquetados con 155 falsos positivos y 80 sentinazos quefueron distribuidos en 3 grandes grupos (veacutease la Figura 517) el 70 de los elementos fuereservado para el entrenamiento un 15 fue utilizado para el conjunto de validacioacuten y el15 restante fue seleccionado para el conjunto de test

Base de datos de candidatos

155 Look-alikes 80 Sentinazos

128 66 27 14

101 52 27 14

Test

Validacioacuten

Datos para el entrenamiento

Entrenamiento

85 15

1570

Figura 517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores

98 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

561 Redes Neuronales Artificiales

Introduccioacuten

Las ANN tratan de emular el comportamiento del cerebro humano y la extraccioacuten de co-nocimiento geneacuterico a partir de un conjunto de datos [71] Las ANNs al igual que el cerebroestaacuten compuestas de procesadores elementales llamados neuronas artificiales o simplementeneuronas que conectadas entre siacute o a entradas externas cooperan para producir un estiacutemulode salida Cuando un conjunto de neuronas recibe todas sus entradas de una misma fuente ytodas sus salidas se dirigen a un mismo destino forman una capa

Una neurona artificial se caracteriza por los siguientes elementos (veacutease la Figura 518)

ndash Estado inicial las neuronas de la red presentan un estado o valor inicial (atminus1) previo arecibir los estiacutemulos externos y que influiraacute en su respuesta a eacutestos

ndash Conexiones neuronales valores de entrada a la neurona j-eacutesima (xi) con unos pesosasociados (wi j)

ndash Funcioacuten de propagacioacuten determina la entrada de la neurona (Net j) Generalmente es elsumatorio de cada uno de sus estiacutemulos externos o entradas (xi) multiplicado por su pesoasociado (wi j) Es habitual que se incluya un teacutermino constante (x0) denominado sesgoLa inclusioacuten de este elemento se deriva del comportamiento de las neuronas bioloacutegicasque poseen umbrales internos de activacioacuten que distorsionan el impacto causado porlos estiacutemulos recibidos El teacutermino suele tener el valor lsquo1rsquo y el valor y signo de su pesoindica su influencia en la funcioacuten

ndash Funcioacuten de activacioacuten o transferencia combina el valor inicial de la neurona (atminus1) conla entrada obtenida por la funcioacuten de propagacioacuten (Net j) para producir un nuevo estadoo valor de la neurona

ndash Funcioacuten de salida transforma el estado de la neurona generado a traveacutes de la funcioacutende transferencia en una sentildeal de salida (y j) que se trasmitiraacute a las siguientes neuronasHabitualmente la funcioacuten de salida coincide con la funcioacuten identidad es decir el valorde salida es en la praacutectica el valor retornado por la funcioacuten de transferencia

Una de las caracteriacutesticas maacutes importantes de las ANNs es su capacidad de generalizara partir de ejemplos lo que permite dar una respuesta correcta ante patrones no presentadospreviamente Las ANNs tienen la capacidad de aprender creando modificando o destruyendo

56 Clasificacioacuten 99

w1j

wdj

wnj

F(aj(t-1)Netj)=aj(t)) f(aj(t))=yj rarr yj

Entradas Pesos Entrada total Func activacioacuten Func salida Salida

X0Sesgo w0j

Netj=sum wkjmiddotxk k=0

n

X1

Xd

Xn

Neurona j-eacutesima

Figura 518 Elementos de una neurona artificial Figura adaptada de [71]

sus conexiones (pesos) entre sus neuronas Existen diferentes algoritmos de aprendizaje perotodos ellos pueden ser englobados en uno de los dos grandes tipos presentados a continuacioacuten

ndash Aprendizaje supervisado se caracteriza por la presencia de un agente que controla elproceso de entrenamiento estableciendo una respuesta correcta para una serie de valo-res de entrada determinados Si la salida de la red no es la salida deseada el supervisormodifica iterativamente los pesos de las neuronas de la red (wi j) con el objetivo de queel resultado tienda al deseado Eacuteste es el tipo de aprendizaje utilizado para desarrollar laANN para la deteccioacuten de los sentinazos y en concreto se usoacute una teacutecnica de aprendi-zaje por correccioacuten de error denominada backpropagation Las teacutecnicas por correccioacutende error ajustan los pesos de las conexiones de la red en base a la diferencia entre lasalida deseada y la obtenida Una de las reglas maacutes sencillas para la correccioacuten es lasiguiente

wt+1i j = wt

i j +∆wi j

∆wi j = α(r jminus y j)x j(54)

Dada una conexioacuten neuronal entre la neurona i-eacutesima y la j-eacutesima con un peso wi j en elinstante t ∆wi j representariacutea la variacioacuten en el peso de la conexioacuten en el instante t +1es decir la correccioacuten del error En el caacutelculo de ∆wi j α es un factor de aprendizaje r j

es la salida deseada ante un determinado patroacuten mientras que y j es la salida realmenteobtenida y finalmente x j es la entrada a la neurona j

100 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash Aprendizaje no supervisado se presenta a la red una serie de patrones sin una respues-ta asociada La red busca particularidades correlaciones o categoriacuteas presentes en losdatos de entrada y los categoriza

Las conexiones neuronales son uno de los elementos fundamentales en el aprendizaje ypueden producirse entre neuronas de una misma capa o entre neuronas de capas diferentessin limitaciones El modelo de ANNs maacutes utilizado en la praacutectica es el Perceptroacuten Multicapa(MLP) que constituye un modelo particular en el que la propagacioacuten de los datos es siemprehacia adelante es decir ninguna salida neuronal constituye la entrada a una neurona de lamisma capa o de una capa anterior Las redes MLP (veacutease la Figura 519) estaacuten compuestaspor una capa neuronas de entrada donde se recogen los datos del exterior una o varias capasde neuronas ocultas y una capa de salida que devuelve los resultados de la red

Figura 519 Estructura de una red neuronal MLP

Algoritmo de retropropagacioacuten de errores

Debido a su sencillez y eficacia el algoritmo de retropropagacioacuten de errores o de backpro-

pagation [58] es uno de los algoritmos de aprendizaje supervisado maacutes extendido para redesMLP Baacutesicamente el algoritmo modifica iterativamente los pesos de las conexiones entre lasneuronas con el objetivo de minimizar el error de la red Partiendo de unos pesos aleatorios yde un conjunto de patrones de entrenamiento correctamente clasificados el algoritmo procesaa traveacutes de la red cada patroacuten El error cometido al procesar un patroacuten es cuantificado paramodificar los pesos en consecuencia La modificacioacuten iterativa de los pesos se realiza con elobjetivo de que el resultado real tienda al deseado La cuantificacioacuten del error medio-total de

56 Clasificacioacuten 101

la red se calcula comoE(w|xr) = 1

2(rminus y)2 (55)

siendo r el resultado deseado para la entrada de un patroacuten a la red e y el resultado real-mente obtenido La modificacioacuten de los pesos trata de minimizar el error de la red siendoel descenso de gradiente el meacutetodo maacutes habitual para ello siempre y cuando la funcioacuten pa-ra calcular el error sea diferenciable Las variaciones de los pesos utilizando el descenso degradiente se obtendriacutean a traveacutes del siguiente caacutelculo

∆wh j =minusαpartE

partwh j(56)

El algoritmo de retropropagacioacuten de errores tiene dos fases principales en una primerafase los patrones de entrenamiento son presentados y analizados por la red y sus salidas soncomparadas con los resultados esperados en una segunda fase se modifican los pesos de la redcalculando el error cometido y propagaacutendolo desde la capa de salida hasta la capa de entrada

x0=1

xj

xn

z0=1

whj vih

zh

zk

w0

sesgo sesgo v0

yi

Figura 520 Ejemplo simplificado de una red MLP

Actualizacioacuten de los pesos Partiendo del ejemplo mostrado en la Figura 520 en el quela funcioacuten de transferencia de las neuronas de la capa oculta es una sigmoide la salida de lared para un determinado patroacuten p se obtiene a traveacutes del siguiente caacutelculo

ypi =

k

sumq=1

viqzq + v0 (57)

102 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

La variacioacuten de los pesos que unen la capa oculta con la capa de salida se calculariacuteatratando de minimizar el error de la red (veacutease Ecuacioacuten 55) a traveacutes del descenso de gradiente(veacutease Ecuacioacuten 56)

∆wh j = α sump(rpminus yp)zp

h (58)

Sin embargo el caacutelculo de los pesos entre la capa de entrada y la oculta no puede hacer-se directamente utilizando el error cuadraacutetico medio ya que se desconoce cuaacutel es la salidadeseada para las neuronas ocultas La solucioacuten estaacute en el uso de la regla de la cadena sobre laEcuacioacuten 56 de la siguiente manera

∆wh j =minusαpartE

partwh j

=minusα sump

partE p

partyppartyp

part zph

partE p

part zph

part zph

partwh j

=minusα sumpminus(rpminus yp)︸ ︷︷ ︸

partE ppartyp

vh︸︷︷︸partyp

part zph

zph(1minus zp

h)xpj︸ ︷︷ ︸

part zph

partwh j

= α sump(rpminus yp)vhzp

h(1minus zph)x

pj

(59)

Teacutermino momento De entre las mejoras desarrolladas sobre el algoritmo claacutesico cabedestacar la que introduce el teacutermino momento Esta mejora consigue que la actualizacioacuten depesos sea proporcional al incremento de la iteracioacuten anterior permitiendo acelerar y estabili-zar el proceso de aprendizaje [96] La actualizacioacuten de pesos utilizando el teacutermino momentose calcula como

Wt+1 =Wt +[∆Wt +β∆Wtminus1] (510)

El teacutermino momento identificado por la constante β suele tomar un valor entre 0 y 1 ygeneralmente su valor es proacuteximo a la cota superior e inversamente proporcional a la tasa deaprendizaje es decir cuanto maacutes pequentildeo es el valor α maacutes grande suele ser β

Tanto la tasa de aprendizaje como el teacutermino momento son seleccionados empiacutericamentedependiendo del problema a resolver

56 Clasificacioacuten 103

Clasificador

Se implementoacute una red neuronal MLP para clasificar los candidatos segmentados Su ar-quitectura y los pesos de sus conexiones fueron establecidos a traveacutes de un proceso de entre-namiento validacioacuten y test utilizando los conjuntos mostrados en la Figura 517

La red desarrollada cuya arquitectura final se muestra en la Figura 522 estaacute compuestade 3 capas de neuronas El nuacutemero de neuronas de la capa de entrada se establecioacute en 9 unapor cada elemento del vector de caracteriacutesticas mientras que en la capa de salida se utilizaron2 neuronas para representar cada una de las posibles clases que se pueden asignar a un candi-dato Una neurona de la capa de salida con valor lsquo0rsquo representa la total incompatibilidad conla clase asignada a dicha neurona y el caso opuesto es representado con el valor lsquo1rsquo Valoresintermedios en el rango (01) representan una cierta probabilidad de pertenencia a la claseLos estiacutemulos externos a la red fueron normalizados en el rango [-11] como paso previo a suprocesamiento

Las neuronas utilizadas tanto en la capa oculta como en la capa de salida siguen el es-quema de la Figura 521 Estas neuronas reciben los valores de salida de las neuronas de lacapa anterior ponderados a traveacutes de los pesos asignados a las conexiones neuronales y unsesgo con valor lsquo1rsquo que se pondera a traveacutes de un peso asignado a cada neurona Una funcioacutende propagacioacuten que unifica y combina los valores de entrada en un uacutenico valor sirve comoentrada para la funcioacuten de activacioacuten de la neurona El resultado de la funcioacuten de activacioacutenrepresenta el valor de salida de la neurona

Netj=sum(ximiddotwi)+w0 aj=f(Netj)=2

[1+exp(Netj)]-1f(aj)=id(aj)=yj

yj

Neurona j-eacutesimax0

x1

x2

xn

Sesgo w0

w1

w2

wn

i=1

n

Figura 521 Esquema de la neuronas empleadas en la ANN desarrollada

El nuacutemero de neuronas de la capa oculta se establecioacute a traveacutes de un proceso comparativoentre diferentes arquitecturas Utilizando el algoritmo de retropropagacioacuten de errores con lavariante del teacutermino momento como proceso de aprendizaje de la red y basaacutendose en la reglaad hoc de que el nuacutemero de neuronas ocultas no deberiacutea ser superior al doble del nuacutemerode neuronas de entrada [106] fueron realizadas diferentes pruebas en las que se emplearon

104 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

hasta un maacuteximo de 18 neuronas En cada prueba los patrones normalizados del conjuntode entrenamiento fueron presentados iterativamente a la red y sus salidas se compararon conlos resultados esperados Cuando las salidas no resultaron satisfactorias los pesos fueronactualizados seguacuten el algoritmo de aprendizaje

Para evitar el sobreentrenamiento de la red es decir que la red aprendiese las particula-ridades propias de los patrones de entrenamiento limitando su capacidad de generalizacioacutense utilizoacute un conjunto de validacioacuten En cada iteracioacuten del proceso de entrenamiento se proboacutela red con el conjunto de validacioacuten y se calculoacute su eficacia Por norma general la eficaciade la red respecto al conjunto de entrenamiento iraacute mejorando en las sucesivas iteraciones delentrenamiento sin embargo la eficacia sobre el conjunto de validacioacuten alcanzaraacute un punto deinflexioacuten en el que la tendencia cambiaraacute La iteracioacuten donde se alcance la eficiencia maacuteximasobre el conjunto de validacioacuten marca el final del entrenamiento Una vez finalizado el en-trenamiento la red entrenada y validada se proboacute nuevamente sobre el conjunto de test paraconfirmar su eficacia con un conjunto independiente

Figura 522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP

Las pruebas de arquitectura fueron realizadas con diferentes inicializaciones de la red ta-sas de aprendizaje valores para el teacutermino momento y funciones de transferencia los mejoresresultados se obtuvieron utilizando 11 neuronas en la capa oculta con una tasa de aprendizajede 03 y un valor de momento de 09 La funcioacuten de propagacioacuten utilizada fue la suma pon-derada de las entradas de cada neurona con los pesos asociadas a ellas (incluyendo el sesgo)

56 Clasificacioacuten 105

mientras que la funcioacuten de transferencia seleccionada fue una sigmoide (tangente hiperboacuteli-ca) Los resultados de la ejecucioacuten de la red sobre los candidatos contenidos en los conjuntosde validacioacuten y test asiacute como su comparativa con el otro clasificador se muestran en detalleen el capiacutetulo 6

562 Aacuterboles de decisioacuten

Descripcioacuten

Un aacuterbol de decisioacuten [14] es un meacutetodo de aprendizaje inductivo supervisado y no para-meacutetrico que puede ser utilizado tanto para la clasificacioacuten como para la regresioacuten Se imple-menta a traveacutes de una estructura jeraacuterquica basada en una estrategia de divide y venceraacutes ygeneralmente se representa como un aacuterbol binario es decir una estructura de datos formadapor nodos en la que cada nodo que no sea final tiene dos hijos Los nodos finales son conoci-dos como hojas mientras que los intermedios son denominados nodos decisioacuten De entre lasdiferentes implementaciones posibles que se pueden encontrar en la literatura el clasificadordesarrollado se basoacute en los Aacuterboles de Clasificacioacuten y Regresioacuten (CART) propuestos porBreiman et aacutel [24]

Construccioacuten y entrenamiento del aacuterbol

El entrenamiento y construccioacuten de un aacuterbol de clasificacioacuten se realiza a partir de un con-junto de patrones de entrenamiento previamente etiquetados en el que se trata de encontrar atraveacutes de sucesivas particiones secciones en su espacio de representacioacuten en las que todos lospatrones presentes pertenezcan a una misma clase o etiqueta Cada particioacuten se representa enel aacuterbol como un nodo decisioacuten en el que se evaluacutea una caracteriacutestica presente en los patronesagrupaacutendose eacutestos acorde al resultado de la evaluacioacuten en uno de los nodos hijo generados

Sea m un nodo del aacuterbol y Nm los patrones o instancias de entrenamiento que llegan a esenodo desde el conjunto inicial N contenido en el nodo raiacutez se considera Ni

m un subconjuntode Nm que contiene patrones asociados a la clase Ci donde

sumi

Nim = Nm (511)

Dado un patroacuten que alcanza el nodo m la probabilidad de que pertenezca a la clase Ci sepuede calcular como

pim =

Nim

Nm(512)

106 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Un nodo se considera puro cuando todos los patrones que llegan a ese nodo pertenecen a unamisma clase lo cual se expresa matemaacuteticamente de la siguiente manera

m = purolArrrArrforalli pim isin 01 (513)

Los nodos puros representan hojas del aacuterbol y se etiquetan con el valor de la clase asignadaa sus patrones Si los dos nodos hijo de una particioacuten son puros dicha particioacuten se considerapura

Aunque lo ideal es realizar particiones puras la mayoriacutea no lo son y las que lo son sesituacutean en la parte inferior del aacuterbol (ramas inferiores) Es necesario establecer un meacutetodopara seleccionar la mejor particioacuten en cada punto del aacuterbol y para ello se debe cuantificar laimpureza de las posibles particiones y seleccionar la que tenga menor valor Existen diferentesmeacutetodos de cuantificar la impureza de una particioacuten siendo el meacutetodo Gini [24] uno de losmaacutes populares y el empleado para desarrollar el clasificador de SENTINAZOS El valor deGini se calcula como

1minussumi(pi

m)2 (514)

En la Figura 523 se muestra un sencillo ejemplo de construccioacuten de un aacuterbol de decisioacutenbinario El conjunto de entrenamiento estaacute formado 20 patrones pertenecientes a 2 tipos dife-rentes de clases diferentes y cada patroacuten contiene medidas para 2 caracteriacutesticas Se observaque no todas las hojas del ejemplo son puras ya que aunque es posible crear un aacuterbol sufi-cientemente grande donde todas sus hojas sean puras lo maacutes probable es que se caiga en elsobreentrenamiento por tanto es necesario utilizar reglas que gestionen el tamantildeo del aacuterbol

01 2 3 4 5 6 7

1

2

3

4

5

6

x

y

yge3

xge37

1010

6410

9 41

a b

Figura 523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario a) Patrones de entrenamiento en base a doscaracteriacutesticas b) Aacuterbol desarrollado a partir de los patrones de entrenamiento

56 Clasificacioacuten 107

Poda

El tamantildeo del aacuterbol generado puede establecerse desde dos estrategias diferentes por unlado se puede definir a priori un umbral que establezca el nuacutemero de patrones miacutenimo quedebe alcanzar un nodo para que se permita crear una nueva particioacuten lo cual implica que elaacuterbol dejaraacute de crecer en el momento en que los patrones sean inferiores a ese umbral Otraestrategia consiste en desarrollar completamente el aacuterbol hasta conseguir que todas sus hojassean puras o hasta que los patrones asociados sean inferiores a un umbral y a continuacioacutenpodarlo

El proceso de poda trata de encontrar las secciones del aacuterbol (subaacuterboles) que no apor-tan ventajas y se asocian al sobreentrenamiento Existen diferentes estrategias de poda y enel caso concreto del clasificador desarrollado la estrategia utilizada fue la de seleccionar lapoda que mejor clasificaba un conjunto de validacioacuten Utilizando un grupo independiente depatrones o conjunto de validacioacuten y de forma incremental desde las hojas hacia el nodo raiacutezse sustituyoacute cada posible subaacuterbol por una hoja etiquetada con la clase asociada a la mayoriacuteade los patrones de entrenamiento que clasificaba ese subaacuterbol Si la eficiencia del nuevo aacuterbolno era peor que la del original la poda se llevaba a cabo pues la mayor complejidad no sejustificaba

La estrategia de poda obtiene mejores resultados que la estrategia basada en detener elcrecimiento del aacuterbol ya que la poda permite que un subaacuterbol de un nodo permanezca mien-tras que su laquohermanoraquo desaparece y esto seriacutea imposible con una estrategia de parada ya queel crecimiento se detendriacutea por ambas ramas Por otro lado la estrategia de poda es maacutes lentay compleja ya que es necesario analizar los diferentes subaacuterboles de los que estaacute compuestoel aacuterbol original y encontrar la mejor poda

Clasificador

Se desarrolloacute un clasificador basado en un aacuterbol de decisioacuten binario para clasificar loscandidatos resultantes de la fase de segmentacioacuten Al igual que para la ANN presentada enla Seccioacuten 561 para el entrenamiento y desarrollo del clasificador se utilizaron 3 conjuntossiguiendo el mismo esquema de la Figura 517 el 70 de los elementos fueron utilizadospara entrenar el aacuterbol un 15 fue utilizado para podarlo (conjunto de evaluacioacuten) y el 15restante fue empleado en el test del clasificador resultante El meacutetodo Gini ha sido el empleadopara cuantificar la impureza de las particiones en el proceso de desarrollo del aacuterbol

108 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

El aacuterbol con hojas puras y generado uacutenicamente a traveacutes del entrenamiento se muestra enla Figura 524 se puede observar que el tamantildeo del aacuterbol es considerable y se le presuponeun sobreentrenamiento A traveacutes de un proceso de poda en el que se calculoacute la eficacia de losdiferentes subaacuterboles sobre el conjunto de validacioacuten se establecioacute que el mejor clasificadorera el subaacuterbol presentado en la Figura 525 Para confirmar su eficacia se utilizoacute el conjuntode test Los resultados del clasificador sobre los candidatos contenidos tanto en el conjunto detest como en el de validacioacuten se presentan en el Capiacutetulo 6

Ratio intensidad lt 204183

Sentinazo Look-alike

PCA3 lt 949121

AI lt 249877

Viento lt 298174

PCA4 lt 237383

Intensidad lt 00748946

PCA1 lt 107964

Intensidad lt 000383156 Ratio intensidad lt 249859

Viento lt 349681

PCA1 lt 532078

PCA1 lt 185418

Sentinazo Look-alike

Sentinazo

Look-alikeSentinazo

PCA5 lt -145036

PCA1 lt 491891 PCA1 lt 713184

SentinazoLook-alikeSentinazo

Ratio intensidad 160946 PCA4 lt 312993

PCA4 lt 318744

PCA1 lt 23493

PCA5 lt -377764

PCA2 lt 219814

Viento lt 563786

SentinazoLook-alike

Look-alike

Sentinazo

Look-alike

Sentinazo Look-alike

Sentinazo Look-alike

Sentinazo

Sentinazo

SentinazoLook-alike

Siacute No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

Siacute

SiacuteSiacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Figura 524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el proceso de entrenamiento

Ratio intensidad lt 204183

Sentinazo

Look-alike

PCA3 lt 949121

Sentinazo

No

NoSiacute

Siacute

Figura 525 Aacuterbol de decisioacuten binario podado

57 Validacioacuten del sistema de deteccioacuten de vertidos 109

57 Validacioacuten del sistema de deteccioacuten de vertidos

571 Desarrollo de un software de escritorio

La necesidad de evaluar los algoritmos presentados en las secciones anteriores condujoal desarrollo de un software de escritorio La implementacioacuten del prototipo se basoacute en soft-ware de coacutedigo libre y abierto con el objetivo de que pudiese ser libremente distribuido y asiacutepromover la colaboracioacuten entre la comunidad cientiacutefica

Visualizacioacuten

Para facilitar el trabajo con los datos SAR se implementoacute un visor especiacutefico que permi-tiese visualizar e interactuar (navegar aumentar y reducir) con las imaacutegenes asiacute como repre-sentarlas sobre un mapa de contexto mundial para mejorar la interpretacioacuten de los resultadosEl visor (veacutease la Figura 526) tambieacuten se disentildeoacute para acceder a los metadatos contenidos enlas cabeceras de las imaacutegenes

Figura 526 Pantalla principal del software de escritorio

110 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Identificacioacuten de sentinazos

El prototipo implementado contiene las diferentes funciones y meacutetodos de deteccioacuten desentinazos presentados en los apartados anteriores Existen dos formas de ejecutarlo por unlado automaacuteticamente a traveacutes de los paraacutemetros filtros y funciones por defecto por otrolado haciendo uso de una personalizacioacuten que permite configurar yo modificar el procesadode la imagen

ndash Filtro de ruido la aplicacioacuten dispone de un filtro de mediana un filtro de Gauss y unfiltro bilateral

ndash Filtro de aacuterea el usuario puede seleccionar el valor maacuteximo del filtro del aacuterea que seaplicaraacute a la imagen

ndash Clasificadores la aplicacioacuten permite emplear los diferentes clasificadores a traveacutes de suconfiguracioacuten por defecto o cargando una nueva base de conocimiento

El resultado de cada accioacuten ejecutada sobre la imagen es mostrado en el visor lo quepermite evaluar sus efectos La Figura 527 muestra un ejemplo del resultado obtenido trasprocesar una imagen SAR empleando los paraacutemetros por defecto maacutescara de tierra (veacutease laSeccioacuten 532) filtro de mediana de 3x3 (veacutease la Seccioacuten 533) segmentacioacuten por umbra-lizacioacuten adaptativa en base a los vientos (veacutease la Seccioacuten 541) filtro de vientos menores a3 ms (veacutease la Seccioacuten 543) filtro de aacutereas inferiores a 03 Km2 (veacutease la Seccioacuten 544) yclasificacioacuten empleando la ANN (veacutease la Seccioacuten 561)

572 Integracioacuten en RETELAB

Una vez finalizado y validado el sistema de deteccioacuten de vertidos de hidrocarburos se pro-cedioacute a su integracioacuten en RETELAB Al contrario que el prototipo de escritorio que permitiacuteair visualizando el efecto de ejecutar diferentes acciones sobre los datos SAR la versioacuten Gridde SENTINAZOS fue pensada para ser ejecutada en modo no interactivo de forma que elusuario debe seleccionar en un primer momento los paraacutemetros de la tarea y a continuacioacutenprocesarla y esperar a los resultados finales

A pesar de la limitacioacuten en cuanto a la interaccioacuten las ventajas que proporciona la compu-tacioacuten Grid al sistema SENTINAZOS son importantes

57 Validacioacuten del sistema de deteccioacuten de vertidos 111

Figura 527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de los paraacutemetros por defectoy un clasificador ANN

ndash Permite compartir los datos (vientos datos SAR etc) entre los diferentes centros par-ticipantes

ndash Los resultados obtenidos pueden ser distribuidos y utilizados para nuevos estudios porel resto de los participantes de la red por ejemplo para realizar predicciones de laevolucioacuten de los vertidos o para ejecutar algoritmos de backtracking con el objetivo dedetectar su fuente

ndash El entorno de RETELAB permite ejecutar diferentes instancias de SENTINAZOS y asiacuteprocesar diferentes aacutereas simultaacuteneamente

ndash La presencia de recursos computacionales de gran potencia puede aportar una mayorvelocidad de procesamiento

El portlet para la deteccioacuten de sentinazos permite seleccionar diferentes acciones a rea-lizar sobre los datos SAR como por ejemplo segmentar clasificar una imagen previamentesegmentada o segmentar y clasificar Para la clasificacioacuten se permite escoger uno de los dosclasificadores implementados (ANN o aacuterboles de decisioacuten) y los paraacutemetros escogidos tantopara los filtros (ruido aacuterea vientos) como para los clasificadores estaacuten prefijados

112 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Al igual que el resto de los portlets eacuteste ha sido integrado con el Data Grid (veacutease laSeccioacuten 33) tanto para poder acceder y utilizar los datos de la DB virtual como para compartirlos resultados generados Ademaacutes el portlet tambieacuten se ha integrado con el monitor de tareaspara realizar un seguimiento del estado de las tareas y acceder a los resultados que generen

La Figura 528 muestra el portlet desarrollado para SENTINAZOS y su integracioacuten en ellaboratorio de RETELAB

Figura 528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en el laboratorio virtual

CAPIacuteTULO 6

RESULTADOS

61 Eficacia

Los clasificadores presentados en las secciones 561 y 562 han sido desarrollados uti-lizando la DB de candidatos presentada en la Figura 517 es decir se han utilizado los mis-mos conjuntos para entrenar validar y probar los clasificadores lo que permitioacute realizar unacomparativa entre ellos en teacuterminos de eficacia (veacutease Tabla 61) Los datos relativos al rendi-miento del aacuterbol de decisioacuten original (sin podar) son meramente ilustrativos ya que reflejancoacutemo el sobreentrenamiento afecta a la clasificacioacuten de otros conjuntos que no sean el deentrenamiento En la praacutectica soacutelo el aacuterbol podado y la red MLP han sido utilizados comoclasificadores

Validacioacuten TestSentinazos Look-alikes Sentinazos Look-alikes

Red MLP 857 852 929 963Aacuterbol decisioacuten original 500 889 357 889Aacuterbol decisioacuten podado 929 852 929 926

Tabla 61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten y test

La eficacia de los clasificadores fue comprobada directamente sobre las imaacutegenes SARal ser eacutestos implementados como parte del prototipo descrito en la seccioacuten 571 La Figu-ra 61 muestra una composicioacuten realizada soacutelo con el objeto de facilitar la visualizacioacuten de2 imaacutegenes SAR (Figura 61a) y su correspondiente segmentacioacuten (Figura 61b) asiacute comolos resultados obtenidos por los clasificadores (Figura 61c y Figura 61d) Enmarcados en

114 Capiacutetulo 6 Resultados

color rojo se identifican varios sentinazos confirmados a traveacutes de misiones de vigilancia deSASEMAR que se detallan en la Figura 62 junto al resultado de clasificarlos mediante la redMLP

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

a b9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

c d

Figura 61 a) Composicioacuten a efectos de visualizacioacuten de 2 imaacutegenes SAR La imagen lsquo1rsquo fue obtenida el28032011 y la imagen lsquo2rsquo el 14102011 b) Composicioacuten formada por la segmentacioacuten de lasimaacutegenes SAR c) Montaje formado por los resultados de aplicar el clasificador basado en el aacuterbol dedecisioacuten a las imaacutegenes segmentadas d) Montaje formado por los resultados de aplicar el clasificadorbasado en la red MLP a las imaacutegenes segmentadas

Se puede observar que los resultados obtenidos a traveacutes del clasificador basado en el aacuterbolde decisioacuten son muy similares a los ofrecidos por el que utiliza la red MLP (sobre todo desdeel punto de vista de la deteccioacuten de sentinazos) si bien la ANN (veacutease la Figura 61d) generauna menor cantidad de falsos positivos

61 Eficacia 115

A

10deg30W10deg40W

43deg40N

0 1 2 305Millas Naacuteuticas

B

9deg50W10degW10deg10W10deg20W10deg30W

43degN

42deg50N

42deg40N

0 4 8 122Millas Naacuteuticas

C

9deg40W9deg50W10degW

42deg10N

42degN

0 2 4 61Millas Naacuteuticas

Figura 62 A la izquierda detalle de los sentinazos confirmados e identificados en la Figura 61 a la derecharesultados obtenidos a traveacutes del clasificador basado en una red MLP

116 Capiacutetulo 6 Resultados

62 Tiempo de procesamiento

El tiempo requerido para el procesamiento de las imaacutegenes en la buacutesqueda de vertidos dehidrocarburos es criacutetico y por ello los algoritmos presentados en las secciones anteriores hansido desarrollados con el objetivo de minimizarlo pero sin sacrificar su eficacia sobre todoen cuanto a la no deteccioacuten de sentinazos (falsos negativos) Ademaacutes de tener un especialcuidado en el disentildeo e implementacioacuten del software el coacutedigo se desarrolloacute pensando enobtener el mejor rendimiento de los microprocesadores multinuacutecleo presentes en la mayoriacuteade las computadoras actuales Para la implementacioacuten se empleoacute el API de OpenMP [36] quepermite adaptar y paralelizar automaacuteticamente la ejecucioacuten del coacutedigo entre los diferentesnuacutecleos de los que disponga el procesador donde se ejecuta la aplicacioacuten y asiacute obtener elmaacuteximo rendimiento

Fueron probadas dos versiones del algoritmo (claacutesica y optimizada) utilizando un nodode computacioacuten Core 2 Duo - 213 Ghz con 3 GB de RAM y despueacutes de 100 iteracionessobre una imagen de 8088 x 6481 piacutexeles la versioacuten optimizada empleoacute una media de 194segundos por ejecucioacuten mejorando un 296 el tiempo de ejecucioacuten del algoritmo claacutesico

CAPIacuteTULO 7

DISCUSIOacuteN

Debido a las condiciones tanto geograacuteficas como climatoloacutegicas de la costa gallega (aacutereade estudio) los vientos de baja intensidad generan la mayor parte de los falsos positivos olook-alikes El algoritmo desarrollado los filtra en su mayor parte en la fase de segmentacioacutenal introducir una umbralizacioacuten basada en la velocidad del viento Una de las consecuenciasde este proceso de segmentacioacuten es que algunos vertidos pueden quedar parcialmente ocultosen la salida si se encuentran situados en aacutereas afectadas por vientos de baja intensidad Modi-ficar el umbral de viento miacutenimo mejora la segmentacioacuten en algunos de los casos pero a costade incrementar notablemente el nuacutemero de falsos positivos Es muy complicado detectar sen-tinazos en aacutereas con vientos de baja intensidad debido a que la superficie del mar no genera elbrillo suficiente en la imagen SAR para que se produzca un contraste entre la superficie afec-tada por el sentinazo y el mar limpio y ademaacutes la intensidad de la sentildeal retrodispersada quellega al sateacutelite se aproxima al ruido de fondo (veacutease la Seccioacuten 521) dificultando discernirlos fenoacutemenos presentes en la superficie

A pesar de que la utilizacioacuten de los datos de viento mejoroacute considerablemente la segmen-tacioacuten eacutesta podriacutea ser maacutes precisa si se utilizasen medidas reales o provenientes de modelosde vientos maacutes precisos que el CMOD5 que trabaja directamente con los datos SAR El mo-delo CMOD5 es bastante exacto cuando se trata de velocidades de viento inferiores a 15 msy empeora con vientos de mayor intensidad [62] El error producido por el modelo aunquesea pequentildeo podriacutea ser clave para que una zona sea identificada como look-alike sobre todosi no alcanza el umbral miacutenimo de viento

118 Capiacutetulo 7 Discusioacuten

Otro de los inconvenientes que se presentan al emplear un modelo basado en los pro-pios datos SAR es la dificultad para calcular los datos de viento en las aacutereas proacuteximas a lacosta CMOD5 soacutelo calcula la velocidad del viento en la superficie oceaacutenica y necesita unalaquoventanaraquo de datos alrededor del aacuterea de estudio por lo que la presencia de la costa puededistorsionar los resultados La propia costa tambieacuten genera muchos falsos positivos al pro-teger del viento a la superficie marina generando aacutereas de baja intensidad Para evitar estosinconvenientes se ha usado una maacutescara de tierra extendida (veacutease la Seccioacuten 532) pero losresultados siguen mostrando una mayor cantidad de look-alikes en las aacutereas maacutes cercanas ala costa Aumentar la maacutescara para reducir el efecto de la costa obtendriacutea mejores resultadosdesde el punto de vista de los look-alikes pero a costa de ocultar posibles sentinazos que sehayan desplazado y que puedan ser potencialmente peligrosos para el medioambiente

La comparativa entre los diferentes sistemas de deteccioacuten de sentinazos presentes en laliteratura es especialmente complicada debido a que cada uno utiliza su propia DB para entre-nar y para validar se basa en diferentes tipos y resoluciones de imaacutegenes SAR usa diferentesvectores de caracteriacutesticas etc Ademaacutes es habitual que las DB contengan imaacutegenes con ver-tidos que solamente han sido identificados por expertos y directamente sobre la propia imagenpero sin confirmacioacuten in situ Los porcentajes de eficacia de los diferentes sistemas deben sertomados a modo de referencia pero de ellos no puede extrapolarse ninguna conclusioacuten defi-nitiva Algunos de los sistemas de deteccioacuten de hidrocarburos presentes en la literatura asiacutecomo sus porcentajes de eficacia son mostrados en la Tabla 7

Ref DB Clasificador Eficacia[37] 71 Sentinazos 68 Look-alikes Red MLP (validacioacuten

cruzada)82 Look-alikes 90 Sentinazos

[108] 34 Sentinazos 45 Look-alikes Red MLP 91 Look-alikes 87 Sentinazos[103] 71 Sentinazos 6980 Look-alikes Modelo estadiacutestico +

Sist basado en reglas99 Look-alikes 94 Sentinazos

[104] 37 Sentinazos 12110 Look-alikes Modelo estadiacutestico +Sist basado en reglas

994 Look-alikes 784 Sentinazos

[26] 41 Sentinazos 12245 Look-alikes Modelo estadiacutestico +Sist basado en reglas+ Estimador de con-fianza

897 Look-alikes 9207 Sentinazos(sin aplicar el estimador de confianza)

[41] 11 Sentinazos 6 Look-alikes 4Desconocidos

Distancia de Mahala-nobis

100 Look-alikes 82 Sentinazos 0Desconocidos

Clasificador probabi-liacutestico

67 Look-alikes 909 Sentinazos 50Desconocidos

[54] 1915 piacutexeles (552 Sentinazos 557Bajo viento 806 Superficie limpia)

Red MLP 9825 Look-alikes 9702 Sentinazos

Tabla 71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia en la clasificacioacuten

119

Los resultados de los clasificadores implementados (veacutease Tabla 61) son muy promete-dores a la vista de los porcentajes de eficacia obtenidos por los clasificadores presentes enla literatura No obstante es sorprendente que un clasificador tan sencillo como el aacuterbol dedecisioacuten binario obtenga unos resultados comparables a la mayoriacutea de clasificadores siendoeacutestos en general mucho maacutes complejos Esto puede ser debido a varios factores por un ladola mayoriacutea de los look-alikes son filtrados gracias al empleo de datos meteoroloacutegicos en lafase de segmentacioacuten por otro lado la mayoriacutea de los candidatos segmentados pueden serclasificados basaacutendose soacutelo en una de las variables del vector (ratio entre la intensidad de lospiacutexeles de la mancha respecto al aacuterea circundante) mientras que el uso de las otras varia-bles del vector permitiraacute discernir los casos maacutes problemaacuteticos siendo esto lo que marca ladiferencia entre la red neuronal implementada y el aacuterbol

La mayoriacutea de los sistemas dan sus porcentajes de eficacia en funcioacuten de la clasificacioacutende los candidatos pero en otros casos como Oacutescar Garcia-Pineda et aacutel [54] se presentala eficacia en funcioacuten de la correcta clasificacioacuten a nivel de piacutexel En general se espera unaeficacia mayor a nivel de piacutexel dado que las DB suelen estar formadas por un mayor nuacutemero derepresentantes y los errores si son pocos quedan maacutes diluidos en los porcentajes Ademaacutessi se analizan imaacutegenes completas la cantidad de piacutexeles que representan hidrocarburos esclaramente inferior a la que representa superficie limpia por lo que se espera un porcentajede eficacia media muy alto de piacutexeles correctamente etiquetados

El tiempo de procesamiento es criacutetico en un sistema que debe dar respuesta en tiempocuasi real pero la mayoriacutea de los sistemas de deteccioacuten de hidrocarburos presentes en la lite-ratura lo relegan a un segundo plano en pos de la eficacia Sin embargo una raacutepida deteccioacutenpuede marcar la diferencia a la hora de ser efectivos gestionando un vertido o incluso en labuacutesqueda de los responsables Teniendo en cuenta que en la praacutectica la mayoriacutea de los siste-mas funcionan de forma semiautomaacutetica es decir que un operador suele revisar los resultadosantes de enviar los medios de vigilancia se hace maacutes plausible que el sistema se desarrollecon el objetivo de detectar sentinazos en el intervalo de tiempo maacutes breve posible incluso sipara ello se sacrifica eficacia en la eliminacioacuten de los falsos positivos o look-alikes El sistemapresentado con una media de 194 s de tiempo de procesamiento representa una importantemejora respecto a otros sistemas como el TCNNA (65 min) el cual se aplica a imaacutegenescompletas Solberg et aacutel [104] (145 min) que utiliza factores de escape en su algoritmo parano procesar completamente la imagen es decir no utiliza todos los datos con el consecuenteriesgo de no conseguir los mejores resultados o Topouzelis et aacutel [108] (2-5 min) que utiliza

120 Capiacutetulo 7 Discusioacuten

subsecciones de la imagen de entre 4 y 16 MB previamente seleccionadas por un operadorEn otros casos se opta por reducir la resolucioacuten radiomeacutetrica y trabajar soacutelo con 256 nivelesde grises [90] [54] lo que conlleva un incremento en la velocidad de procesamiento de lasimaacutegenes pero a costa de perder informacioacuten

Es importante tener en cuenta que los datos presentados en cuanto al tiempo de procesa-miento estaacuten iacutentimamente relacionados con las caracteriacutesticas de la computadora utilizada esdecir que podriacutean ser faacutecilmente mejorados disponiendo de un hardware con mayor poten-cia y aunque esto pueda parecer obvio para cualquier software en el caso presentado cobramayor relevancia puesto que fue desarrollado para adaptarse automaacuteticamente y utilizar losdiferentes nuacutecleos disponibles

Epiacutelogo

CAPIacuteTULO 8

RESULTADOS Y CONCLUSIONES

En este trabajo se ha planteado el desarrollo despliegue y validacioacuten de un laboratorio vir-tual oceanograacutefico Partiendo de unos requisitos iniciales ambiciosos en los que se abordarondiferentes liacuteneas de investigacioacuten se desarrolloacute un entorno de trabajo basado en computacioacutenGrid enfocado a la ejecucioacuten de aplicaciones de oceanografiacutea Para validar el entorno se desa-rrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos en la superficieoceaacutenica a traveacutes de datos de sateacutelite

Las principales aportaciones del presente trabajo han sido

ndash Desarrollo de un laboratorio virtual de altas prestaciones se ha presentado un en-torno de trabajo unificado y versaacutetil que permite a los investigadores realizar una granparte de su trabajo sin necesidad de otras herramientas Como si de un laboratorio realse tratase el entorno permite

bull Administrar el acceso de los usuarios

bull Gestionar analizar y visualizar datos

bull Procesar datos utilizando recursos computacionales de altas prestaciones

bull Distribuir y compartir los resultados de los proyectos con la comunidad

ndash Desarrollo de una interfaz amigable tanto la arquitectura del sistema como su inter-faz han sido disentildeadas para abstraer a los usuarios finales de la tecnologiacutea subyacenteInternet es un entorno coacutemodo y familiar para la mayor parte de los usuarios y porello se escogioacute un portal Web como medio de acceso al sistema Grid El portal fue

124 Capiacutetulo 8 Resultados y conclusiones

implementado empleando GridSphere que proporciona un entorno de desarrollo deportales Web basado en portlets El uso de portlets permite desplegar aplicaciones inde-pendientes del middleware Grid utilizado en el sistema asiacute como reutilizarlas en otrosportales La solucioacuten tecnoloacutegica desarrollada permite al usuario centrar sus esfuerzosen el desarrollo de sus trabajos y no en el aprendizaje de las herramientas

ndash Sistema de autenticacioacuten y autorizacioacuten simplificado buscando una solucioacuten bienequilibrada entre seguridad y facilidad de uso se disentildeoacute y desarrolloacute un sistema deautenticacioacuten y autorizacioacuten integrando y mejorando diferentes tecnologiacuteas El sistemade registros de usuarios PURSe fue desplegado para abstraer a los usuarios del usode los DCs Tanto PURSe como GridSphere fueron modificados para gestionar rolesde usuarios a traveacutes de ACs y asiacute poder emplearlos como medio de autorizacioacuten enel Grid El uso de un sistema de autorizacioacuten del tipo RBAC en un Grid simplifica laadministracioacuten de los recursos y por esta razoacuten en RETELAB se integroacute el softwarePERMIS que permite gestionar poliacuteticas de seguridad basadas en roles

ndash Despliegue de un sistema de autenticacioacuten SSO los usuarios que pertenezcan a cen-tros incluidos en la red de confianza de RETELAB pueden acceder al portal sin nece-sidad de registrarse a traveacutes del sistema de autenticacioacuten de sus centros Para realizareste proceso se integroacute Shibboleth y se desarrollaron procedimientos que generan deforma temporal DCs y ACs para los usuarios externos Los datos necesarios para losdiferentes certificados son proporcionados por las organizaciones en el proceso de au-tenticacioacuten

ndash Despliegue de un sistema de almacenamiento distribuido basado en metadatosse ha disentildeado y desplegado un sistema de almacenamiento distribuido que permitea la comunidad de RETELAB compartir los datos de sus investigaciones Esta DBvirtual que soporta formatos estaacutendar en oceanografiacutea estaacute dirigida por metadatos parafacilitar el etiquetado y descripcioacuten de los datos almacenados y asiacute mejorar los sistemasde buacutesquedas Para unificar el uso de los metadatos se ha seleccionado el estaacutendar paradescribir informacioacuten geograacutefica ISO 19115

ndash Despliegue de un metaplanificador y un monitor de trabajos se ha disentildeado una in-terfaz de ejecucioacuten y monitorizacioacuten de trabajos que permite a los usuarios configurarejecutar y monitorizar sus trabajos sin que sea necesario que conozcan la infraestruc-tura hardware Para ello se ha desplegado una versioacuten mejorada del metaplanificador

125

GridWay que se encarga de gestionar en nombre del usuario la ejecucioacuten de las tareasEl monitor permite visualizar el estado de las tareas y acceder a los resultados una vezque hayan finalizado Tanto la versioacuten del GridWay utilizada como la interfaz de ejecu-cioacuten y monitorizacioacuten de los trabajos ha sido realizada por el CESGA en el marco delproyecto RETELAB

ndash Validacioacuten y distribucioacuten de los resultados utilizando la interfaz de monitorizacioacutenel usuario puede acceder a los resultados de las tareas ejecutadas Desde la interfazde resultados el usuario puede descargar los ficheros generados o compartirlos con lacomunidad publicaacutendolos previa descripcioacuten a traveacutes de metadatos en la DB virtuallo que realimenta el sistema El entorno cuenta con una herramienta avanzada para lavisualizacioacuten y validacioacuten de los datos llamada IDV (desarrollada por Unidata) Estesoftware se descarga e instala en el puesto de trabajo del usuario de forma temporal ytransparente y se ejecuta con los datos seleccionados por el usuario

ndash Desarrollo de un sistema de deteccioacuten de vertidos de hidrocarburos el laboratoriovirtual se ha validado a traveacutes del despliegue de varias aplicaciones y entre ellas porsu entidad alcance y necesidad de investigacioacuten adicional del estado del arte destacaSENTINAZOS Eacuteste es un sistema de deteccioacuten de vertidos de hidrocarburos en lasuperficie oceaacutenica que fue desarrollado con el doble propoacutesito de validar el sistema yde encontrar una solucioacuten para un problema diario de nuestras costas Las principalesaportaciones de este sistema son

bull Desarrollo de un procedimiento de segmentacioacuten adaptativo basado en la ve-locidad del viento partiendo de una DB de imaacutegenes SAR enriquecida tanto condatos de viento como con informacioacuten de vertidos de hidrocarburos se implemen-toacute un segmentador basado en una umbralizacioacuten adaptativa El establecimiento deeste umbral tiene como base el estudio de centenares de datos muestreados en losque se analizoacute la velocidad del viento el IA del sateacutelite respecto al punto mues-treado y su valor de intensidad Tras el estudio de la muestra se constatoacute que siel IA era similar las muestras asociadas a hidrocarburos teniacutean valores de intensi-dad menores a las que representaban superficie limpia pero ademaacutes se comproboacuteque estos valores teniacutean una relacioacuten directa con el viento que afectaba a la zonaEmpleando estos datos se establecioacute una funcioacuten definida por partes que repre-sentaba el umbral de intensidad del hidrocarburo seguacuten el IA y la velocidad del

126 Capiacutetulo 8 Resultados y conclusiones

viento Este procedimiento de segmentacioacuten obtiene un menor nuacutemero de falsospositivos que otras alternativas lo que permite facilitar el trabajo del clasificadory obtener mejores resultados

bull Caracterizacioacuten de los candidatos a traveacutes de la forma diferentes estudios hanconstatado que los sentinazos adquieren formas que siguen patrones singularesdebido a su origen y a su antiguumledad Partiendo de la hipoacutetesis de que la formaes un elemento diferenciador se desarrolloacute un procedimiento para caracterizar loscandidatos que generaba un vector dominado por las caracteriacutesticas relacionadascon la forma La dimensionalidad de dicho vector fue reducida a traveacutes de unPCA siendo el resultado utilizado como entrada para el clasificador

bull Sistema semiautomaacutetico de deteccioacuten de vertidos se desarrollaron y analizarondos clasificadores para separar los falsos positivos de los sentinazos Tanto la ANNcomo el aacuterbol de decisioacuten obtuvieron resultados muy prometedores El uso de unsegmentador optimizado permite emplear clasificadores maacutes sencillos por lo quese reduce el tiempo de procesamiento sin sacrificar la tasa de aciertos

bull Disminucioacuten del tiempo de procesamiento empleando un paradigma de pro-gramacioacuten paralela con memoria compartida se ha implementado un sistema quepermite procesar completamente un producto SAR en un tiempo considerable-mente inferior al usado por aplicaciones similares encontradas en la literatura Es-ta mejora en el tiempo de procesamiento permite emplear el sistema de deteccioacutencomo una herramienta de ayuda a la toma de decisiones en tiempo casi real

CAPIacuteTULO 9

TRABAJO FUTURO

91 Trabajo futuro en el proyecto RETELAB

El futuro del laboratorio virtual puede verse desde dos puntos de vista por un lado la evo-lucioacuten del propio entorno que se centraraacute en el anaacutelisis de los posibles puntos de confluenciaentre la computacioacuten Grid y la Cloud Por otro el del desarrollo y mejora de las aplicacionesdesplegadas en particular la mejora de los algoritmos para la deteccioacuten de vertidos asiacute comola adaptacioacuten de eacutestos para trabajar con datos provenientes de fuentes diferentes al Envisatcomo por ejemplo el futuro sateacutelite Sentinel-1

911 Computacioacuten Cloud

La computacioacuten Cloud es un nuevo paradigma de computacioacuten distribuida que ha surgidocon fuerza estos uacuteltimos antildeos Al igual que ocurrioacute con la computacioacuten Grid su definicioacutenha sido objeto de debate tanto en el mundo empresarial como entre la comunidad cientiacuteficaLa literatura presenta multitud de definiciones pero en general se observa que las que provie-nen del mundo empresarial se centran en la perspectiva del usuario final y su experiencia deuso mientras que desde la comunidad cientiacutefica se incluyen tambieacuten aspectos relativos a suarquitectura Foster et aacutel [48] definen la computacioacuten Cloud como

laquoUn paradigma de computacioacuten distribuida de gran envergadura dirigido por economiacuteas

de escala en el que un conjunto administrado de recursos (procesamiento almacenamiento

entornos y aplicaciones) abstractos virtualizados y dinaacutemicamente escalables se proporcio-

nan bajo demanda a clientes viacutea Internetraquo

128 Capiacutetulo 9 Trabajo futuro

La computacioacuten Cloud es un paradigma de computacioacuten distribuida altamente especiali-zado que presenta las siguientes diferencias respecto a anteriores paradigmas [48]

ndash Es altamente escalable

ndash Puede ser encapsulado como una entidad abstracta y proporcionar diferentes niveles deservicios a los clientes finales

ndash Estaacute dirigido por economiacuteas de escala

ndash Los servicios son proporcionados bajo demanda y pueden ser configurados dinaacutemica-mente a traveacutes de la virtualizacioacuten

Su arquitectura puede dividirse en capas [48] y eacutestas mantienen una estrecha relacioacuten conlos servicios proporcionados (veacutease la Figura 91)

ndash Capa de infraestructura contiene los recursos hardware maacutes baacutesicos como son los recur-sos computacionales los de almacenamiento o los relacionados con la infraestructurade red

ndash Capa de recursos unificados empleando los recursos baacutesicos se encapsulan a traveacutesde la virtualizacioacuten nuevos recursos maacutes complejos que pueden ser proporcionados alas capas superiores o directamente a los usuarios finales

ndash Capa de plataforma proporciona a los recursos unificados herramientas especializadasmiddleware y servicios Su finalidad es preparar un entorno de desarrollo o de desplie-gue que pueda ser utilizado por la capa de aplicaciones o proporcionado como servicioa los usuarios

ndash Capa de aplicaciones contiene aplicaciones que son ejecutadas en el Cloud y expuestascomo servicios para ser utilizadas por los usuarios finales

Los Clouds en general proporcionan bajo demanda hasta tres tipos de servicios a los queel usuario puede acceder a traveacutes de un navegador Web o de un API bien definida [105]

ndash Infraestructura como Servicio (IaaS) proporciona recursos computacionales (procesa-miento y almacenamiento) virtualizados Esto permite que los usuarios puedan obtenerrecursos con unas determinadas caracteriacutesticas (nuacutemero de procesadores memoria es-pacio en disco etc) para cubrir unas necesidades concretas

91 Trabajo futuro en el proyecto RETELAB 129

ndash Plataforma como Servicio (PaaS) los servicios de plataforma estaacuten pensados para pro-porcionar a los usuarios entornos especiacuteficos bien sea para desarrollar software o biensea para desplegarlo permitiendo que los usuarios se abstraigan del hardware yo con-figuraciones

ndash Sofware como Servicio (SaaS) proporciona software especiacutefico para que sea accesibleremotamente por los clientes a traveacutes de Internet

Figura 91 Arquitectura del Cloud relacionada con los servicios que proporciona Figura adaptada de [105]

912 Integracioacuten de la computacioacuten Cloud en RETELAB

La integracioacuten de la computacioacuten Cloud en el proyecto RETELAB podriacutea proporcionaruna mayor flexibilidad al laboratorio Existen varias liacuteneas de futuro interesantes para desa-rrollar

ndash Agregacioacuten de recursos bajo demanda los recursos proporcionados por RETELAB es-taacuten limitados tanto en su nuacutemero como en sus caracteriacutesticas Si la demanda de recursospor parte de los usuarios excede la capacidad del laboratorio ya sea porque la cantidadde trabajos ejecutados es mayor de la que puede absorber porque los trabajos requie-ren recursos con caracteriacutesticas superiores (nuacutemero de procesadores memoria etc) oporque necesitan de un determinado entorno de ejecucioacuten que no estaacute disponible elCloud podriacutea proporcionar una solucioacuten raacutepida y puntual Aprovechando que el Cloud

130 Capiacutetulo 9 Trabajo futuro

proporciona IaaS podriacutean agregarse bajo demanda los recursos necesarios y graciasal PaaS seriacutea posible obtener recursos con una determinada configuracioacuten La tarea deinstanciar los recursos recaeriacutea sobre el metaplanificador GridWay del que existe unplugin (Broker GW-SLA) que permite negociar con entidades externas para incorporarrecursos al Grid y que ya fue utilizado con eacutexito en proyectos previos [55]

ndash Modificacioacuten dinaacutemica de los recursos el uso de la computacioacuten Cloud tambieacuten seriacuteauacutetil para gestionar los propios recursos de RETELAB ya que podriacutea optimizar su usoCuando se ejecuta un trabajo en el laboratorio el metaplanificador necesita conocer susnecesidades para poder gestionar su ejecucioacuten Puede darse el caso de que un trabajosea asignado a un recurso libre y lo infrautilice ya que no necesita de todo su potencial(procesadores memoria etc) Mientras tanto puede llegar a la cola un trabajo queaunque realmente necesite mejores condiciones para que su ejecucioacuten sea oacuteptima po-driacutea aprovechar la parte ociosa del recurso a la espera de mejores recursos Desplegandoun Cloud sobre los recursos disponibles podriacutean virtualizarse y optimizarse generandorecursos laquoa medidaraquo Asociando a cada cada tarea informacioacuten sobre cuaacuteles seriacutean losrequisitos miacutenimos y cuaacuteles los deseados para su ejecucioacuten se podriacutea virtualizar y asig-nar un recurso en el momento en que estuviesen disponibles los recursos miacutenimos Amedida que los recursos base fuesen quedando ociosos se aprovechariacutea la escalabilidaddinaacutemica del Cloud para mejorar el recurso virtual asignado a la tarea hasta alcanzar losrequisitos deseados El metaplanificador seriacutea el encargado de gestionar este procesopor lo que seriacutea necesario extender el JSDL para soportar dicha informacioacuten

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS

921 Fuentes de datos

Los algoritmos desarrollados para localizar vertidos de hidrocarburos estaacuten basados endatos obtenidos por el sateacutelite Envisat a traveacutes del modo de operacioacuten WSM A pesar de quela base de los algoritmos es vaacutelida para otras fuentes de datos es cierto que eacutestos deberiacutean seradaptados para ajustarse a sus particularidades como por ejemplo a las diferentes resolucio-nes espaciales La adaptacioacuten de los algoritmos para trabajar con diferentes fuentes siemprefue considerado como un trabajo futuro que actualmente y debido a la peacuterdida de contactocon el sateacutelite Envisat ha cobrado mayor relevancia A corto plazo los algoritmos deberiacuteanser adaptados para analizar datos provenientes del Radarsat mientras que a medio plazo seriacutea

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 131

interesante adaptarlos para trabajar con los datos que provengan del Sentinel-1 sateacutelite cuyolanzamiento estaacute previsto para el antildeo 2013

922 Mejora de los algoritmos

Existen varias liacuteneas de trabajo que podriacutean conducir a una mejora de los algoritmos ac-tuales para la deteccioacuten de vertidos

ndash Informacioacuten contextual dado que los sentinazos son generados habitualmente por bu-ques que transitan por el ESTF o por sus cercaniacuteas seriacutea interesante antildeadir informacioacutencontextual respecto a su entorno como por ejemplo la proximidad a una posible fuentedel vertido o su localizacioacuten respecto al ESTF Esta informacioacuten podriacutea ser obtenidaempleando los propios datos SAR ya que es posible utilizarlos para detectar embarca-ciones [89] y al estar georreferenciados tambieacuten es posible posicionar los sentinazosrespecto al ESTF

ndash Incorporacioacuten de datos provenientes de los Sistemas Automaacuteticos de Identificacioacuten(AISs) de buques la Organizacioacuten Internacional Mariacutetima (IMO) requiere que la ma-yor parte de las embarcaciones posean un sistema AIS para identificarlos y localizarlosEstos sistemas enviacutean sus datos a estaciones receptoras que almacenan y procesan lainformacioacuten SASEMAR ha implantado cobertura para AIS a lo largo de toda la cos-ta espantildeola por lo que la informacioacuten recogida podriacutea ser utilizada en el sistema dedeteccioacuten para acotar los posibles causantes del vertido

ndash Incorporacioacuten de nuevos datos de viento unos pocos informes de las misiones aeacutereasa las que tuvo acceso SASEMAR conteniacutean medidas de la velocidad del viento de laszonas en las que fueron detectados vertidos Estas medidas no se ajustaban correcta-mente a las obtenidas por el modelo CMOD5 y aunque la comparacioacuten es complicadadebido a que las misiones aeacutereas eran enviadas despueacutes de obtener y procesar la imagenSAR (no correspondiacutean al mismo momento) se considera que una posible liacutenea futuraes incorporar datos reales o de otros modelos que puedan ser maacutes precisos y asiacute podercomparar los resultados con los obtenidos actualmente

ndash Anaacutelisis de nuevos clasificadores a pesar de que los resultados obtenidos con las ANNsy con los aacuterboles de decisioacuten son satisfactorios seriacutea deseable analizar otros clasifica-dores con el objetivo de alcanzar un mejor porcentaje de aciertos De entre las diferentes

132 Capiacutetulo 9 Trabajo futuro

posibilidades las Maacutequinas de Soporte Vectorial (SVM) resultan especialmente intere-santes ya que en problemas tanto de clasificacioacuten como de regresioacuten tratan de definirun hiperplano en un espacio n-dimensional que separe las posibles clases de una formaestricta desde el punto de vista matemaacutetico Otras opciones posibles seriacutean las redesfuncionales o los clasificadores basados en loacutegica borrosa

Bibliografiacutea

[1] European Space Agency (ESA) httpsearthesain

[2] PURSE Portal-based User Registration Service httpwwwGrids-centerorgsolutionspurse (Retrieved October 2012)

[3] Sakai project Web Page httpwwwsakaiprojectorg (Retrieved October 2012)

[4] The Apache Velocity Project httpvelocityapacheorg (Retrieved October 2012)

[5] Tupelo Web Page httptupeloprojectncsauiucedu (Retrieved October 2012)

[6] Xen Web page httpwwwxenorg (Retrieved October 2012)

[7] ISO 191152003 Geographic information - Metadata Technical report InternationalOrganization for Standardization 2003

[8] The Grid 2 Second Edition Blueprint for a New Computing Infrastructure MorganKaufmann 2 edition December 2003

[9] Ahmar Abbas Grid computing a practical guide to technology and applications Char-les River Media 2004

[10] A Abdelnur and S Hepper JSR 168 Portlet Specification Tech-nical report Sun Microsystems October 2003 Also available onlinehttpwwwjcporgenjsrdetailid=168 (Retrieved Sept 2012)

[11] International Energy Agency Medium-Term Oil and Gas

Markets IEA Publications 2011 Also available onlinehttpwwwieaorgpublicationsfreepublicationspublicationMTOGM2011_Unsecuredpdf(Retrieved Sept 2012)

134 Bibliografiacutea

[12] Jay Alameda Marcus Christie Geoffrey Fox Joe Futrelle Dennis Gannon MihaelHategan Gopi Kandaswamy Gregor von Laszewski Mehmet A Nacar Marlon Pier-ce Eric Roberts Charles Severance and Mary Thomas The Open Grid ComputingEnvironments collaboration portlets and services for science gateways Concurrency

Computat Pract Exper 19(6)921ndash942 2007

[13] William Allcock John Bresnahan Rajkumar Kettimuthu Michael Link Catalin Dumi-trescu Ioan Raicu and Ian Foster The Globus Striped GridFTP Framework and ServerIn Proceedings of the 2005 ACMIEEE conference on Supercomputing volume 0 of SC

rsquo05 Washington DC USA 2005 IEEE Computer Society

[14] Ethem Alpaydin Introduction to Machine Learning (Adaptive Computation and Ma-chine Learning series) chapter 9 pages 185ndash208 The MIT Press second editionDecember 2009

[15] A Andronico R Barbera A Falzone G Lo Re A Pulvirenti and A Rodolico GE-NIUS a web portal for the grid Nuclear Instruments and Methods in Physics Research

Section A Accelerators Spectrometers Detectors and Associated Equipment 502(2-3)433ndash436 April 2003

[16] A Anjomshoaa F Brisard M Drescher D Fellows A Ly S McGough D Pul-sipher and A Savva ob submission description language (jsdl) specification ver-sion 10 Technical report Open Grid Forum November 2005 Also available onlinehttpwwwogforgdocumentsGFD56pdf (Retrieved October 2012)

[17] Mario Antonioletti Malcolm Atkinson Rob Baxter Andrew Borley Neil PChue Hong Brian Collins Neil Hardman Alastair C Hume Alan Knox Mike Jack-son Amy Krause Simon Laws James Magowan Norman W Paton Dave PearsonTom Sugden Paul Watson and Martin Westhead The design and implementation ofGrid database services in OGSA-DAI Concurrency Computat Pract Exper 17(2-4)357ndash376 2005

[18] C F Balseiro P Carracedo B Goacutemez P C Leitatildeo P Montero L Naranjo E Pena-bad and V Peacuterez-Muntildeuzuri Tracking the Prestige oil spill An operational experiencein simulation at MeteoGalicia Weather 58(12)452ndash458 2003

[19] R Barbera A Falzone and A Rodolico The genius grid portal In Computing in

High Energy and Nuclear Physics volume 24 page 28 2003

Bibliografiacutea 135

[20] M J Behrenfeld and P G Falkowski A consumerrsquos guide to phytoplankton primaryproductivity models Limnology and Oceanography 1997

[21] G Benelli and A Garzelli Oil-spills detection in SAR images by fractal dimensionestimation In Geoscience and Remote Sensing Symposium 1999 IGARSS amp03999

Proceedings IEEE 1999 International volume 1 pages 218ndash220 vol1 IEEE 1999

[22] Fran Berman Geoffrey Fox and Tony Hey The Grid Past Present Future In Grid

Computing pages 9ndash50 John Wiley amp Sons Ltd 2003

[23] D Bernholdt S Bharathi D Brown K Chanchio M Chen A Chervenak L Cinqui-ni B Drach I Foster P Fox and Others The earth system grid Supporting the nextgeneration of climate modeling research Proceedings of the IEEE 93(3) 2005

[24] Leo Breiman J H Friedman R A Olshen and C J Stone Classification and Re-

gression Trees Wadsworth 1984

[25] Camilla Brekke and Anne H S Solberg Oil spill detection by satellite remote sensingRemote Sensing of Environment 95(1)1ndash13 March 2005

[26] Camilla Brekke and Anne H S Solberg Classifiers and Confidence Estimation for OilSpill Detection in ENVISAT ASAR Images IEEE Geoscience and Remote Sensing

Letters 5(1)65ndash69 January 2008

[27] D Chadwick A Otenko and E Ball Role-based access control with X509 attributecertificates Internet Computing IEEE 7(2)62ndash69 March 2003

[28] David W Chadwick and Alexander Otenko The PERMIS X509 role based privile-ge management infrastructure Future Generation Computer Systems 19(2)277ndash289February 2003

[29] C F Chen K S Chen L Y Chang and A J Chen The use of satellite imagery formonitoring coastal environment in Taiwan In Geoscience and Remote Sensing 1997

IGARSS rsquo97 Remote Sensing - A Scientific Vision for Sustainable Development 1997

IEEE International volume 3 pages 1424ndash1426 vol3 IEEE August 1997

[30] R Chinnici J J Moreau A Ryman and S Weerawarana Web Services DescriptionLanguage (WSDL) Version 20 Part 1 Core Language Technical report W3C June2007

136 Bibliografiacutea

[31] E Chuvieco Radar In Teledeteccioacuten ambiental chapter 3 pages 108ndash116 ArielPublications 1 edition May 2002

[32] P Cornillon J Gallagher and T Sgouros OPeNDAP Accessing data in a distributedheterogeneous environment Data Science Journal 2164ndash174 2003

[33] Carmen Cotelo Andreacutes Goacutemez J Ignacio Loacutepez David Mera Joseacute M Cotos J Peacute-rez Marrero and Constantino Vaacutezquez Retelab A geospatial grid web laboratoryfor the oceanographic research community Future Generation Computer Systems26(8)1157ndash1164 October 2010

[34] Joseacute M Cotos and Alejandro Tobar Teledeteccioacuten de la marea negra del petroleroPrestige In Teledeteccioacuten de pesqueriacuteas y prediccioacuten de mareas toacutexicas chapter 9pages 177ndash182 Netbiblo first edition 2002

[35] L da Fontoura Costa and R M Cesar Shape analysis and classification theory and

practice CRC 2001

[36] L Dagum and R Menon OpenMP an industry standard API for shared-memoryprogramming IEEE Computational Science and Engineering 5(1)46ndash55 January1998

[37] F Del Frate A Petrocchi J Lichtenegger and G Calabresi Neural networks for oilspill detection using ERS-SAR data IEEE Transactions on Geoscience and Remote

Sensing 38(5)2282ndash2287 September 2000

[38] Dietmar Erwin and David Snelling UNICORE A Grid Computing Environment InRizos Sakellariou John Gurd Len Freeman and John Keane editors Euro-Par 2001

Parallel Processing volume 2150 of Lecture Notes in Computer Science pages 825ndash834 Springer Berlin Heidelberg 2001

[39] Esa Oil pollution monitoring in ERS and its applications Marine Technical report1998

[40] H A Espedal Satellite SAR oil spill detection using wind history information Inter-

national Journal of Remote Sensing 20(1)49ndash65 January 1999

Bibliografiacutea 137

[41] B Fiscella A Giancaspro F Nirchio P Pavese and P Trivero Oil spill detectionusing marine SAR images International Journal of Remote Sensing 21(18)3561ndash3566 2000

[42] FAO Fisheries and Aquaculture Dept The state of world fisheries and aquaculture

2012 Food and Agriculture Organization of the United Nations 2012

[43] J Fortuny-Guasch Improved Oil Slick Detection and Classification with PolarimetricSAR In Applications of SAR Polarimetry and Polarimetric Interferometry volume 529of ESA Special Publication April 2003

[44] I Foster J Geisler B Nickless W Smith and S Tuecke Software infrastructure forthe I-WAY high-performance distributed computing experiment In High Performance

Distributed Computing 1996 Proceedings of 5th IEEE International Symposium onIEEE 1996

[45] I Foster and C Kesselman Globus A metacomputing infrastructure toolkit Interna-

tional Journal of High Performance Computing Applications 11(2) 1997

[46] I Foster and C Kesselman Computational Grids In The grid blueprint for a new

computing infrastructure chapter 2 pages 15ndash53 Morgan Kaufmann 1998

[47] I Foster and C Kesselman The Globus project A status report Future Generation

Computer Systems 15(5) 1999

[48] I Foster Y Zhao I Raicu and S Lu Cloud computing and grid computing 360-degree compared In Grid Computing Environments Workshop 2008 GCErsquo08 Ieee2008

[49] Ian Foster What is the Grid - a three point checklist GRIDtoday 1(6) July 2002

[50] Ian Foster and Carl Kesselman Concepts and Architecture In The Grid 2 Second Edi-

tion Blueprint for a New Computing Infrastructure chapter 4 pages 37ndash63 MorganKaufmann 2 edition December 2003

[51] Ian Foster Carl Kesselman Jeffrey M Nick and Steven Tuecke The physiology of thegrid In Grid Computing Making The Global Infrastructure a Reality pages 217ndash249John Wiley amp Sons Ltd 2003

138 Bibliografiacutea

[52] Ian Foster Carl Kesselman and Steven Tuecke The Anatomy of the Grid EnablingScalable Virtual Organizations Int J High Perform Comput Appl 15(3)200ndash222August 2001

[53] Ian Foster Veronika Nefedova Mehran Ahsant Rachana Ananthakrishnan Lee Li-ming Ravi Madduri Olle Mulmo Laura Pearlman and Frank Siebenlist Streamli-ning Grid Operations Definition and Deployment of a Portal-based User RegistrationService Journal of Grid Computing 4(2)135ndash144 June 2006

[54] O Garcia-Pineda B Zimmer M Howard W Pichel Li XiaoFeng and I R MacDo-nald Using SAR images to delineate ocean oil slicks with a texture-classifying neuralnetwork algorithm (TCNNA) Canadian Journal of Remote Sensing 35(5)411ndash4212009

[55] A Goacutemez Remote Conputational Tools for Radiotherapy Cancer Treatment PlanningIn K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud compu-

ting a business perspective on technology and applications chapter 9 pages 147ndash158Springer Publishing Company Incorporated 2009

[56] W W Gregg M E Conkright P Ginoux J E OrsquoReilly and N W Casey Oceanprimary production and climate Global decadal changes Geophys Res Lett30(15)1809 2003

[57] Andrew S Grimshaw Wm and CORPORATE The Legion Team The Legion visionof a worldwide virtual computer Commun ACM 40(1)39ndash45 January 1997

[58] Hecht-Nielsen Theory of the backpropagation neural network In International Joint

Conference on Neural Networks pages 593ndash605 vol1 IEEE June 1989

[59] S Hepper Comparing the JSR 168 Java Portlet Specification

with the IBM Portlet API December 2003 Also available onlinehttpwwwibmcomdeveloperworkswebspherelibrarytecharticles0312_hepperhepperhtml(Retrieved Sept 2012)

[60] H Hersbach A Stoffelen and S de Haan An improved C-band scatterome-ter ocean geophysical model function CMOD5 Journal of Geophysical Research112(C3)C03006 March 2007

Bibliografiacutea 139

[61] S Hesmer P Fischer T Buckner and I Schuster Portlet de-

velopment guide 1 edition April 2002 Also available onlineftpftpsoftwareibmcomsoftwarewebserverportalV41PortletDevelopmentGuidepdf(Retrieved Sept 2012)

[62] J Horstmann and W Koch Measurement of ocean surface winds using synthetic aper-ture radars Oceanic Engineering IEEE Journal of 30(3)508ndash515 July 2005

[63] H A Hovland J A Johannessen and G Digranes Slick detection in SAR images InProceedings of IGARSS rsquo94 - 1994 IEEE International Geoscience and Remote Sensing

Symposium pages 2038ndash2040 IEEE 1994

[64] Eduardo Huedo Ruben S Montero and Ignacio M Llorente A framework for adap-tive execution in grids Softw Pract Exper 34(7)631ndash651 2004

[65] Eduardo Huedo Rubeacuten S Montero and Ignacio M Llorente A modular meta-scheduling architecture for interfacing with pre-WS and WS Grid resource manage-ment services Future Generation Computer Systems 23(2)252ndash261 February 2007

[66] C Jackson and J Apel editors Synthetic Aperture Radar Marine Userrsquos Manual USDepartement of Commerce National Oceanic and Atmospheric Administration 1stedition April 2005 Also available online httpwwwsarusersmanualcom (RetrievedMay 2012)

[67] I T Jolliffe and MyiLibrary Principal component analysis volume 2 Wiley OnlineLibrary 2002

[68] Maozhen Li and Mark Baker Applications In The grid core technologies pages377ndash400 Wiley May 2005

[69] Maozhen Li and Mark Baker Grid Portals In The grid core technologies pages335ndash376 Wiley May 2005

[70] Maozhen Li and Mark Baker Grid Security In The grid core technologies pages124ndash152 Wiley May 2005

[71] R F Loacutepez and J M F Fernaacutendez Las Redes Neuronales Artificiales Netbiblo Sl2008

140 Bibliografiacutea

[72] Maged Marghany RADARSAT for oil spill trajectory model Environmental Mode-

lling and Software 19(5)473ndash483 2004

[73] J M M Mariacuten and S B Caacutemara Evolucioacuten de las tecnologiacuteas Grid de la informacioacutenIn Las tecnologiacuteas Grid de la informacioacuten como nueva herramienta empresarial pages87ndash111 Septem 2008

[74] S W McCandless and C Jackson Principles of Synthetic Aperture Radarchapter 1 pages 1ndash23 US Department of Commerce National Oceanic andAtmospheric Administration 1st edition April 2005 Also available onlinehttpwwwsarusersmanualcom (Retrieved May 2012)

[75] David Mera Joseacute Cotos Joaquiacuten Trinanes and Carmen Cotelo An Integrated Solutionto Store Manage and Work with Datasets Focused on Metadata in the Retelab GridProject In Sigeru Omatu Miguel Rocha Joseacute Bravo Florentino Fernaacutendez EmilioCorchado Andreacutes Bustillo and Juan Corchado editors Distributed Computing Arti-

ficial Intelligence Bioinformatics Soft Computing and Ambient Assisted Living volu-me 5518 of Lecture Notes in Computer Science chapter 71 pages 491ndash494 SpringerBerlin Heidelberg Berlin Heidelberg 2009

[76] David Mera Joseacute Cotos Joseacute Viqueira and Joseacute Varela A User Management Web Sys-tem Based on Portlets for a Grid Environment Integrating Shibboleth PURSe PERMISand Gridsphere In Juan Corchado Sara Rodriacuteguez James Llinas and Joseacute Molinaeditors International Symposium on Distributed Computing and Artificial Intelligence

2008 (DCAI 2008) volume 50 of Advances in Soft Computing chapter 3 pages 19ndash23Springer Berlin Heidelberg Berlin Heidelberg 2009

[77] David Mera Joseacute M Cotos Pedro Saco and Andreacutes Goacutemez An integrated Solutionto the Security User Access in the RETELAB Grid Project using a Web System basedon Portlets and a RBAC Model by means of User Attribute Certificates and PKI InFernando Silva Gaspar Barreira and Ligia Ribeiro editors 2nd Iberian Grid Infras-

tructure Conference Proceedings pages 296ndash307 2008

[78] David Mera Joseacute M Cotos Joseacute Varela Carmen Cotelo and J Ignacio Loacutepez AnIntegration of Several Technologies in the Architecture Definition and Deployment ofa Geospatial Grid Web Portal In Hamid R Arabnia and George A Gravvanis editors

Bibliografiacutea 141

Proceedings of the 2009 International Conference on Grid Computing and Applica-

tions pages 86ndash91 CSREA Press 2009

[79] David Mera Joseacute M Cotos Joseacute Varela-Pet and Oscar Garcia-Pineda Adaptive thres-holding algorithm based on SAR images and wind data to segment oil spills along thenorthwest coast of the Iberian Peninsula Marine Pollution Bulletin 64(10)2090ndash2096October 2012

[80] David Mera Joseacute M Cotos Joseacute R R Viqueira and Carmen Cotelo Software Inte-gration in the Development of a Spatial Data Grid Prototype based on Metadata InVicente H Garciacutea Gaspar Barreira Ignacio B Espert and Jorge Gomes editors 3rd

Iberian Grid Infrastructure Conference Proceedings pages 305ndash314 2009

[81] M Migliaccio M Tranfaglia and S A Ermakov A physical approach for the obser-vation of oil spills in SAR images Oceanic Engineering IEEE Journal of 30(3)496ndash507 July 2005

[82] Daniel Minoli A networking approach to grid computing Wiley 2005

[83] R L Morgan Scott Cantor Steven Carmody Walter Hoehn and Ken KlingensteinFederated Security The Shibboleth Approach EDUCAUSE Quarterly 27(4)12ndash172004

[84] D Murray J McWhirter S Wier and S Emmerson The Integrated Data Viewermdashaweb-enabled application for scientific analysis and visualization In 19th Intl Conf on

IIPS for Meteorology Oceanography and Hydrology 2003

[85] J Novotny The grid portal development kit Concurrency and Computation Practice

and experience 14(13-15) 2002

[86] J Novotny S Tuecke and V Welch An online credential repository for the GridMyProxy In High Performance Distributed Computing 2001 Proceedings 10th IEEE

International Symposium on pages 104ndash111 IEEE 2001

[87] Jason Novotny Michael Russell and Oliver Wehrens GridSphere a portal frameworkfor building collaborations Concurrency Computat Pract Exper 16(5)503ndash5132004

142 Bibliografiacutea

[88] M A Oliver and R Webster Kriging a method of interpolation for geographical infor-mation systems International journal of geographical information systems 4(3)313ndash332 July 1990

[89] R B Olsen and T Wahl The ship detection capability of ENVISATrsquos ASAR InIGARSS 2003 2003 IEEE International Geoscience and Remote Sensing Symposium

Proceedings (IEEE Cat No03CH37477) pages 3108ndash3110 IEEE 2003

[90] J M Torres Palenzuela L Gonzaacutelez Vilas and M Sacau Cuadrado Use of ASARimages to study the evolution of the Prestige oil spill off the Galician coast Internatio-

nal Journal of Remote Sensing 27(10)1931ndash1950 2006

[91] Joon S Park Ravi Sandhu and Gail J Ahn Role-based access control on the webACM Trans Inf Syst Secur 4(1)37ndash71 February 2001

[92] P Pavlakis D Tarchi and A Sieber On the monitoring of illicit vessel dischargesusing spaceborne sar remote sensing - a reconnaissance study in the Mediterraneansea Annals of Telecommunications 56(11)700ndash718 November 2001

[93] R Rew and G Davis NetCDF an interface for scientific data access Computer

Graphics and Applications IEEE 10(4)76ndash82 July 1990

[94] M Romberg The UNICORE architecture seamless access to distributed resources InHigh Performance Distributed Computing 1999 Proceedings The Eighth Internatio-

nal Symposium on pages 287ndash293 IEEE 1999

[95] Betlem Rosich and Peter Meadows Absolute Calibration of ASAR Level 1 ProductsGenerated with PF-ASAR Technical Report Iss 1 rev 5 ESA October 2004

[96] D E Rumelhart G E Hintont and R J Williams Learning representations by back-propagating errors Nature 323(6088) 1986

[97] M Russell J Novotny and O Wehrens Gridspherersquos Grid Portlets Computational

Methods In Science and Technology 12(1) 2006

[98] Alexander F Shchepetkin and James C McWilliams The regional oceanic modelingsystem (ROMS) a split-explicit free-surface topography-following-coordinate ocea-nic model Ocean Modelling 9(4)347ndash404 January 2005

Bibliografiacutea 143

[99] J Shiers The worldwide LHC computing grid (worldwide LCG) Computer physics

communications 177(1) 2007

[100] G Singh S Bharathi A Chervenak E Deelman C Kesselman M Manohar S Patiland L Pearlman A Metadata Catalog Service for Data Intensive Applications InSupercomputing 2003 ACMIEEE Conference page 33 IEEE November 2003

[101] J Sirott J Callahan and S Hankin Inside the live access server In 17th Intl Conferen-

ce on Interactive Information and Processing Systems for Meteorology Oceanography

and Hydrology AMS 2001

[102] Chris Smith and Ian Lumb The Open Grid Services Architecture In Grid computing

a practical guide to technology and applications chapter 9 pages 159ndash187 CharlesRiver Media 2004

[103] A H S Solberg G Storvik R Solberg and E Volden Automatic detection of oilspills in ERS SAR images IEEE Transactions on Geoscience and Remote Sensing37(4)1916ndash1924 July 1999

[104] Anne H S Solberg Camilla Brekke and Per O Husoy Oil Spill Detection in Radarsatand Envisat SAR Images IEEE Transactions on Geoscience and Remote Sensing45(3)746ndash755 March 2007

[105] K Stanoevska-Slabeva and T Wozniak Cloud Basics- An introduction to Cloud Com-puting In K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud

computing a business perspective on technology and applications Springer PublishingCompany Incorporated 2009

[106] Kevin Swingler Applying Neural Networks A Practical Guide chapter 323 pages53ndash56 Morgan Kaufmann papdsk edition May 1996

[107] M Thomas S Mock M Dahan K Mueller D Sutton and J R Boisseau TheGridPort toolkit a system for building Grid portals In High Performance Distributed

Computing 2001 Proceedings 10th IEEE International Symposium on pages 216ndash227 IEEE 2001

[108] K Topouzelis V Karathanassi P Pavlakis and D Rokos Detection and discrimi-nation between oil spills and look-alike phenomena through neural networks ISPRS

Journal of Photogrammetry and Remote Sensing 62(4)264ndash270 September 2007

144 Bibliografiacutea

[109] K Topouzelis D Stathakis and V Karathanassi Investigation of genetic algorithmscontribution to feature selection for oil spill detection Int J Remote Sens 30(3)611ndash625 January 2009

[110] Konstantinos Topouzelis Oil Spill Detection by SAR Images Dark Formation De-tection Feature Extraction and Classification Algorithms Sensors 8(10)6642ndash6659October 2008

[111] Konstantinos Topouzelis and Apostolos Psyllos Oil spill feature selection and classifi-cation using decision tree forest on SAR image data ISPRS Journal of Photogrammetry

and Remote Sensing 68135ndash143 March 2012

[112] P Troumlger R Brobst D Gruber M Mamonski and D Templeton Distributed Resour-ce Management application API Version 2 (DRMAA) Technical report Open Grid Fo-rum January 2012 Also available online httpwwwogforgdocumentsGFD194pdf(Retrieved October 2012)

[113] G Von Laszewski I Foster J Gawor and P Lane A Java commodity grid kit Con-

currency and Computation practice and experience 13(8-9) 2001

[114] Ping Wang Y Tony Song Yi Chao and Hongchun Zhang Parallel Computation ofthe Regional Ocean Modeling System International Journal of High Performance

Computing Applications 19(4)375ndash385 2005

[115] Barry Wilkinson System Infrastructure II Grid Computing Services In Grid compu-

ting techniques and applications pages 201ndash222 CRC Press 2010

[116] Chongjie Zhang Ian Kelley and Gabrielle Allen Grid portal solutions a comparisonof GridPortlets and OGCE Concurrency Computat Pract Exper 19(12)1739ndash17482007

Anexos

145

ANEXO A

COacuteDIGO FUENTE

A1 Procedimiento para el registro de una JCE

Un error no corregido del JCE Cryptix impide su uso en el caso de que alguacuten otro JCE searegistrado despueacutes de su utilizacioacuten El orden de registro de los proveedores funciona comouna lista Last In First Out (LIFO) por lo que se desarrolloacute un procedimiento para cambiar elorden de la lista en caso de que eacuteste no fuese el adecuado Una explicacioacuten maacutes detallada delproblema se presenta en la Seccioacuten 321

Cambiando Proveedores

RetelabSigningUtility signingUtility = new RetelabSigningUtility()

if (javasecuritySecuritygetProviders()lengthgt1 ampamp javasecuritySecurity

getProviders()[0]getName()equals(new String(IAIK)))

javasecurityProvider provider_iaik=javasecuritySecuritygetProvider(IAIK)

javasecuritySecurityremoveProvider(IAIK)

javasecuritySecurityinsertProviderAt(provider_iaik javasecuritySecurity

getProviders()length)

Coacutedigo A1 Modificacioacuten del orden de los proveedores JCE para evitar el bug del proveedor Cryptix

148 Anexo A Coacutedigo Fuente

A2 Gestioacuten de certificados y roles desde la interfaz de Grid-Sphere

GridSphere gestiona la autorizacioacuten de los usuarios a los portlets a traveacutes de roles mien-tras que la integracioacuten de PERMIS en RETELAB permitioacute hacer lo propio sobre los recursosdel Grid En el caso del PERMIS los roles son gestionados a traveacutes de ACs por lo que pa-ra simplificar la administracioacuten se implementaron varias modificaciones sobre el coacutedigo deGridSphere para que eacuteste pudiese gestionar los roles de los usuarios viacutea ACs y asiacute ser admi-nistrados desde un punto uacutenico Una explicacioacuten maacutes detallada del desarrollo se presenta enla Seccioacuten 321

private void saveUserRole(FormEvent event User user)

logdebug(Entering saveUserRole())

PortletRequest req = eventgetPortletRequest()

Get selected role

PortletRole selectedRole = getSelectedUserRole(event)

reqsetAttribute(role selectedRole)

If super role was chosen

if (selectedRoleequals(PortletRoleSUPER))

logdebug(Granting super role)

Grant super role

thisaclManagerServicegrantSuperRole(user)

else

Revoke super role (in case they had it)

thisaclManagerServicerevokeSuperRole(user)

Create appropriate access request

Set groups = portalConfigServicegetPortalConfigSettings()getDefaultGroups

()

Iterator it = groupsiterator()

GroupRequest groupRequest

while (ithasNext())

PortletGroup group = (PortletGroup) itnext()

GroupEntry ge = aclManagerServicegetGroupEntry(user group)

if (ge = null)

groupRequest = thisaclManagerServiceeditGroupEntry(ge)

else

groupRequest = thisaclManagerServicecreateGroupEntry()

groupRequestsetUser(user)

groupRequestsetRole(selectedRole)

groupRequestsetGroup(group)

logdebug(Granting + selectedRole + role in gridsphere)

Submit changes

A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 149

thisaclManagerServicesaveGroupEntry(groupRequest)

Start Retelab Code

String path= reqgetRealPath()

logdebug(Save Role PATH +path)

String ldapBaseDN=

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

LdapConnector ldap_conector= new LdapConnector()

try

logdebug(Fichero de propiedades +path+FileseparatorChar+WEB-INF+File

separatorChar+permis_ldapproperties)

FileInputStream file_properties =new FileInputStream(path+FileseparatorChar

+WEB-INF+FileseparatorChar+permis_ldapproperties)

logdebug(Cargando Fichero de Propiedades)

cargamos las propiedades del LDAP y de los certificados de atributos de

ficheros de propiedades

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12)

int year=new Integer(retelab_propertiesgetProperty(validityperiodbefore

year))intValue()

int month=new Integer(retelab_propertiesgetProperty(validityperiodbefore

month))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiodbefore

day))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiodafteryear

))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiodafter

month))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiodafterday))

intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

port=new Integer(retelab_propertiesgetProperty(ldapport))intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

150 Anexo A Coacutedigo Fuente

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(selectedRolegetName())

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

Eliminamos el certificado anterior

ArrayList atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttribute))

int tipo_modificacion=10=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

Creamos el nuevo certificado

atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttributecertificate

))

tipo_modificacion=00=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no encontrado

+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

End Retelab Code

logdebug(Exiting saveUserRole())

Coacutedigo A2 Integracioacuten del sistema RBAC con GridSphere Ejemplo de alta de usuarios

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS

A continuacioacuten se muestra un ejemplo de coacutemo utilizar PERMIS para gestionar a traveacutesde los roles la autorizacioacuten de un usuario para ejecutar una tarea en un recurso del Gridconcreto

ltsecurityConfig xmlns=httpwwwglobusorggt

ltmethod name=createManagedJobgt

ltauth-methodgt

ltGSITransportgt

ltGSISecureMessagegt

ltGSISecureConversationgt

ltauth-methodgt

ltmethodgt

ltauthz value=permisAuthzissrggt4PermisPDP gridmapgt

ltreject-limited-proxy value=truegt

ltsecurityConfiggt

Coacutedigo A3 Modificacioacuten de la poliacutetica de autorizacioacuten del meacutetodo createManagedJob para integrar unsistema RBAC

A4 Integracioacuten de Shibboleth en el sistema

RETELAB cuenta con un sistema de autenticacioacuten SSO soportado por el software Shibbo-leth El acceso al laboratorio de usuarios externos y sin registrar trae consigo dificultades paragestionar su autorizacioacuten ya que RETELAB se basa en DCs y ACs para administrar el usode los recursos Fue necesario desarrollar procedimientos para generar certificados tempora-les para los usuarios de Shibboleth A continuacioacuten se muestran los meacutetodos implementadospara la creacioacuten de los DCs (Coacutedigo A4) y de los ACs (Coacutedigo A5) para los usuarios deShibboleth

private void createCertificate4Shibboleth(String nameString mailString password)

Variables Autoridad Certificadora

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

152 Anexo A Coacutedigo Fuente

String ca_dir=new String()

String ca_hash=new String()

variables MyProxy

String binDir_=new String()

String hostName_=new String()

int portNumber_=0

String dn_=new String()

String dir_=new String()

int expirationLeadTime_=0

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

try

FileInputStream file_properties =new FileInputStream(path+

WEB-INF+FileseparatorChar+permis_ldapproperties)

Cargando Fichero de Propiedades de la CA y MyProxy

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

simpleCA Properties

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

MyProxy Properties

binDir_=retelab_propertiesgetProperty(myProxyBin)

hostName_=retelab_propertiesgetProperty(myProxyHost)

portNumber_=IntegerparseInt(retelab_propertiesgetProperty(

myProxyPort))

dn_=retelab_propertiesgetProperty(myProxyDn)

dir_=retelab_propertiesgetProperty(myProxyDir)

expirationLeadTime_=IntegerparseInt(retelab_properties

getProperty(expirationLeadTime))

Opciones generales de la CA

CertificateGenerationOptions cert_options= new

CertificateGenerationOptions(bin_dirtmp_dirca_dir

ca_hash)

UserCertificateGenerationinitialize(cert_options)

String certDir=null

A4 Integracioacuten de Shibboleth en el sistema 153

certDir = UserCertificateGenerationgenerate(namemail

password)

logdebug(-----gtCertificado Generadolt-------)

Use CA to sign the certs

UserCertificateGenerationsignCerts(certDir password_ca)

logdebug(-----gtCertificado Firmadolt-------)

MyProxy options

MyProxyOptions myProxyOpts= new MyProxyOptions(binDir_

hostName_portNumber_dn_ dir_ expirationLeadTime_)

MyProxyManagerinitialize(myProxyOpts)

Cambiar orden de los providers JCE debido al bug de

Cryptix

changeProviders()

Upload creds to MyProxy

MyProxyManagerstoreRemoteCredential(namepasswordtmp_dir+

+name+)

logdebug(-----gtCertificado Subido a MyProxylt-------)

Delete local certificates

RegisterUtildeleteCerts(certDir)

logdebug(-----gtEliminados certificados localeslt-------)

file_properties=null

retelab_properties=null

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(MyProxyAccessException myExc)Systemoutprintln(Error

subiendo las credenciales a MyProxy+myExc)

catch(CertificateGenerationException certExp)Systemoutprintln(

Error creando las credenciales para el usuario+certExp)

catch(Exception e)Systemoutprintln(Excepcion no controlada +e

+ End)

Coacutedigo A4 Meacutetodo para crear y almacenar DCs para los usuarios de Shibboleth

private void createAttributeCertificate4Shibboleth(SportletUser userString role)

String ldapBaseDN=

String defaultUser=null

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

154 Anexo A Coacutedigo Fuente

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

String defaultGridsphereUser=

String pathGridMap=

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

String ca_dir=new String()

String ca_hash=new String()

LdapConnector ldap_conector= new LdapConnector()

generate certificate

try

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

Cargando el fichero de propiedades del LDAP y de los Certificados

de atributos

FileInputStream file_properties =new FileInputStream(path+WEB-INF+

FileseparatorChar+permis_ldapproperties)

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12

)

int year=new Integer(retelab_propertiesgetProperty(validityperiod

beforeyear))intValue()

int month=new Integer(retelab_propertiesgetProperty(validity

periodbeforemonth))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiod

beforeday))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiod

afteryear))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiod

aftermonth))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiod

afterday))intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

A4 Integracioacuten de Shibboleth en el sistema 155

port=new Integer(retelab_propertiesgetProperty(ldapport))

intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

defaultGridsphereUser=retelab_propertiesgetProperty(gridsphere

defaultuser)

defaultUser=retelab_propertiesgetProperty(globusdefaultuser)

pathGridMap=retelab_propertiesgetProperty(globusgridmappath)

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

file_properties=null

retelab_properties=null

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

LDAPAttributeSet attributeSet = new LDAPAttributeSet()

attributeSetadd( new LDAPAttribute(objectclass new String[]top

organizationalPersoninetOrgPersonpmiUser))

attributeSetadd( new LDAPAttribute(cnusergetUserName()))

attributeSetadd( new LDAPAttribute(givennamenew String[]user

getUserName()usergetFullName() ))

attributeSetadd( new LDAPAttribute(sn usergetFamilyName()))

attributeSetadd( new LDAPAttribute(mailusergetEmailAddress()))

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(role)

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

attributeSetadd(new LDAPAttribute( attributeCertificateAttribute

generatormakeCertificate()))

ldap_conectoraddEntry(attributeSet dn)

Creamos un certificado para el usuario y lo subimos a MyProxy

createCertificate4Shibboleth(usergetUserName()usergetEmailAddress

()(String)hsgetAttribute(shibbolethuserpassword))

anhadir usuario al GRIDMAP

String entry=new String()

156 Anexo A Coacutedigo Fuente

entry= convertDnToGridMapEntry(dndefaultUser)

if (entry=)

logdebug(Adding user to Grid-mapFile +entry)

addEntryToFile (pathGridMapentry)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

Coacutedigo A5 Meacutetodo para crear y almacenar ACs para los usuarios Shibboleth

A5 Despliegue del sistema de almacenamiento distribuido

El sistema de almacenamiento de datos de RETELAB se construyoacute utilizando como baseel RLS de GT4 y el MCS La integracioacuten de estos servicios con la interfaz Web no fue inme-diata y fue necesario realizar ciertas modificaciones Tal y como se describe en los detalle deimplementacioacuten de la Seccioacuten 33 la clase GenericserviceFetcher fue modificada para hacerimpliacutecita la clase necesaria para establecer la conexioacuten con el servicio de datos

private String getWSDL(final URL url) throws IOException

Start Retelab

URL url2 = new URL(url(javanetURLStreamHandler)new orgglobusnet

protocolhttpsHandler())

InputStreamReader input = new InputStreamReader(url2openConnection()

getInputStream())

End Retelab

InputStreamReader input = new InputStreamReader(urlopenStream())

StringBuffer buf = new StringBuffer()

char[] charArray = new char[1024]

int readBytes

A5 Despliegue del sistema de almacenamiento distribuido 157

while ((readBytes = inputread(charArray)) gt= 0)

bufappend(charArray 0 readBytes)

String wsdl = buftoString()

return wsdl

Coacutedigo A6 Modificacioacuten de la clase GenericserviceFetcher para permitir la conexioacuten con el servicio demetadatos

La integracioacuten del servicio RLS con la interfaz Web implicoacute cambiar ligeramente el modode autenticar los usuarios del portal En lugar de utilizar el proxy del usuario como un paraacute-metro de un meacutetodo de autenticacioacuten del servicio fue necesario descargarlo de la sesioacuten delportal y almacenarlo local y temporalmente para que el servicio pudiese laquoencontrarloraquo ya queno soportaba el paso por variable

private DataGridWorker conectarWorker( String username) throws orgietfjgss

GSSException

GSSCredential proxy

GlobusCredential globusCred = null

proxy=ProxyManagergetDefaultProxy(username)

if(proxy instanceof orgglobusgsigssapiGlobusGSSCredentialImpl)

globusCred = ((GlobusGSSCredentialImpl)proxy)

getGlobusCredential()

Ruta para almacenar el CD

String proxyfoldername=SystemgetProperty(userhome)+

SystemgetProperty(fileseparator)+propiedades

getProperty(PATHUSERPROXIES)

String proxyfilename=proxyfoldername+SystemgetProperty(

fileseparator)+activeproxy+username

FileOutputStream out =null

File file=null

try

boolean create=true

file=new File(proxyfoldername)

if (fileexists())

create=filemkdir()

158 Anexo A Coacutedigo Fuente

if (create)

file=new File(proxyfilename)

if (fileexists())

create=filecreateNewFile()

if(create)

out = new FileOutputStream(file)

Since Java does not provide an API for setting the permissions of a file the

JGlobus module will attempt to execute the binchmod program

in the background to set the permissions of the given file If that program cannot

be executed for any reason or fails to execute correctly

a proxy file might end up with incorrect file permissions (depending on umask

setting)

Usually a warning will be displayed if that occurs (especially on Windows since bin

chmod is not supported on that platform)

if (orgglobusutilUtilsetFilePermissions

(proxyfilename 600))

Systemerrprintln(Por favor

compruebe que los permisos de

su archivo de proxy son de

solo lectura para el

propietario)

globusCredsave(out)

outclose()

catch(IOException io)ioprintStackTrace()

finally

out=null

file=null

GlobusGSSCredentialImpl gssci = new GlobusGSSCredentialImpl(

globusCredGSSCredentialINITIATE_AND_ACCEPT)

GlobusCredentialsetDefaultCredential(gsscigetGlobusCredential())

Creamos el DataGridWorker Ya dispone todos los datos necesarios

para autenticar al usuario

return new DataGridWorker(propiedadesgetProperty(METADATACATALOG

GRIDSERVICE)username)

Coacutedigo A7 Procedimiento para autenticar a un usuario en el servicio RLS

A5 Despliegue del sistema de almacenamiento distribuido 159

Listado de acroacutenimos

AATSR Radioacutemetro Avanzado de Exploracioacuten Longitudinal 81

AC Certificado de Atributos 39ndash41 43 44 56 124 148 151 156

AI Inteligencia Artificial 13

AIS Sistema Automaacutetico de Identificacioacuten 131

ANN Red Neuronal Artificial 75 98ndash100 103 107 110 111 114 126 131

API Application Programming Interface 24 26ndash28 55 116 128

ASAR Radar de Apertura Sinteacutetica Avanzado 82ndash84

AZTI Centro Tecnoloacutegico del Mar y los Alimentos del Paiacutes Vasco 11

CA Autoridad Certificadora 35 39

CART Aacuterboles de Clasificacioacuten y Regresioacuten 105

CERN Organizacioacuten Europea para la Investigacioacuten Nuclear 28

CESGA Centro de Supercomputacioacuten de Galicia 11 33 34 54 59 125

CLI Interfaz de Liacutenea de Comandos 8 21 55

CoG Java Commodity Grid Kit 24 27

DB Base de Datos 3 5 7 44 46ndash49 52 53 57 75 76 80 85 86 89 91 97 112 113118 119 124 125

162 Listado de acroacutenimos

DC Certificado Digital 29 35ndash44 49 56 124 151 153

DORIS Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite 81

DRMAA Distributed Resource Management Application 55 56

EMSA Agencia Europea de Seguridad Mariacutetima 79 85

ESA Agencia Espacial Europea 65 80 83 85

ESG Earth System Grid 29

ESTF Esquema de Separacioacuten de Traacutefico de Fisterra 77ndash79 85ndash87 89 131

GMES Monitorizacioacuten Global para el Medioambiente y la Seguridad 81

GOMOS Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Estrellas 81

GPDK Grid Portal Development Kit 23

GPIR GridPort Information Repository 27

GSI Security Grid Infrastructure 35ndash37

GT Globus Toolkit 18ndash20 23 24 28 32 34 35 37 41 45ndash49 156

GWSDL Grid Web Service Definition Language 19

HPC Computacioacuten de Alto Rendimiento 11

HTC Computacioacuten de Altas Prestaciones 6 11

IA Aacutengulo de Incidencia 68 69 73 83 84 89 90 92 93 95 125

IaaS Infraestructura como Servicio 128 130

ICCM Instituto Canario de Ciencias del Mar 11 60

IDV Integrated Data Viewer 53 54 57 61 125

IMO Organizacioacuten Internacional Mariacutetima 131

Listado de acroacutenimos 163

JAR ARchivo Java 40 47

JavaWS Java Web Start 30 53

JCE Extensioacuten Criptograacutefica de Java 41 147

JNLP Java Networking Launching Protocol 53

JRE Entorno de Ejecucioacuten de Java 53

JSDL Job Submission Description Language 55 130

JSP Java Server Pages 23 24 28

LAS Live Access Server 52 53

LDAP Lightweight Directory Access Protocol 39ndash41

LFN Nombre Loacutegico de Fichero 45 46 49

LHC Large Hadron Collider 3 28

LIFO Last In First Out 147

LRC Local Replica Catalog 46

LRR Retrorreflector Laacuteser 82

MAMS Meta Access Management System 43 44

MCS Metadata Catalog System 46 48 156

MEC Ministerio de Educacioacuten y Ciencia 10

MERIS Espectroacutemetro de Imaacutegenes de Resolucioacuten Media 81

MIPAS Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva 82

MLP Perceptroacuten Multicapa 100 101 103 104 113ndash115 118

MPI Message Passing Interface 59

MWR Radioacutemetro de Microondas 81 82

164 Listado de acroacutenimos

NetCDF Network Common Data Form 51 54 59

OGCE Open Grid Computing Environments 27 28

OGSA Open Grid Service Architecture 19 20 46

OGSI Open Grid Services Infrastructure 19

OpenMP Open Multiprocessing 59 116

PaaS Plataforma como Servicio 129 130

PCA Anaacutelisis de Componentes Principales 95 126

PDP Policy Decision Point 41 42

PFN Nombre Fiacutesico de Fichero 45 46

PKI Public Key Infrastructure 9 35

PP Produccioacuten Primaria 2 51 60

PURSe Portal-based User Registration Service 29 30 38ndash40 124

RA-2 Altiacutemetro de Radar 81 82

RBAC Control de Acceso Basado en Roles 9 11 37 39 41 124 150 151

RETEMAR Red Espantildeola de Teledeteccioacuten Marina 8 31

RLI Replica Location Index 46

RLS Replica Location Service 45 49 156ndash158

ROI Regioacuten de Intereacutes 73

ROMS Regional Ocean Model System 58 59

SaaS Sofware como Servicio 129

SAR Radar de Apertura Sinteacutetica 12 50 61 68ndash73 77 79 82 84 86 88 89 91 93 109ndash111 113 114 117 118 125 126 131

Listado de acroacutenimos 165

SASEMAR Agencia espantildeola de Salvamento y Seguridad Mariacutetima 79 80 85 114 131

SCIAMACHY Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes para CartografiacuteaAtmosfeacuterica 82

SLAR Radar Lateral Aerotransportado 66

SSO Single-Sign On 43 44 124 151

SVM Maacutequinas de Soporte Vectorial 132

UDC Universidad de la Coruntildea 12

UNICORE Uniform Interface to Computing Resources 18 23

USC Universidad de Santiago de Compostela 11 12 33

VGPM Vertically Generalised Production Model 60

VO Organizacioacuten Virtual 3ndash5 7 17 20 37

WSDL Web Services Description Language 19 48

WSM Wide Swath Mode 76 82 84ndash86 130

WSRF Web Service Resource Framework 19 20

Iacutendice alfabeacutetico

Aacuterbol de decisioacuten 105ndash108 113 114 119126 131

Nodo decisioacuten 105Nodo hoja 105ndash108Poda 107 108

ASAR 82ndash84Autoridad certificadora 35 39

Caracterizacioacuten 12 71 73 94 126Certificado de atributos 39ndash41 43 44 56

124 148 151 156Certificado digital 29 35ndash40 42ndash44 49

56 124 151 153Clasificacioacuten 10 13 71 73ndash75 90 96

111 126Clasificadores probabiliacutesticos 75CMOD5 91 117 118 131CoG 24 27Computacioacuten Cloud 127ndash130Computacioacuten distribuida 1ndash3 17 127 128Contenedor de portlets 24

EMSA 79 85Envisat 68 69 75 76 80ndash86 127 130ESA 65 80 83 85

ESG 29Espectro electromagneacutetico 82 83ESTF 77ndash79 85ndash87 89 131

Filtro de aacuterea 94 110Filtro de mediana 88 89 110Filtro de ruido 87 88 110Filtro de viento 94 110

Genius Grid Portal 28Globus Toolkit 8 18ndash20 22 23 28 30

32 45ndash49 156GPDK 23Grid 3ndash6 9 11 17ndash21 23 24 28ndash30 32

35 36 42 44ndash46 52 54 56 57110 124 130 148 151

Aplicaciones 6 19 27 28Computacioacuten 2 3 5ndash7 9 11 17ndash19

22 23 25 29 32 44 110 123127

Interfaz 21Middleware 8 22 23 124Portal 22ndash25 27ndash30 32 33 37 46

123Primera generacioacuten 22 29

168 Iacutendice alfabeacutetico

Segunda generacioacuten 24Servicios 19 20 25 27 28 41 42Sistema 4ndash6 8 11 19ndash23 27 28

30 33 35 41 54 55 60 123Tecnologiacutea 4 5 17ndash19 28

GridFTP 47GridPort 23 27GridPortlets 27 28GridSphere 25ndash28 30 32 40 41 43 44

124 148 150GridWay 11 55 56 125 130GSI 35ndash37GWSDL 19

I-WAY 17 18IDV 53 54 57 61 125ISO 19115 46 49 124

JCE 41 147

LAS 52 53Legion 18Look-alike 70 71 74ndash76 85 88 90 94

96 117ndash119LRC 46

Maacutescara de tierra 87 88 110 118MCS 46 48 156Metadatos 11 44 46 47 49 50 56 109

124Metaplanificador 11 55 56 124 130MyProxy 29 36 37 39 49

Noise floor veacutease Ruido de fondo

OGCE 27 28

OGSA 19 20 46OGSI 19Organizacioacuten virtual 3ndash5 7 17 20 21 37

P-Grade 30PCA 95 126PERMIS 40ndash42 124 148 151Polarizacioacuten 83ndash85Portlet 13 22 24ndash27 32 38 41ndash43 47

49ndash51 53 55ndash57 59 60 111112 124 148

Portlet Grid 25ndash27Prestige 78 79PURSe 29 38ndash40 124

Radar 65 66 68Radarsat 75 130RBAC 9 11 37 39 41 124 150 151Red neuronal artificial 75 98 99 103 107

110 111 114 119 126 131Backpropagation 99ndash101 103Perceptroacuten multicapa 100 103 104

113 114Resolucioacuten espacial 66 67 130RETELAB 10ndash13 26 27 30 31 33 34

36 38 39 41ndash44 46 49ndash58 6061 80 110 111 124 125 127129 130 148 151 156

Data Grid 44 47 49 50 56ndash58 61112 124

Monitor de tareas 55 112 125RLI 46RLS 45 49 156ndash158Ruido de fondo 83 84 117

Iacutendice alfabeacutetico 169

SAR 12 50 61 68ndash73 77 79 82 84 8688 89 91 93 109ndash111 113 114117 118 125 131

Segmentacioacuten 10 12 71ndash73 75 88 9193 107 110 117 125 126

Sentinazo 12 13 65 71ndash76 78 85 8690 91 94ndash96 99 110 111 114ndash119 126 131

SENTINAZOS 58 60 82 106 110ndash112125 130

Sentinel 80 81 127 131Servicios Web 19Shibboleth 43 44 124 151 153 156SLAR 66SSO 43 44 124 151

Teledeteccioacuten 2 11 31 44

Umbral adaptativo 10 73 89 92 93 110117 125

Umbral simple 73UNICORE 18 23

Vector de caracteriacutesticas 10 73 74 94ndash96 118 126

Caracteriacutesticas de forma 73 94 95Caracteriacutesticas fiacutesicas 73 95Informacioacuten contextual 74 95Texturas 74

Vertidos de hidrocarburo 10 12 60 6265 66 69 71 78 79 82 84 8587ndash89 110 116 123 125 130131

WebSphere 25 26

WSDL 19 48WSM 76 82 84ndash86 130

  • Portada
  • Iacutendice general
  • Iacutendice de figuras
  • Iacutendice de tablas
  • Introduccioacuten
    • Computacioacuten Grid
      • Aplicaciones Grid
        • Motivacioacuten
        • Objetivos
          • Objetivos concretos
            • Estructura de la memoria
              • Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica
                • Evolucioacuten de la Computacioacuten Grid
                  • Estandarizacioacuten de las tecnologiacuteas Grid
                  • Arquitectura de un sistema Grid
                  • Interfaces Grid
                    • Portales Grid primera generacioacuten
                    • Portales Grid segunda generacioacuten
                    • Portales Grid casos de estudio
                        • Proyecto RETELAB
                          • Descripcioacuten del proyecto
                            • Arquitectura general del sistema
                              • Registro y acceso de los usuarios
                                • Autenticacioacuten y autorizacioacuten
                                  • Sistema de almacenamiento distribuido
                                    • Almacenamiento de datos
                                      • Visualizacioacuten de los datos
                                        • Live Access Server
                                        • Integrated Data Viewer
                                          • Gestioacuten y monitorizacioacuten de trabajos
                                            • Integracioacuten con el sistema de almacenamiento distribuido
                                              • Validacioacuten del laboratorio virtual
                                                • ROMS
                                                • Caacutelculo del modelo de produccioacuten primaria
                                                • sentinazos
                                                  • Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacutetica de vertidos de hidrocarburos
                                                    • Estado del arte
                                                    • Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de SAR
                                                      • Descripcioacuten del proyecto
                                                      • Fuentes de datos
                                                        • Sateacutelite envisat
                                                        • Coleccioacuten de datos
                                                          • Preprocesado
                                                            • Calibrado y proyeccioacuten cartograacutefica
                                                            • Maacutescara de tierra
                                                            • Filtro de ruido
                                                              • Segmentacioacuten
                                                                • Establecimiento del umbral adaptativo
                                                                • Aplicacioacuten del umbral adaptativo
                                                                • Filtro de vientos
                                                                • Filtro de aacuterea
                                                                  • Extraccioacuten de caracteriacutesticas
                                                                  • Clasificacioacuten
                                                                    • Redes Neuronales Artificiales
                                                                    • Aacuterboles de decisioacuten
                                                                      • Validacioacuten del sistema de deteccioacuten de vertidos
                                                                        • Desarrollo de un software de escritorio
                                                                        • Integracioacuten en retelab
                                                                            • Resultados
                                                                              • Eficacia
                                                                              • Tiempo de procesamiento
                                                                                • Discusioacuten
                                                                                  • Epiacutelogo
                                                                                    • Resultados y conclusiones
                                                                                    • Trabajo futuro
                                                                                      • Trabajo futuro en el proyecto RETELAB
                                                                                        • Computacioacuten Cloud
                                                                                        • Integracioacuten de la computacioacuten Cloud en retelab
                                                                                          • Evolucioacuten de las aplicaciones desplegadas SENTINAZOS
                                                                                            • Fuentes de datos
                                                                                            • Mejora de los algoritmos
                                                                                                • Bibliografiacutea
                                                                                                • Anexos
                                                                                                • Coacutedigo Fuente
                                                                                                  • Procedimiento para el registro de una JCE
                                                                                                  • Gestioacuten de certificados y roles desde la interfaz de GridSphere
                                                                                                  • Gestioacuten de la ejecucioacuten de las tareas usando PERMIS
                                                                                                  • Integracioacuten de Shibboleth en el sistema
                                                                                                  • Despliegue del sistema de almacenamiento distribuido
                                                                                                    • Listado de acroacutenimos
                                                                                                    • Iacutendice alfabeacutetico
Page 5: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …

VIII

A Leticia laquomi vidaraquo por todas las horas que le he robado y que no podreacute devolverle Nosabriacutea como expresar lo importante que has sido Gracias por estar siempre a mi lado y por tuapoyo incondicional Sin ti esto no seriacutea posible

A mi familia y en especial a mis padres por todo el carintildeo y apoyo recibido durante todami vida y por confiar en que yo era capaz de cualquier cosa y animarme siempre a luchar ya esforzarme al maacuteximo en todos los aspectos de la vida Sin vosotros yo no seriacutea quien soyGracias por todo

Y a tantos otros que no he nombrado pero que llevo en la cabeza y en el corazoacuten

iexclGRACIAS A TODOS

IX

Este trabajo no habriacutea sido posible sin el apoyo yo colaboracioacuten de las siguientes institu-ciones

ndash Sociedad de Salvamento y Seguridad Mariacutetima (SASEMAR) concretamente el Cen-tro de Coordinacioacuten de Salvamento de Finisterre que nos facilitoacute los datos sobre losvertidos detectados en la costa gallega durante los uacuteltimos antildeos

ndash Ministerio de Educacioacuten y Ciencia a traveacutes de la financiacioacuten del proyecto laquoLaboratorioVirtual para la Red Nacional de Teledeteccioacuten Oceanograacuteficaraquo con referencia ESP2006-13778-C04

ndash Xunta de Galicia a traveacutes de la financiacioacuten del proyecto laquoAnaacutelise e interpretacioacuten deimaxes de sateacutelite a partires de teacutecnicas de intelixencia artificial aplicacioacuten a contami-nantes no medio marintildeoraquo con referencia PGIDIT08SIN001236PR

ndash Universidad de Santiago de Compostela mediante el laquoPrograma de Contratos Predoc-torales de la Universidad de Santiago de Compostela 2010raquo

Iacutendice general

Iacutendice de figuras XV

Iacutendice de tablas XIX

1 Introduccioacuten 111 Computacioacuten Grid 3

111 Aplicaciones Grid 612 Motivacioacuten 713 Objetivos 8

131 Objetivos concretos 914 Estructura de la memoria 10

I Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica 15

2 Evolucioacuten de la Computacioacuten Grid 1721 Estandarizacioacuten de las tecnologiacuteas Grid 1722 Arquitectura de un sistema Grid 2023 Interfaces Grid 21

231 Portales Grid primera generacioacuten 22232 Portales Grid segunda generacioacuten 24233 Portales Grid casos de estudio 28

3 Proyecto RETELAB 3131 Descripcioacuten del proyecto 31

XII Iacutendice general

311 Arquitectura general del sistema 3232 Registro y acceso de los usuarios 34

321 Autenticacioacuten y autorizacioacuten 3733 Sistema de almacenamiento distribuido 44

331 Almacenamiento de datos 4934 Visualizacioacuten de los datos 52

341 Live Access Server 52342 Integrated Data Viewer 53

35 Gestioacuten y monitorizacioacuten de trabajos 54351 Integracioacuten con el sistema de almacenamiento distribuido 56

36 Validacioacuten del laboratorio virtual 58361 Regional Ocean Model System (ROMS) 58362 Caacutelculo del modelo de produccioacuten primaria 60363 SENTINAZOS 60

II Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacuteticade vertidos de hidrocarburos 63

4 Estado del arte 65

5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de Radar deApertura Sinteacutetica (SAR) 7751 Descripcioacuten del proyecto 7752 Fuentes de datos 80

521 Sateacutelite Envisat 80522 Coleccioacuten de datos 85

53 Preprocesado 86531 Calibrado y proyeccioacuten cartograacutefica 86532 Maacutescara de tierra 87533 Filtro de ruido 88

54 Segmentacioacuten 88541 Establecimiento del umbral adaptativo 89542 Aplicacioacuten del umbral adaptativo 93

Iacutendice general XIII

543 Filtro de vientos 94544 Filtro de aacuterea 94

55 Extraccioacuten de caracteriacutesticas 9456 Clasificacioacuten 96

561 Redes Neuronales Artificiales 98562 Aacuterboles de decisioacuten 105

57 Validacioacuten del sistema de deteccioacuten de vertidos 109571 Desarrollo de un software de escritorio 109572 Integracioacuten en RETELAB 110

6 Resultados 11361 Eficacia 11362 Tiempo de procesamiento 116

7 Discusioacuten 117

Epiacutelogo 123

8 Resultados y conclusiones 123

9 Trabajo futuro 12791 Trabajo futuro en el proyecto RETELAB 127

911 Computacioacuten Cloud 127912 Integracioacuten de la computacioacuten Cloud en RETELAB 129

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 130921 Fuentes de datos 130922 Mejora de los algoritmos 131

Bibliografiacutea 133

Anexos 145

A Coacutedigo Fuente 147A1 Procedimiento para el registro de una Extensioacuten Criptograacutefica de Java (JCE) 147A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 148

XIV Iacutendice general

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151A4 Integracioacuten de Shibboleth en el sistema 151A5 Despliegue del sistema de almacenamiento distribuido 156

Listado de acroacutenimos 161

Iacutendice alfabeacutetico 167

Iacutendice de figuras

11 Ejemplo de un sistema Grid 5

21 Evolucioacuten de las tecnologiacuteas Grid 1822 Arquitectura Grid basada en capas y construida sobre los principios del

modelo de laquoreloj de arenaraquo 2123 Ejemplo de un portal Web desarrollado a traveacutes de portlets 25

31 Arquitectura general del sistema RETELAB 3332 Recursos aportados por el Centro de Supercomputacioacuten de Galicia (CESGA) 3433 Arquitectura del sistema de registro y acceso de usuarios de RETELAB 3834 Esquema simplificado del registro y acceso de usuarios al sistema 3935 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles 4036 Esquema del control de acceso basado en roles de RETELAB 4237 Arquitectura del Data Grid desplegado en RETELAB 4538 Secuencia resumida de acciones para buscar y acceder a los datos almacenados 4739 Diagrama de clases simplificado en el que se presentan las clases utilizadas

para desarrollar las operaciones sobre la Base de Datos (DB) virtual 48310 Portlet para el almacenamiento de datos locales en RETELAB 50311 Portlet para la integracioacuten de datos externos en el sistema 51312 Portlet para el almacenamiento de los resultados generados tras la ejecucioacuten

de un trabajo 52313 Integracioacuten del Live Access Server en RETELAB 53314 Integracioacuten del Integrated Data Viewer (IDV) en RETELAB 54

XVI Iacutendice de figuras

315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten detrabajos en RETELAB 55

316 Integracioacuten del espacio de almacenamiento privado del usuario con el portletde enviacuteo de trabajos 56

317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos 57318 Portlet para la monitorizacioacuten de los trabajos de usuario 58319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten

empleando ROMS 59320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data

Grid y el sistema de visualizacioacuten de IDV 61

41 Oriacutegenes de los vertidos de hidrocarburos 6642 Resolucioacuten espacial de un radar a bordo de un sateacutelite 6743 Antena virtual generada por SAR 6844 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007) 6945 Efecto del viento en la retrodispersioacuten de un pulso SAR 7046 Sistema automaacutetico para la deteccioacuten de sentinazos 7247 Analisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo

durante el antildeo 1999 74

51 Esquema de Separacioacuten de Traacutefico de Fisterra 7852 Imagen SAR del vertido provocado por el accidente del buque petrolero

Prestige (17112002) 7953 Bases de la Agencia espantildeola de Salvamento y Seguridad Mariacutetima

(SASEMAR) en Galicia y recursos asignados a la regioacuten 8054 Espectro electromagneacutetico 8355 Retrodispersioacuten media obtenida de una imagen Radar de Apertura Sinteacutetica

Avanzado (ASAR) Wide Swath Mode (WSM) para vientos de 4 ms 6 ms y10 ms 84

56 Representacioacuten de la densidad de cobertura de la Base de Datos 8557 Aacuterea de estudio y Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF) 8658 DB de imaacutegenes con sentinazos utilizada para el proyecto SENTINAZOS 8659 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten 87510 Maacutescara de tierra utilizada en SENTINAZOS 88

Iacutendice de figuras XVII

511 Ejemplo de uso del filtro de mediana 89512 Piacutexeles muestreados agrupados seguacuten su Aacutengulo de Incidencia (IA) 90513 Elementos de la muestra agrupados por la velocidad del viento 91514 Esquema de acciones realizadas para establecer el umbral adaptativo 92515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para

distintos valores de la velocidad del viento 93516 Componentes principales y porcentaje de varianza explicado 96517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores 97518 Elementos de una neurona artificial 99519 Estructura de una red neuronal Perceptroacuten Multicapa (MLP) 100520 Ejemplo simplificado de una red MLP 101521 Esquema de la neuronas empleadas en la Red Neuronal Artificial (ANN)

desarrollada 103522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP 104523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario 106524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el

proceso de entrenamiento 108525 Aacuterbol de decisioacuten binario podado 108526 Pantalla principal del software de escritorio 109527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de

los paraacutemetros por defecto y un clasificador ANN 111528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en

el laboratorio virtual 112

61 Composicioacuten de dos imaacutegenes SAR y resultados generados por los diferentesclasificadores 114

62 Detalle de los sentinazos detectados por la ANN 115

91 Arquitectura del Cloud relacionada con los servicios que proporciona 129

Iacutendice de tablas

51 Nuacutemero de embarcaciones identificadas en el ESTF 7852 Paraacutemetros orbitales del sateacutelite Envisat 8153 Modos de operacioacuten del sensor ASAR a bordo del Envisat 8354 Coeficientes y puntos de corte para las funciones de umbral adaptativo 9355 Vector de caracteriacutesticas 9556 Componentes principales y porcentaje de varianza explicado 9657 Coeficientes de los componentes principales seleccionados 97

61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten ytest 113

71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia enla clasificacioacuten 118

CAPIacuteTULO 1

INTRODUCCIOacuteN

Las necesidades computacionales de la sociedad actual son cada vez mayores Determi-nadas aacutereas de investigacioacuten como la fiacutesica de altas energiacuteas las ciencias de la Tierra o lameteorologiacutea ven limitado su desarrollo por la necesidad de maacutes y mejores recursos compu-tacionales Aunque el desarrollo tecnoloacutegico es la primera barrera que se encuentran los in-vestigadores tambieacuten lo es el acceso a la propia tecnologiacutea ya que a menudo la tecnologiacuteamaacutes puntera es econoacutemicamente inaccesible o su uso requiere de extensos conocimientos quelimitan su generalizacioacuten

La computacioacuten distribuida surge con el objetivo de permitir la colaboracioacuten y comparti-cioacuten de recursos para reducir costes y maximizar la capacidad de almacenamiento y procesa-miento Su raacutepida evolucioacuten permitioacute a los investigadores resolver problemas complejos quehasta hace poco eran inasumibles y afrontar retos maacutes ambiciosos incluso cuando los mediosde los que disponiacutean eran escasos

La observacioacuten remota de la Tierra es un claro ejemplo en el que las necesidades compu-tacionales avanzan a un ritmo difiacutecil de igualar por el desarrollo tecnoloacutegico Desde que en1957 el Sputnik Sovieacutetico fuese el primer sateacutelite en ser enviado al espacio han sido muchaslas misiones tanto civiles como militares que se han llevado a cabo para observar remotamentela Tierra Antildeo tras antildeo el nuacutemero de misiones espaciales asiacute como el nuacutemero de proyectosde investigacioacuten relacionados con eacutestas se ha ido incrementando y al menos en un futuroa corto y medio plazo la poliacutetica a este respecto seraacute continuista ya que seguacuten un informede Euroconsult Satellite-Based Earth Observation Market Prospects to 2017 se espera quecerca de 200 nuevos sateacutelites esteacuten operativos en el 2017

2 Capiacutetulo 1 Introduccioacuten

Gracias a los avances tecnoloacutegicos las misiones se han vuelto cada vez maacutes sofisticadasy cuentan con instrumentacioacuten maacutes especializada generando un gran volumen de informa-cioacuten sobre nuestro planeta que es necesario almacenar y procesar La observacioacuten remota dela Tierra o teledeteccioacuten se ha convertido en una teacutecnica imprescindible en el seguimiento yestudio de determinados procesos ambientales criacuteticos para nuestro planeta como por ejem-plo el cambio climaacutetico el deshielo o el deterioro de la capa de ozono Del mismo modo lateledeteccioacuten tambieacuten es esencial en el seguimiento de desastres tanto naturales como provo-cados por el hombre como son los incendios los terremotos o los vertidos contaminantes Enparticular la teledeteccioacuten es una herramienta fundamental en el estudio de los oceacuteanos y susfenoacutemenos asociados

Los oceacuteanos cubren cerca de las tres cuartas partes del planeta y albergan al 97 de lasespecies pero a pesar de estas cifras a menudo no somos conscientes de su importancia einfluencia por ejemplo son el pulmoacuten del planeta ya que maacutes de la mitad de la captura mun-dial de CO2 y de la produccioacuten de oxiacutegeno se realizan a traveacutes del mecanismo conocido comoProduccioacuten Primaria (PP) [56] las actividades relacionadas con el mar sustentan al 10-12de la poblacioacuten mundial [42] y nuestra dependencia energeacutetica hacia ellos es incuestionablepuesto que aproximadamente la mitad de la produccioacuten mundial de gas natural y el 30 dela de petroacuteleo se extrae de los yacimientos presentes en el lecho marino [11]

El estudio de los oceacuteanos es una tarea interdisciplinar en el que grupos tan heterogeacuteneoscomo los de los bioacutelogos fiacutesicos meteoroacutelogos oceanoacutegrafos o informaacuteticos deben traba-jar juntos para abordar problemas de naturaleza compleja y obtener los mejores resultadosA menudo dichos grupos se encuentran dispersos y pertenecen a centros diferentes lo quesupone un problema tanto organizativo como de seguridad y en muchos casos este tipo dedificultades puede obstaculizar la buena marcha de los proyectos o directamente imposibi-litarlos Ademaacutes la gran cantidad de datos obtenidos a traveacutes de la observacioacuten remota ynecesarios para la investigacioacuten genera grandes dificultades en cuanto a su almacenamientoprocesamiento y distribucioacuten Los centros necesitan disponer tanto de recursos de compu-tacioacuten de altas prestaciones como de almacenamiento masivo acordes a las necesidades delos proyectos pero esto no siempre es posible

La computacioacuten Grid paradigma de la computacioacuten distribuida se posiciona como la tec-nologiacutea maacutes adecuada para cubrir las demandas tecnoloacutegicas de la investigacioacuten oceanograacuteficay proporcionar un acceso aacutegil y eficiente a los datos almacenados La computacioacuten Grid per-mite desplegar entornos dedicados a compartir recursos entre diferentes centros a traveacutes de la

11 Computacioacuten Grid 3

red y ademaacutes permite administrar grupos virtuales de usuarios que se forman en el marco deun proyecto para maximizar sus posibilidades en torno a objetivos comunes

11 Computacioacuten Grid

Tradicionalmente los grupos y las organizaciones para la investigacioacuten han trabajado deforma local con sus propios recursos (computadores sensores bases de datos etc) y a me-nudo la heterogeneidad de los recursos asiacute como la ausencia en el uso de estaacutendares hadificultado tanto la colaboracioacuten con otros centros como la comparticioacuten de la informacioacutenEste modelo de trabajo queda obsoleto desde el momento en que se afrontan problemas inter-disciplinares interorganizativos y que demandan cantidades ingentes de recursos que ninguacutencentro puede asumir por siacute solo Un ejemplo de ello es el proyecto Large Hadron Collider

(LHC) que genera alrededor de 15 Petabytes de datos cada antildeo [99] los cuales deben ser al-macenados procesados y distribuidos Proyectos de tal envergadura que normalmente englo-ban a multitud de grupos hacen necesario modificar la forma de trabajar y buscar alternativasque permitan compartir recursos para adaptarse a las necesidades de los proyectos

La colaboracioacuten entre grupos interdisciplinares y dispersos geograacuteficamente es una piezaclave en este nuevo modelo de trabajo ya que deja obsoleto el concepto tradicional de orga-nizacioacuten y da paso a las llamadas Organizaciones Virtuales (VOs) donde diferentes grupos seunen durante un periacuteodo de tiempo determinado y comparten sus recursos para acometer unasactividades concretas La comparticioacuten de recursos en VOs debe entenderse en el sentido maacutesgeneral es decir acceso remoto a software Bases de Datos (DBs) sensores computadorasy cualquier otro tipo de medio tanto fiacutesico como loacutegico por lo que se hacen indispensablesmeacutetodos adaptados para su gestioacuten

Durante la deacutecada de los 90 aparece una nueva aproximacioacuten denominada computacioacutenGrid que nace con los objetivos de solucionar las demandas computacionales de la sociedad yde facilitar la adaptacioacuten a los nuevos conceptos organizativos La computacioacuten Grid suponeun nuevo paradigma de computacioacuten distribuida que permite agregar y compartir recursosheterogeacuteneos y geograacuteficamente distribuidos entre diferentes organizaciones

En uno de los primeros esfuerzos por concretar el teacutermino Grid Ian Foster y Carl Kessel-man [46] lo definen como

laquoUna infraestructura hardware y software que proporciona un acceso fiable consistente

generalizado y de bajo coste a capacidades computacionales de alta calidadraquo

4 Capiacutetulo 1 Introduccioacuten

Profundizando en la descripcioacuten tenemos que

ndash Por infraestructura Foster y Kesselman se refieren a un conjunto de recursos hetero-geacuteneos que incluye datos sensores ciclos de computacioacuten etc asiacute como al hardwarenecesario para la interconexioacuten de los recursos y el software utilizado para su monito-rizacioacuten y gestioacuten

ndash El acceso es considerado fiable si proporciona a los usuarios unos niveles de rendimien-to altos predecibles y estables

ndash Por acceso consistente se entiende que se proporcionan servicios a traveacutes de interfa-ces estaacutendar y utilizando paraacutemetros normalizados El uso de estaacutendares beneficia a lageneralizacioacuten del paradigma y al desarrollo de aplicaciones de usuario

ndash Se consideraraacute que el acceso es generalizado si el usuario cuenta con un nuacutecleo deservicios geneacutericos sea cual sea el sistema Grid al que se conecta

ndash El acceso a bajo coste es determinante para su aceptacioacuten ya que su uso deberaacute ser maacutesrentable que el de sus alternativas

A medida que la tecnologiacutea Grid fue evolucionando la definicioacuten anterior fue manifes-taacutendose insuficiente e incluso se dudoacute de la necesidad de este nuevo paradigma por elloFoster et aacutel [52] redefinen el concepto y lo asocian a un problema sin resolver

laquoEl problema real que subyace tras el concepto Grid es la coordinacioacuten de organizaciones

virtuales dinaacutemicas y multiinstitucionales en la resolucioacuten de problemas y la comparticioacuten de

recursosraquo

En la definicioacuten anterior se entiende por una VO un conjunto de personas yo institucionesque se agrupan a traveacutes de una poliacutetica de comparticioacuten de recursos Las VOs pueden variaren gran medida en cuanto a su propoacutesito aacutembito tamantildeo duracioacuten y localizacioacuten

Los autores justifican la necesidad de este nuevo paradigma por no existir hasta ese mo-mento una tecnologiacutea de computacioacuten distribuida que permitiese gestionar recursos compar-tidos basaacutendose en relaciones tan flexibles como las de las VOs con sofisticados controlesde acceso que incluyesen una gestioacuten desde el punto de vista maacutes especiacutefico al maacutes generalcon delegacioacuten de credenciales o que integrase el uso de poliacuteticas tanto locales como globalesy que ademaacutes ofreciera un alto rendimiento calidad de servicio planificacioacuten de las tareasmuacuteltiple asignacioacuten de recursos monitorizacioacuten y bajo coste

11 Computacioacuten Grid 5

La Figura 11 muestra un ejemplo de un sistema Grid y del uso de los recursos compartidospor parte de dos VOs En este ejemplo tres centros ponen a disposicioacuten de la comunidadparte de sus recursos pero gestionados por una poliacutetica de acceso que filtra por la VO a laque pertenecen los usuarios Cada centro estaacute etiquetado con los recursos que comparte y lapoliacutetica de seguridad que se les aplica

Centro B

Centro C

Centro AParticipantes en la VO-Ciclos pueden utilizar potencia computacional siempre y cuando no esteacute en uso por el centro propietario

Participantes en la VO-Aeronaacuteutica pueden acceder a la BD1 y BD2

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW1

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW2 y SW3

Figura 11 Ejemplo baacutesico de un sistema Grid formado por 3 centros que comparten parte de sus recursos con dosVOs (VO-Aeronaacuteutica y VO-Ciclos) Los participantes en la VO-Ciclos aprovechan la potenciacomputacional (ciclos) de los recursos compartidos por los centros lsquoArsquo y lsquoCrsquo Los participantes de laVO-Aeronaacuteutica pueden ejecutar aplicaciones que han sido compartidas por los centros lsquoArsquo y lsquoBrsquo yacceder a las DBs del centro lsquoBrsquo Elaboracioacuten propia a partir de [52]

A medida que las tecnologiacuteas Grid se fueron popularizando el teacutermino Grid se empezoacute aexplotar comercialmente diluyeacutendose su significado y utilizaacutendose como eslogan para captarnuevos clientes Las empresas incluyeron el teacutermino en muchos productos que difiacutecilmentepodiacutean encajar dentro de su definicioacuten En un intento de delimitar el concepto Ian Foster [49]publicoacute una lista con 3 puntos baacutesicos que recogen la esencia del concepto y que en una pu-blicacioacuten posterior junto con Carl Kesselman [8] agrupoacute para proponer una nueva definicioacuten

6 Capiacutetulo 1 Introduccioacuten

laquoUn Grid es un sistema que coordina recursos distribuidos a traveacutes de protocolos e inter-

faces abiertas estaacutendar y de propoacutesito general con el objetivo de proporcionar una calidad

de servicio no trivialraquo

Los elementos clave de la definicioacuten anterior y que formaban la lista de tres puntos baacutesicosse detallan a continuacioacuten

ndash Integracioacuten y gestioacuten de recursos heterogeacuteneos y distribuidos

ndash Uso de protocolos e interfaces estaacutendar abiertos y de propoacutesito general Un sistemaGrid gestiona un entorno formado por recursos heterogeacuteneos por lo que la implemen-tacioacuten de protocolos estaacutendar y libres permitiraacute que cualquier producto o aplicacioacutentanto open-source como comercial pueda interoperar con el resto de componentes delsistema

ndash Garantiacutea de calidad de servicio en cuanto a tiempo de respuesta disponibilidad seguri-dad muacuteltiple asignacioacuten de recursos etc

111 Aplicaciones Grid

En general la computacioacuten Grid se adapta a cualquier aplicacioacuten que por su complejidadno pueda ejecutarse de forma local y que potencialmente posea un alto grado de paraleli-zacioacuten Foster y Kesselman [46] identifican 5 tipos de aplicaciones que pueden obtener elmaacuteximo rendimiento de la computacioacuten Grid pero esperan la incorporacioacuten de otros tipos amedida que la computacioacuten Grid evolucione

ndash Computacioacuten distribuida aplicaciones con problemas de alta complejidad que utilizanla computacioacuten Grid para incorporar potentes recursos computacionales

ndash Computacioacuten de Altas Prestaciones (HTC) se trata de aplicaciones que presentan pro-blemas que requieren la ejecucioacuten de tareas secuenciales con baja interdependencia

ndash Computacioacuten bajo demanda se trata de aplicaciones que utilizariacutean las capacidades dela computacioacuten Grid para satisfacer necesidades puntuales de recursos Son aplicacio-nes dirigidas por una poliacutetica de costes y no de rendimiento

ndash Computacioacuten intensiva de datos este tipo de aplicaciones se centran en sintetizar nuevainformacioacuten a traveacutes del anaacutelisis de grandes cantidades de datos Los datos son divididos

12 Motivacioacuten 7

en segmentos que pueden ser procesados de forma independiente por los diferentesrecursos del sistema Posteriormente se deberaacuten unificar las salidas parciales en unresultado final

ndash Computacioacuten colaborativa aplicaciones centradas en permitir y mejorar las interaccio-nes entre los usuarios a menudo utilizando un espacio virtual comuacuten y compartiendorecursos computacionales

La computacioacuten Grid aporta una serie de beneficios claros para los centros de investiga-cioacuten que tambieacuten pueden trasladarse a la empresa privada [82] como por ejemplo

ndash Permite compartir recursos heterogeacuteneos a traveacutes de VOs (DBs ciclos de computacioacutensoftware etc)

ndash Provee un acceso transparente a recursos remotos

ndash Reduce el nuacutemero de servidores necesarios en las organizaciones

ndash Permite agregar recursos bajo demanda Ante una eventual emergencia su flexibilidadpermitiriacutea alquilar y agregar recursos externos por un tiempo limitado

ndash Optimiza el uso de recursos organizativos compartieacutendolos cuando esteacuten infrautiliza-dos

ndash Reduce el tiempo de ejecucioacuten de aplicaciones complejas

ndash Provee tolerancia a fallos

ndash Permite la virtualizacioacuten de centros de datos

ndash Permite balancear la carga entre los diferentes recursos

12 Motivacioacuten

Como se ha visto en los apartados anteriores el estudio de los oceacuteanos es de vital im-portancia y aglutina disciplinas con poca o ninguna relacioacuten En el pasado soacutelo los grandescentros de investigacioacuten podiacutean contar con equipos multidisciplinares y recursos locales sufi-cientes para afrontar cierto tipo de proyectos La computacioacuten Grid facilitoacute la colaboracioacuten yla comparticioacuten de recursos de altas prestaciones entre centros maacutes modestos

8 Capiacutetulo 1 Introduccioacuten

Desde el punto de vista de las tecnologiacuteas a menudo los usuarios finales son reacios a uti-lizar herramientas o sistemas software que a pesar de ser adecuados para su trabajo presentenuna interfaz de usuario complicada o simplemente diferente a lo que estaacuten acostumbrados

Los middleware Grid como por ejemplo Globus permiten desplegar sistema distribuidosGrid con relativa rapidez y facilidad pero muy limitados en cuanto a usabilidad y basados enuna Interfaz de Liacutenea de Comandos (CLI) poco intuitiva y amigable lo que puede llevar areducir su grado de aceptacioacuten

Seriacutea deseable disponer de un sistema Grid enfocado a la investigacioacuten oceanograacutefica quepermita compartir recursos y posibilite la colaboracioacuten entre diferentes grupos pero desarro-llado desde la sencillez y la usabilidad ya que debido a la heterogeneidad de los grupos losconocimientos tecnoloacutegicos no seraacuten los mismos entre todos los integrantes

13 Objetivos

El presente trabajo nace con el propoacutesito de cubrir las necesidades de la Red Espantildeolade Teledeteccioacuten Marina (RETEMAR) en materia de computacioacuten de altas prestaciones Es-ta Red auna investigadores y tecnoacutelogos de diferentes centros con el objetivo de maximizarrecursos y conocimientos y dirigirlos hacia la consecucioacuten de objetivos comunes en el marcodel desarrollo de proyectos de investigacioacuten El desarrollo de un laboratorio virtual asiacute co-mo de aplicaciones y herramientas enfocadas a la investigacioacuten oceanograacutefica es clave en labuacutesqueda de la cooperacioacuten entre los diferentes socios de RETEMAR

La Red permite afrontar proyectos de mayor envergadura de la que podriacutea abarcarse demanera independiente De entre los objetivos comunes cabe destacar el intereacutes mutuo en lalucha contra la contaminacioacuten marina que desgraciadamente afecta diariamente a las costasespantildeolas

Este trabajo presenta dos objetivos principales

ndash El desarrollo y despliegue de un laboratorio virtual a traveacutes de un entorno de compu-tacioacuten distribuida que permita a los investigadores colaborar y realizar proyectos deforma conjunta

ndash Desarrollar e integrar en el laboratorio un sistema de deteccioacuten de vertidos de hidrocar-buros en el mar a partir del anaacutelisis de imaacutegenes de sateacutelite

13 Objetivos 9

El laboratorio deberaacute permitir a los investigadores acceder a recursos y datos distribuidosasiacute como a la potencia computacional y espacio de almacenamiento necesarios para desarro-llar sus trabajos El acceso deberaacute ser amigable y concebido para que los cientiacuteficos puedancentrar sus esfuerzos en la investigacioacuten y no en el aprendizaje yo utilizacioacuten de las herra-mientas

Dado que los recursos seraacuten interorganizativos la seguridad deberaacute ser una de las bases dela plataforma pero sin ser un impedimento para el trabajo por lo que las poliacuteticas de seguridaddeberiacutean ser transparentes para los usuarios finales

Para validar el uso de la plataforma se desarrollaraacute un sistema de deteccioacuten de vertidosde hidrocarburos que permita monitorizar la costa a traveacutes de imaacutegenes de sateacutelite y de formasemiautomaacutetica identificar y georreferenciar los vertidos

131 Objetivos concretos

Se propone el desarrollo de un entorno colaborativo y distribuido que constituya un labo-ratorio virtual para el desarrollo de proyectos de investigacioacuten interdisciplinares relacionadoscon la teledeteccioacuten oceanograacutefica Para ello se deberaacuten alcanzar los siguientes subobjetivos

1 Despliegue de un sistema de computacioacuten Grid que permita compartir recursos hetero-geacuteneos y distribuidos

2 Desarrollo de una interfaz de usuario amigable como medio de acceso al Grid quepermita a los usuarios finales centrarse en sus trabajos y no en las herramientas

3 Implementacioacuten de un sistema de acceso y registro de usuarios basado en Public Key

Infrastructure (PKI) y Control de Acceso Basado en Roles (RBAC)

4 Despliegue de un sistema de almacenamiento distribuido gestionado por metadatos

5 Implementacioacuten de un sistema de enviacuteo y ejecucioacuten de trabajos optimizado para selec-cionar de forma dinaacutemica y transparente al usuario el mejor recurso Grid para ejecutarla tarea

6 Desarrollo de un sistema de monitorizacioacuten que permita visualizar el estado de cadatarea enviada al Grid

7 Integracioacuten de herramientas de visualizacioacuten que permitan al usuario acceder a las co-lecciones de datos almacenadas en el laboratorio

10 Capiacutetulo 1 Introduccioacuten

8 Despliegue e integracioacuten de herramientas y aplicaciones del aacutembito oceanograacutefico parala validacioacuten del laboratorio

Con el doble propoacutesito de validar el laboratorio y de desarrollar un sistema de apoyo ala lucha contra la contaminacioacuten marina se implementaraacute una aplicacioacuten para la deteccioacutende vertidos de hidrocarburos en la superficie oceaacutenica mediante el anaacutelisis de imaacutegenes desateacutelite Los subobjetivos planteados son los siguientes

1 Desarrollo de un algoritmo de segmentacioacuten basado en una umbralizacioacuten adaptativaque permita separar los posibles vertidos del resto de la imagen

2 Integracioacuten de datos meteoroloacutegicos en el algoritmo de segmentacioacuten

3 Anaacutelisis y desarrollo de un vector de caracteriacutesticas que permita representar a los can-didatos segmentados

4 Implementacioacuten de diferentes algoritmos de clasificacioacuten que a partir de los candidatossegmentados separen los falsos positivos de los vertidos

5 Optimizacioacuten del tiempo de ejecucioacuten de los algoritmos para ser utilizados en tiempocasi real

6 Seleccioacuten del clasificador que proporcione los mejores resultados e integracioacuten del sis-tema de deteccioacuten en el laboratorio virtual

14 Estructura de la memoria

Despueacutes del actual capiacutetulo introductorio en el que se describen los oriacutegenes motivacioacuteny objetivos del trabajo la presente memoria se divide en dos grandes bloques que responden alos objetivos principales de la tesis doctoral Cada uno de estos objetivos se corresponde conun proyecto de investigacioacuten financiado por un organismo diferente pero ambos con una metacomuacuten

La primera parte detalla el desarrollo de RETELAB laquoLaboratorio Virtual para la Red Na-cional de Teledeteccioacuten Oceanograacuteficaraquo RETELAB fue desarrollado gracias a la financiacioacutendel Ministerio de Educacioacuten y Ciencia (MEC) con la referencia ESP2006-13778-C04 entrelos antildeos 2007 y 2010 Siguiendo el espiacuteritu del propio proyecto el desarrollo de RETELABaunoacute el trabajo de varias organizaciones distribuidas y heterogeacuteneas

14 Estructura de la memoria 11

ndash La Universidad de Santiago de Compostela (USC) y el Centro de Supercomputacioacutende Galicia (CESGA) se centraron en la implementacioacuten del laboratorio Por un ladola USC aportoacute su experiencia en teletedeteccioacuten anaacutelisis de imaacutegenes y desarrollo deportales y por otro lado el CESGA aportoacute su amplia su experiencia en el desarrollo deentornos de Computacioacuten de Alto Rendimiento (HPC) y Computacioacuten de Altas Presta-ciones (HTC)

ndash Los usuarios tiacutepicos del laboratorio estaban representados por el Instituto Canario deCiencias del Mar (ICCM) y el Centro Tecnoloacutegico del Mar y los Alimentos del PaiacutesVasco (AZTI) La experiencia de los investigadores de estos centros fue vital para rea-lizar el anaacutelisis de requisitos asiacute como para desarrollar las aplicaciones del laboratorio

El Capiacutetulo 2 estaacute dedicado a la descripcioacuten de diferentes aspectos de la computacioacuten Gridla Seccioacuten 21 muestra las diferentes fases en la evolucioacuten de la tecnologiacutea mientras que laSeccioacuten 22 describe la arquitectura tiacutepica de un sistema Grid para finalmente ocuparse en laSeccioacuten 23 del desarrollo de portales Web como medio de acceso a los sistemas

El Capiacutetulo 3 se centra en la implementacioacuten del laboratorio virtual de RETELAB y pro-fundiza en los diferentes moacutedulos incluidos en su desarrollo

ndash La Seccioacuten 32 describe la implementacioacuten del moacutedulo de acceso y gestioacuten de usuariosy coacutemo la integracioacuten de diferentes tecnologiacuteas permitioacute desplegar un sistema de accesousable y seguro basado en un control de acceso RBAC

ndash La Seccioacuten 33 profundiza en el despliegue y desarrollo del sistema de almacenamientodistribuido utilizado en RETELAB La integracioacuten con la interfaz Web asiacute como elempleo de metainformacioacuten para describir las colecciones de datos son dos de lospuntos fundamentales

ndash La integracioacuten de diferentes herramientas para la visualizacioacuten de las colecciones dedatos presentes en RETELAB es descrita en la Seccioacuten 34

ndash La ejecucioacuten de tareas en RETELAB asiacute como su monitorizacioacuten se aborda en laSeccioacuten 35 A pesar de que no se profundiza en los detalles de la implementacioacuten yaque esta tarea fue desarrollada principalmente por el CESGA este apartado introducecoacutemo se ha integrado y mejorado el metaplanificador GridWay para su utilizacioacuten desdeel laboratorio GridWay facilita a los usuarios el enviacuteo de tareas a un Grid seleccionandoautomaacuteticamente el mejor recurso disponible para su ejecucioacuten

12 Capiacutetulo 1 Introduccioacuten

ndash Por uacuteltimo la Seccioacuten 36 muestra diferentes aplicaciones integradas para validar ellaboratorio virtual e introduce el sistema desarrollado para detectar vertidos de hidro-carburos denominado SENTINAZOS y que centra la siguiente parte de la memoria

La segunda parte de la tesis doctoral describe en detalle el proyecto SENTINAZOS laquoAnaacute-lise e interpretacioacuten de imaxes de sateacutelite a partires de teacutecnicas de intelixencia artificialaplicacioacuten a contaminantes no medio marintildeoraquo El proyecto con referencia PGIDIT08SIN-001236PR fue financiado por la Conselleriacutea de Innovacioacuten e Industria de la Xunta de Galiciaentre los antildeos 2008 y 2010 e implicoacute en su desarrollo a la Universidad de la Coruntildea (UDC) yla USC los equipos de ambas instituciones abordaron el problema desde dos puntos de vistadiferentes pero complementarios

ndash La UDC centroacute su esfuerzos en el desarrollo de algoritmos para la deteccioacuten grandescantidades de vertidos ocasionados por cataacutestrofes

ndash La USC se implicoacute en el desarrollo de un sistema de deteccioacuten de pequentildeos vertidos(sentinazos) ocasionados generalmente por tareas de mantenimiento y en la integra-cioacuten de dicho sistema en RETELAB

Despueacutes de introducir en el Capiacutetulo 4 el problema de la contaminacioacuten oceaacutenica y elestado del arte de los sistemas de deteccioacuten de vertidos el Capiacutetulo 5 se centra en el desarrollodel sistema implementado La descripcioacuten detallada del problema a resolver (Seccioacuten 51) ylas fuentes de datos empleadas (Seccioacuten 52) son la antesala para entrar en el detalle de lasdiferentes fases y algoritmos involucrados en el anaacutelisis e interpretacioacuten de las imaacutegenes Radarde Apertura Sinteacutetica (SAR)

ndash Las diferentes acciones de preprocesado necesarias para preparar los datos SAR parasu posterior anaacutelisis son descritas en la Seccioacuten 53

ndash La segmentacioacuten de la imagen relacionando las condiciones meteoroloacutegicas con laintensidad de la sentildeal del sateacutelite se detalla en la Seccioacuten 54 Durante esta fase losposibles vertidos o candidatos son identificados y aislados

ndash La Seccioacuten 55 describe el proceso por el que cada candidato es descrito empleando unconjunto de caracteriacutesticas

14 Estructura de la memoria 13

ndash Cada candidato a traveacutes de teacutecnicas de Inteligencia Artificial (AI) es clasificado comofalso positivo o vertido seguacuten sus descriptores La implementacioacuten uso y comparacioacutende los diferentes clasificadores empleados es detallada en la Seccioacuten 56

ndash La Seccioacuten 57 describe la aplicacioacuten de escritorio desarrollada para validar el sistemaasiacute como su integracioacuten en RETELAB a traveacutes de un portlet

La parte reservada al desarrollo de SENTINAZOS finaliza con un anaacutelisis detallado (Ca-piacutetulo 6) y la discusioacuten (Capiacutetulo 7) de los resultados obtenidos

Los capiacutetulos finales de la tesis doctoral se reservan para mostrar los resultados y conclu-siones del trabajo (Capiacutetulo 8) y para perfilar las liacuteneas de investigacioacuten abiertas por la tesisdoctoral y que seriacutea interesante desarrollar a corto y medio plazo (Capiacutetulo 9)

Parte I

Laboratorio Virtual de TeledeteccioacutenOceanograacutefica

CAPIacuteTULO 2

EVOLUCIOacuteN DE LA COMPUTACIOacuteN GRID

21 Estandarizacioacuten de las tecnologiacuteas Grid

La computacioacuten Grid (veacutease el Capiacutetulo 1) es un paradigma de computacioacuten distribuidaque surge como respuesta a dos necesidades por un lado la de disponer de entornos espe-cializados en la resolucioacuten de problemas complejos con altas demandas computacionales ypor otro la de gestionar VOs que permitan la colaboracioacuten entre grupos interdisciplinares ydispersos geograacuteficamente

El camino hacia su estandarizacioacuten y globalizacioacuten (veacutease la Figura 21) se inicia a prin-cipios de la deacutecada de los 90 a partir de implementaciones ad hoc que resolviacutean problemasconcretos Las aplicaciones resultantes aprovechaban la potencia computacional procedentede unir diferentes recursos distribuidos

En esta primera etapa la meta de los desarrolladores era hacer que funcionasen las apli-caciones y explorar nuevas posibilidades tecnoloacutegicas La implementacioacuten se realizaba direc-tamente sobre los protocolos de Internet sin seguir ninguacuten tipo de estaacutendar y en general lassoluciones estaban muy limitadas en cuanto a seguridad escalabilidad robustez o interopera-bilidad

I-WAY [44] es considerado el primer Grid moderno que abrioacute la puerta al desarrollo y estu-dio de la computacioacuten Grid en profundidad [22] [9] Se presentoacute en la conferencia ACMIEEESupercomputing del antildeo 1995 (SC95) a traveacutes de una demostracioacuten en la que se conectaron17 centros de supercomputacioacuten por medio de 11 redes de alta velocidad Se creoacute un super-ordenador virtual sobre el que se probaron alrededor de 60 aplicaciones diferentes I-WAYexploroacute varios aspectos que ahora se consideran esenciales en un Grid como la seguridad o

18 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

1990 1995 2000 2005

SolucionesAd-Hoc

Globus Toolkit

Open GridServices Arch

Fun

cion

alid

ad

y e

stan

dari

zaci

oacuten

Gestioacuten de sistemas virtuales compartidos

Estaacutendar de factoImplementacioacuten uacutenica

Estaacutendares de iureMuacuteltiples implementacionesEstaacutendares de internet

Web services etc

2010

Figura 21 Evolucioacuten de las tecnologiacuteas Grid Imagen adaptada de [50]

el enviacuteo y la gestioacuten de trabajos Su eacutexito demostroacute las posibilidades de la computacioacuten Gridy llevoacute a aumentar considerablemente los esfuerzos en el desarrollo de proyectos concebidospara compartir recursos de computacioacuten distribuidos

I-WAY puede considerarse el germen del proyecto Globus [45] que surge con el objetivode investigar y desarrollar tecnologiacuteas Grid fundamentales y marca el comienzo de la segundaetapa en la evolucioacuten hacia la estandarizacioacuten El proyecto liderado por Ian Foster (codesa-rrollador de I-WAY y fundador del concepto de computacioacuten Grid) tiene uno de sus pilaresen la implementacioacuten del Globus Toolkit (GT) [47] El GT es un conjunto de componentessoftware disentildeado para desplegar infraestructuras Grid y proporcionar servicios que gestionenaspectos tales como la seguridad el enviacuteo de trabajos o la administracioacuten de los recursos

El GT se situacutea en la capa de middleware es decir entre la capa de aplicaciones de usuarioy la de recursos Esta capa proporciona herramientas que permiten que los recursos participende forma coordinada en un entorno unificado y aseguren el acceso transparente a los usuarios

Ademaacutes del GT surgieron otros proyectos para el desarrollo de infraestructuras Grid comoLegion [57] o Uniform Interface to Computing Resources (UNICORE) [94] pero desde suprimera versioacuten en 1998 el GT se posicionoacute como el middleware dominante y en 2002 susegunda versioacuten (GT2) se establecioacute como el estaacutendar de facto en el desarrollo de aplicacionesGrid

21 Estandarizacioacuten de las tecnologiacuteas Grid 19

El GT2 fue pionero en el desarrollo de sistemas Grid interoperables [50] pero aunquealgunos de sus componentes fueron desarrollados formalmente en general la implementacioacutendel GT2 careciacutea de directrices y no fue sometida a una revisioacuten puacuteblica

A medida que la computacioacuten Grid se estableciacutea y se popularizaba (trascendiendo inclusoal aacutembito acadeacutemico) se hizo maacutes patente la necesidad de desarrollar estaacutendares que aporta-sen total interoperabilidad no soacutelo a nivel de aplicaciones Grid sino tambieacuten de componentesfundamentales del sistema y permitiesen la integracioacuten de muacuteltiples tecnologiacuteas en un sistemade recursos compartidos [73]

En el antildeo 2002 surge la Open Grid Service Architecture (OGSA) [51] la cual define unestaacutendar que incluye servicios baacutesicos de computacioacuten Grid como la seguridad gestioacuten derecursos administracioacuten de trabajos etc OGSA busca la convergencia entre la tecnologiacuteaGrid y los servicios Web por lo que define una arquitectura abierta basada en servicios paradesarrollar entornos Grid OGSA no aporta detalles para la implementacioacuten del estaacutendar y enconsecuencia surge una importante dificultad OGSA requeriacutea servicios Web con estado peroel estaacutendar de dichos servicios no lo proporcionaba

En 2003 surge la Open Grid Services Infrastructure (OGSI) la cual detalla una posible im-plementacioacuten de OGSA y presenta una versioacuten modificada de los servicios Web denominadaservicios Grid [68] Estos servicios proporcionaban entre otras cosas soporte para el estadogracias a una modificacioacuten del Web Services Description Language (WSDL) [30] llamadaGrid Web Service Definition Language (GWSDL) [115] La tercera versioacuten del GT surge en2004 y en su camino hacia la estandarizacioacuten basa su implementacioacuten en el estaacutendar definidopor OGSI

La comunidad Grid pronto consideroacute que OGSI era una aproximacioacuten poco convenien-te [102] sobre todo por usar una versioacuten modificada de los servicios Web en lugar de basarseen el estaacutendar Se continuoacute trabajando para encontrar una mejor solucioacuten para la implementa-cioacuten del estaacutendar OGSA en general y para la implementacioacuten de servicios Web con estadoen particular En 2004 se propuso la especificacioacuten Web Service Resource Framework (WSRF)con el objetivo de sustituir a OGSI y aportar una implementacioacuten de los servicios Web con es-tado aceptada tanto por la comunidad Grid como por la comunidad de servicios Web WSRFintegra OGSA con los servicios Web puros y es la base para la implementacioacuten de la cuartaversioacuten del Globus Toolkit (GT4) (versioacuten empleada en el desarrollo del laboratorio virtual deRETELAB)

20 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

El teacutermino de servicio Grid ha continuado utilizaacutendose pero a partir de la especificacioacutende WSRF se asocia a cualquier servicio que de acuerdo a la nueva especificacioacuten se ajuste alas convenciones de interfaz de una infraestructura Grid

Continuando con el proceso de estandarizacioacuten Foster y Kesselman [50] anticiparon enel antildeo 2003 una futura fase en la buacutesqueda de un sistema Grid global que denominaron ges-tioacuten de sistemas virtuales compartidos Partiendo de la especificacioacuten de OGSA en esta fasese preveiacutea un incremento del conjunto de servicios y sistemas estaacutendar orientados a la inter-operabilidad Este nuevo conjunto de estaacutendares estariacutea enfocado a la administracioacuten tanto dedispositivos moacuteviles como de grandes sistemas con muacuteltiples VOs y todo ello aumentando elgrado de virtualizacioacuten enriqueciendo los modos de comparticioacuten e incrementando la calidadde servicio

22 Arquitectura de un sistema Grid

La arquitectura de un sistema Grid desarrollado con GT (veacutease la Figura 22) se divideen capas y estaacute construida sobre los principios del modelo de reloj de arena (hourglass mo-

del) [50] en el que las capas intermedias situadas en el cuello del reloj contienen un conjuntode protocolos e interfaces que los desarrolladores de servicios y aplicaciones de maacutes alto nivel(capas superiores) utilizan y que les permiten abstraerse de los desarrollos y tecnologiacuteas delas capas inferiores que gestionan el uso de los recursos locales

ndash Capa de infraestructura (Fabric layer) proporciona las operaciones baacutesicas sobre losrecursos que seraacuten utilizadas como base para el desarrollo de operaciones de maacutes altonivel

ndash Capa de conectividad (Connectivity layer) define el nuacutecleo de los protocolos utilizadospara la comunicacioacuten y la autenticacioacuten requeridos en las transacciones

ndash Capa de recursos (Resource layer) contiene los protocolos necesarios para gestionar deforma remota el acceso e interaccioacuten con los recursos individuales

ndash Capa colectiva (Collective layer) contiene protocolos para la gestioacuten de recursos muacutel-tiples Utiliza los protocolos definidos en las capas inferiores para implementar susoperaciones

23 Interfaces Grid 21

Recursos locales computadoras redes

almacenamiento sensores etc

Acceso seguro a recursos y servicios

Gestioacuten de recursos muacuteltiples diagnoacutestico monitorizacioacuten

etc

Herramientas y aplicaciones de usuario

Capa de aplicaciones

Capa colectiva

Capa de recursos

Capa de conectividad

Capa de infraestructura

Figura 22 Arquitectura Grid basada en capas y construida sobre los principios del modelo de laquoreloj de arenaraquoFigura adaptada de [50]

ndash Capa de aplicaciones (Application layer) esta capa contiene las aplicaciones de usua-rio que se implementan de forma especiacutefica para dar respuesta a un problema dentrodel entorno de una organizacioacuten virtual Para su desarrollo se utilizan las interfacesdesarrolladas en las capas inferiores

23 Interfaces Grid

Existen dos tipos de usuarios relacionados con los sistemas Grid desarrolladores y usua-rios finales Es habitual que los usuarios no tengan grandes conocimientos tecnoloacutegicos y enparticular la formacioacuten en este aacutembito es muy escasa Eacutestos ven al sistema como un mediopara desarrollar su trabajo por lo que la usabilidad del entorno ha de ser primordial La CLIes la solucioacuten baacutesica para el acceso a un Grid pero es muy poco amigable y requiere de unestudio previo de los comandos y sus formas de uso por lo que habitualmente es rechazadapor los usuarios finales Es conveniente desarrollar entornos que faciliten el acceso y utiliza-cioacuten de los sistemas y en la medida de lo posible que abstraigan a los usuarios de los detallestecnoloacutegicos para que puedan centrarse en sus trabajos

Con el desarrollo de la Web 20 surge la tendencia de migrar aplicaciones y sistemas ala Web convirtiendo Internet en un entorno amigable y conocido para el usuario La compu-

22 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

tacioacuten Grid no fue ajena a este cambio y surgieron los llamados portales Grid que actuabancomo interfaces de acceso a los sistemas distribuidos El acceso Web suponiacutea una evolucioacutenen cuanto a la generalizacioacuten y popularizacioacuten de los sistemas Grid ya que permitiacutea accedera los usuarios en cualquier momento y desde cualquier lugar a traveacutes de una interfaz ergonoacute-mica y sin tener que instalar software especiacutefico Desde el punto de vista de su finalidad losportales Grid pueden dividirse en dos categoriacuteas

ndash Portales Grid especializados proveen de un subconjunto de operaciones Grid en elmarco de una aplicacioacuten especiacutefica

ndash Portales Grid de propoacutesito general proveen de un acceso baacutesico y sin propoacutesito concre-to a servicios y recursos de un Grid

Los desarrollos de portales Grid pueden dividirse en dos generaciones dependiendo desu implementacioacuten y tecnologiacuteas utilizadas [69] la primera generacioacuten estaacute caracterizada pordesarrollos fuertemente acoplados con el middleware (habitualmente GT2) mientras que lasegunda generacioacuten hace uso de tecnologiacuteas como por ejemplo los portlets que permitensoluciones maacutes configurables y dinaacutemicas

231 Portales Grid primera generacioacuten

Surgen a mediados de los antildeos 90 como una forma de hacer maacutes accesibles y usables lossistemas Grid Se realizaron grandes esfuerzos para implementar entornos de computacioacutenGrid que ofreciesen a traveacutes de la Web los mismos servicios que un sistema Grid claacutesico Estosdesarrollos previos a los estaacutendares (veacutease la Seccioacuten 21) son soluciones personalizadaspoco modulares y fuertemente acopladas con el middleware Esta primera generacioacuten aportoacutesoluciones pero sobre todo un valioso conocimiento de la problemaacutetica que permitioacute allanarel terreno para desarrollos posteriores A continuacioacuten se detallan algunas de las limitacionesmaacutes importantes [69]

ndash Los portales tienen poca o ninguna posibilidad de personalizacioacuten por parte del usuariofinal

ndash El alto acoplamiento entre los portales y el middleware Grid hace que sea muy compli-cado integrar servicios suministrados por otro middleware

23 Interfaces Grid 23

ndash En esta eacutepoca el desarrollo de la computacioacuten Grid era muy dinaacutemico La integracioacutende nuevas funcionalidades Grid no contempladas desde un primer momento era muycomplicada

Aunque no son los uacutenicos los ejemplos presentados a continuacioacuten son una muestra rele-vante de sistemas de primera generacioacuten Es importante destacar que se describen las primerasversiones importantes pero que eacutestos han continuado evolucionando y cambiando por lo quelas limitaciones mencionadas no tienen que estar presentes en las sucesivas versiones

UNICORE Uno de los primeros ejemplos importantes de portales Grid de propoacutesitogeneral fue UNICORE [94] No dependiacutea de ninguna implementacioacuten especiacutefica ni de servi-cios ni de un middleware Grid sino que se trataba de una solucioacuten completa para la gestioacuten yuso de una red de recursos heterogeacuteneos y distribuidos En los primeros prototipos el accesoa UNICORE se proporcionaba a traveacutes de un applet disponible a traveacutes de la Web Imple-mentaciones posteriores descartaron el uso del applet en beneficio de una aplicacioacuten Java deescritorio [38]

GridPort 20 Es un toolkit basado en scripts CGI de Perl para desarrollar y desplegarraacutepidamente portales Grid [107] Fue implementado pensando en potenciar la compatibilidada expensas de sacrificar rendimiento y flexibilidad y por ello se utilizaron tecnologiacuteas baacutesicasy se descartaron otras maacutes complejas y actuales como los applets (en el lado del cliente) oJava Server Pages (JSP) y servlets (en el lado del servidor) Se utiliza GT para acceder a losrecursos de alta computacioacuten y sus comandos son invocados a traveacutes de los scripts La interfazde usuario se construye a traveacutes de paacuteginas HTML que contienen llamadas a los scripts Tantoel uso de scripts y de HTML para modelar la interfaz como la encapsulacioacuten de los serviciosen los propios scripts facilita el despliegue pero complica el mantenimiento y personalizacioacutendel portal

Grid Portal Development Kit (GPDK) Es un toolkit que provee de una serie de compo-nentes reutilizables que permiten interactuar con los recursos de un sistema Grid y desarrollarportales y aplicaciones con interfaces personalizables [85] En la medida de lo posible GPDKfue desarrollado a traveacutes de software libre y abierto GT2 es el middleware utilizado para elacceso y gestioacuten del sistema distribuido mientras que el desarrollo del portal y las aplicacio-

24 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

nes se basan en JSP y servlets La interaccioacuten entre Java y GT2 se realiza a traveacutes de Java

Commodity Grid Kit (CoG) [113]

232 Portales Grid segunda generacioacuten

El inicio de la segunda generacioacuten de portales Grid viene marcado por la aparicioacuten de losportlets o componentes reutilizables para portales Web y por el desarrollo de los estaacutendaresGrid basados en servicios

Tecnologiacuteas empleadas

Portlets Como hemos visto en el apartado anterior los portales de primera generacioacutenestaban muy limitados en cuanto a personalizacioacuten y esto se solucionoacute en gran medida gra-cias a la aparicioacuten de los portlets Seguacuten la primera versioacuten de la especificacioacuten del estaacutendarde desarrollo de portlets de Java (JSR168) [10]

laquoUn portlet es un componente Web desarrollado en Java y gestionado por un contene-

dor de portlets que procesa peticiones y genera contenido dinaacutemico Los portales utilizan

portlets como componentes de la interfaz de usuario que se pueden activar o desactivar y que

proporcionan una capa de presentacioacuten a los sistemas de informacioacutenraquoEl usuario final ve al portlet como una ventana dentro de un portal que proporciona in-

formacioacuten o acceso a un servicio concreto como por ejemplo un calendario noticias o elacceso a un buzoacuten de correo [61] Un portlet genera un fragmento de coacutedigo HTML que esincrustado en una seccioacuten del portal La unioacuten de los fragmentos generados por los diferentesportlets forman la interfaz del portal Una caracteriacutestica importante de este tipo de portales esla posibilidad de personalizacioacuten que ofrecen al usuario final ya que el contenido generadopuede variar dependiendo de la configuracioacuten e incluso es posible administrar queacute portletsestaacuten activos y cuaacuteles no (veacutease la Figura 23) Es faacutecil imaginarse un portal como un puzzleque puede tomar cualquier forma (la elige el usuario final) y en el que se pueden intercambiarpiezas siendo cada pieza un portlet Lo interesante es que estas piezas pueden ser reutilizadaspara formar parte de nuevos portales pues lo uacutenico que se exige es que el portal de des-tino sea compatible con el Application Programming Interface (API) estaacutendar de desarrollode portlets Cada portlet funciona de forma independiente respecto al resto y tiene su propiociclo de vida que es gestionado por el contenedor de portlets

23 Interfaces Grid 25

Contenedor de portlets Podemos definir un contenedor de portlets como un entorno deejecucioacuten en donde los portlets pueden ser instanciados usados y finalmente destruidos Esresponsabilidad del contenedor la gestioacuten del ciclo de vida del portlet [69] Un contenedorde portlets no puede ser usado de forma independiente sino que se despliega dentro de uncontenedor de servlets y aprovecha sus funcionalidades

Noticias de la Red X-

Red Nacional de Teledeteccioacuten Oceanograacutefica

Gestioacuten de Credenciales X-

Activo

X-

X-

Modelo Produccioacuten Primaria

Roms

X-Sentinazos

Seleccionar portlet activo

Portlets con acceso restringido Usuario no autorizado

Portlets con acceso restringido Usuario autorizado

Figura 23 Ejemplo de un portal Web desarrollado a traveacutes de portlets

Portlets Grid

Un portlet Grid es un tipo especial de portlet que estaacute asociado a un servicio Grid pro-porcionado por un middleware Gracias a la estandarizacioacuten tanto de los portlets como de losservicios Grid un portlet puede ser reutilizado e interactuar con un servicio Grid sea cualsea el middleware que lo hace accesible por lo que se puede afirmar que los portales Griddesarrollados con portlets se encuentran deacutebilmente acoplados al middleware

Entornos para el desarrollo de portales Web basados en portlets

Los entornos disentildeados para desarrollar portales basados en portlets no son especiacuteficosde la computacioacuten Grid es decir son geneacutericos y pueden contener portlets de cualquier tipo(incluido portlets Grid) WebSphere y GridSphere son probablemente los entornos de mayorpopularidad

26 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

IBM WebSphere Portal Es una aplicacioacuten J2EE que se ejecuta sobre un servidor deaplicaciones con el mismo nombre y que permite desarrollar y administrar portales Web cen-trados en el acceso a aplicaciones contenidos y servicios a traveacutes de portlets [69] Es unaimplementacioacuten propietaria que actualmente se encuentra en su octava versioacuten Durante susprimeras versiones el desarrollo de portlets estaba basado en el API de IBM que aunquefundamentalmente era similar al API JSR168 sus pequentildeas diferencias [59] impediacutean la to-tal compatibilidad de los portlets El soporte para el API JSR168 fue incluido a partir de laversioacuten 502 y la versioacuten actual soporta tanto el API JSR168 como el API JSR286

Con el portal se distribuye un toolkit que permite su administracioacuten y personalizacioacuten asiacutecomo la creacioacuten prueba depuracioacuten y despliegue de portlets para un raacutepido desarrollo ElIBM WebSphere Portal tambieacuten provee de mecanismos para la personalizacioacuten de la vista delportal por el usuario final permitiendo seleccionar las aplicaciones y contenidos asiacute comoestablecer la forma en que son mostrados

GridSphere Es uno de los entornos de desarrollo de portales basados en portlets maacutesconocidos y utilizados [87] y concretamente fue el empleado para desplegar el laboratoriovirtual de RETELAB Se trata de un proyecto de coacutedigo libre desarrollado en el marco delproyecto GridLab que incluye un contenedor de portlets un conjunto baacutesico de portlets ylibreriacuteas de desarrollo

GridSphere es compatible con el API de WebSphere y con el API estaacutendar para portlets loque permite una raacutepida integracioacuten del software desarrollado por terceros Cuando el proyectofue iniciado la primera versioacuten del estaacutendar todaviacutea no se habiacutea publicado por lo que deentrada fue construido conforme al de IBM La compatibilidad con el estaacutendar fue antildeadidaen una versioacuten posterior

El conjunto baacutesico de portlets incluido en GridSphere facilita el desarrollo de nuevosportales y aporta funcionalidades baacutesicas como la administracioacuten de usuarios y grupos elacceso de los usuarios al portal la gestioacuten de las cuentas o la personalizacioacuten del portal

Entornos y herramientas para el desarrollo de portlets Grid

Para facilitar la implementacioacuten de portlets Grid y su despliegue en los portales surgieronproyectos especiacuteficos que proporcionaban tanto entornos de desarrollo como toolkits

23 Interfaces Grid 27

GridPortlets y Open Grid Computing Environments (OGCE) son dos de los entornos dedesarrollo maacutes populares y extendidos Ambos aportan herramientas baacutesicas que permiten alos desarrolladores interactuar con el middleware facilitando el desarrollo de portlets Grid

OGCE Es un proyecto de coacutedigo libre que proporciona un ecosistema en el que seintegran diferentes tecnologiacuteas y herramientas para la creacioacuten de portales Grid [12] [116]

Varias son las liacuteneas en las que OGCE ha centrado sus esfuerzos

ndash Establecer un entorno de desarrollo de portlets Grid desde la segunda versioacuten del OG-CE los portlets desarrollados cumplen con el estaacutendar y pueden ser reutilizados Parafacilitar su implementacioacuten OGCE proporciona una utilidad que permite la creacioacuten deportlets estaacutendar a traveacutes de la herramienta de desarrollo Web denominada Velocity [4]

ndash Abstraer a los desarrolladores de aplicaciones del sistema Grid utilizado OGCE noutiliza un uacutenico API para acceder a los diferentes servicios Grid sino que se basa enun conjunto procedente de varios proyectos como CoG o GridPort CoG se puede con-siderar el API principal y proporciona una capa de abstraccioacuten que independiza a losportlets del middleware utilizado

ndash Desarrollar servicios Grid avanzados la segunda versioacuten de OGCE integra y proporcio-na servicios para por ejemplo monitorizar los recursos locales utilizando el GridPort

Information Repository (GPIR) incorporar el repositorio semaacutentico de contenido Tu-pelo [5] o generar interfaces de servicio Web para las aplicaciones cientiacuteficas que sedesee integrar en el portal

ndash Desarrollar servicios para la colaboracioacuten de grupos OGCE desarrolloacute servicios y di-sentildeoacute interfaces portlet para integrar las herramientas colaborativas Sakai [3]

OGCE ha sido el entorno utilizado para el desarrollo de los portlets en RETELAB ademaacutestambieacuten se incorporaron al laboratorio varios portlets ya implementados por OGCE como elportlet para la administracioacuten de credenciales o el dedicado a la gestioacuten de ficheros remotos

GridPortlets Surge dentro del proyecto GridSphere con el objetivo de proporcionar alos desarrolladores un entorno para la implementacioacuten de portlets Grid [97] GridPortletsdistribuye una coleccioacuten de portlets baacutesicos que pueden ser utilizados individualmente o juntoa otras aplicaciones y que permiten desplegar un portal Grid baacutesico Este conjunto de portlets

28 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

estaacute implementado a traveacutes de componentes JSP reutilizables que pueden ser integrados ennuevas implementaciones

Al contrario de OGCE que utilizaba varias APIs GridPortlets proporciona una uacutenica APIde alto nivel pensada para acceder a los servicios Grid e interactuar con los recursos y asiacutedesarrollar portlets y aplicaciones Grid especiacuteficas

Los portlets desarrollados a traveacutes de GridPortlets no son completamente independientesde GridSphere y aunque teoacutericamente son compatibles con el API estaacutendar no se puedenintegrar faacutecilmente en otros contenedores de portlets [116] GridPortlets pensando en la usa-bilidad proporciona una sencilla pero potente interfaz para el enviacuteo de trabajos que abstrae alusuario de los detalles de bajo nivel y almacena un detallado historial de cada trabajo proce-sado para que pueda ser consultado a posteriori

233 Portales Grid casos de estudio

Durante la primera deacutecada del siglo XXI sobre todo en los primeros antildeos la incidencia delos sistemas Grid en la sociedad fue en aumento no soacutelo en el campo acadeacutemico sino tambieacutenen el empresarial La estandarizacioacuten de las tecnologiacuteas Grid y la mejora de las interfaces deusuario hicieron de esta tecnologiacutea una valiosa herramienta Fueron muchos los sistemas Griddesplegados y numerosos tambieacuten los portales Grid desarrollados para interactuar con lossistemas de una forma amigable Una gran mayoriacutea de estos portales estaban centrados enla visualizacioacuten de informacioacuten monitorizacioacuten de los recursos y sistemas y en la ejecucioacutende tareas simples no obstante algunos otros profundizaron en la tecnologiacutea y desarrollaronaplicaciones Web que facilitaban la realizacioacuten de tareas Grid complejas a los usuarios

GENIUS Grid Portal La Organizacioacuten Europea para la Investigacioacuten Nuclear (CERN)en general y el proyecto LHC en particular han ejercido una gran influencia en el desarrollode la tecnologiacutea Grid El portal Grid GENIUS [19] [15] implementado dentro del marco delproyecto europeo DataGrid fue desarrollado para proporcionar acceso a los datos del LHC ypermitir su utilizacioacuten en diferentes aplicaciones sobre un sistema Grid Estaba disentildeado paraproporcionar un acceso seguro a funcionalidades Grid como el enviacuteo y ejecucioacuten de trabajosla administracioacuten de datos o el acceso interactivo para el anaacutelisis de los datos generados

GENIUS fue un portal Grid pionero basado en una versioacuten extendida del GT Este mid-

dleware modificado extendioacute la interfaz de Globus facilitando la interaccioacuten entre las aplica-ciones software y el sistema Grid La primera versioacuten del portal se puede considerar dentro

23 Interfaces Grid 29

de la primera generacioacuten de portales Grid (veacutease la Seccioacuten 231) ya que su desarrollo estaacutefuertemente acoplado con el middleware utilizado

El portal permitiacutea el acceso remoto de usuarios pero manteniacutea la necesidad de tener unacuenta personal en el servidor del portal con la que se proporcionaba acceso al sistema deficheros local La autenticacioacuten y autorizacioacuten de los usuarios sobre los recursos Grid se rea-lizaba a traveacutes de la delegacioacuten de credenciales implementada con MyProxy (veacutease la Sec-cioacuten 32)

Earth System Grid (ESG) En general los proyectos relacionados con el estudio de laTierra poseen una serie de particularidades que dificultan su desarrollo a traveacutes de mediostradicionales

ndash Generan cantidades ingentes de informacioacuten bien sea a traveacutes de la observacioacuten directade fenoacutemenos o bien a traveacutes de la ejecucioacuten de modelos que los simulan

ndash Los algoritmos y modelos utilizados suelen requerir una gran potencia computacional

ndash Implican ciencias interdisciplinares en donde trabajan cientiacuteficos de diferentes ramasque deben colaborar para obtener el maacuteximo rendimiento de las investigaciones

La computacioacuten Grid se adapta especialmente bien a este tipo de proyectos y en concretoel proyecto ESG [23] es uno los maacutes relevantes Centrado en la investigacioacuten climaacutetica ESGproporciona un entorno colaborativo con el objetivo de almacenar distribuir y procesar lasenormes cantidades de datos utilizadas en el seno de sus proyectos

Ademaacutes de proporcionar la infraestructura necesaria para el almacenamiento de la infor-macioacuten climaacutetica gran parte de los esfuerzos del proyecto fueron destinados a desarrollarestaacutendares y servicios de metainformacioacuten orientados a administrar navegar buscar y com-partir los datos almacenados Un portal Grid facilita el acceso a los datos y los servicios debuacutesqueda y recuperacioacuten de informacioacuten

El acceso a los recursos Grid se basa en el sistema de delegacioacuten de credenciales de My-Proxy (veacutease la Seccioacuten 32) pero ESG desarrolloacute y empleoacute un novedoso sistema de registrode usuarios para la generacioacuten automaacutetica de credenciales El Portal-based User Registra-

tion Service (PURSe) [53] permite el registro de usuarios y la creacioacuten y administracioacuten desus Certificados Digitales (DCs) y respectivos proxies de forma automaacutetica Originalmentefue desarrollado dentro del proyecto pero posteriormente evolucionoacute como sistema indepen-diente e integrable en nuevos portales Grid

30 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

PURSe encaja perfectamente con la poliacutetica de facilidad de uso que dirige el proyectoRETELAB por lo que fue integrado como medio de registro de usuarios No obstante elmoacutedulo de registro fue modificado y mejorado para dar un soporte maacutes amplio que el propor-cionado por defecto y asiacute ajustarse a las necesidades del laboratorio virtual Los detalles deimplementacioacuten y de integracioacuten se muestran en detalle en la Seccioacuten 32

P-Grade P-Grade es un portal Grid basado en GridSphere concebido para soportarformas complejas de ejecucioacuten de trabajos dirigidas por flujos de tareas (workflows) P-Gradeestaacute disentildeado para trabajar con Globus como middleware lo que le permite integrarse concualquier sistema Grid que lo utilice y aportarle la capacidad avanzada de administracioacuten deflujos de tareas Proporciona a los usuarios un editor de flujos que permite disentildear localmentelas tareas y subirlas al servidor Empleando Java Web Start (JavaWS) los usuarios puedendescargar el editor desde el portal y eacuteste se instala automaacuteticamente y de forma transparenteen la estacioacuten de trabajo del usuario Dentro de un mismo flujo de tareas P-Grade soportala asignacioacuten de trabajos a recursos que pertenezcan a diferentes Grids e incluso la creacioacutende flujos colaborativos entre varios investigadores Es tarea del usuario la asignacioacuten de losrecursos en concreto en donde se vaya a ejecutar una parte del flujo por lo que el usuario debeconocer la estructura del sistema

CAPIacuteTULO 3

PROYECTO RETELAB

31 Descripcioacuten del proyecto

RETELAB es un laboratorio virtual desplegado sobre un sistema distribuido que propor-ciona un entorno de trabajo colaborativo enfocado al desarrollo de proyectos de teledeteccioacutenoceanograacutefica [78] [33] Nace en el seno de la red RETEMAR con el objetivo proporcionarun entorno para llevar a cabo proyectos de altas prestaciones entre sus integrantes

Seguacuten las especificaciones iniciales los requerimientos que debiacutea cubrir el laboratoriovirtual eran

ndash Gestioacuten de recursos compartidos el laboratorio virtual debiacutea poseer la capacidad deintegrar y administrar recursos distribuidos pertenecientes a los diferentes centros de laRed

ndash Soporte para el almacenamiento administracioacuten e intercambio de datos distribuidos elalmacenamiento local tiene grandes limitaciones a la hora de administrar las ingentescantidades de datos capturados a traveacutes de la teledeteccioacuten por lo que RETELAB de-biacutea disponer de un sistema de datos distribuidos que permitiese almacenar procesar ycompartir la informacioacuten

ndash Potencia computacional en general las aplicaciones cientiacuteficas oceanograacuteficas (mode-los climaacuteticos deteccioacuten de contaminantes etc) demandan una gran cantidad de recur-sos computacionales El sistema proporcionariacutea la potencia necesaria para su ejecucioacuten

32 Capiacutetulo 3 Proyecto RETELAB

ndash Seguridad dado que el laboratorio proporcionariacutea acceso a recursos compartidos laseguridad debiacutea ser uno de los pilares en el disentildeo e implementacioacuten de RETELAB

ndash Interfaz amigable es necesario que la interfaz de acceso al sistema sea intuitiva y faacutecilde utilizar para que los usuarios puedan centrarse en sus trabajos sin tener que dedicaresfuerzos al aprendizaje de nuevas herramientas

ndash Visualizacioacuten el laboratorio virtual debiacutea proporcionar las herramientas necesarias paravisualizar tanto los resultados de los trabajos como los datos almacenados

Las especificaciones del sistema junto con las caracteriacutesticas tiacutepicas de las aplicacionesque se desea ejecutar hacen de la computacioacuten Grid la tecnologiacutea maacutes adecuada para el desa-rrollo del laboratorio virtual y el acceso a traveacutes de un portal Grid la opcioacuten maacutes simple yamigable para el usuario final

311 Arquitectura general del sistema

El disentildeo de RETELAB se corresponde con una arquitectura cliente-servidor multicapa(veacutease la Figura 31) en la que una aplicacioacuten cliente tiacutepicamente un navegador Web realizapeticiones a un servidor que las procesa y devuelve un resultado A continuacioacuten se describenbrevemente las principales capas del sistema

ndash Capa de aplicaciones en esta capa se situacutea el servidor Web (Tomcat + Apache) en el queestaacute desplegado el portal Grid a traveacutes del cual se accede al sistema El portal basadoen el contenedor de portlets GridSphere contiene diferentes portlets que encapsulan ygestionan tareas sobre los recursos de alta computacioacuten

ndash Capa de middleware en esta capa estaacute desplegada la cuarta versioacuten del Globus Tool-

kit que contiene la tecnologiacutea y herramientas necesarias para gestionar un Grid GT4proporciona una coleccioacuten de servicios que permiten a las aplicaciones (capa superior)operar sobre los recursos de alta computacioacuten (capa inferior)

ndash Capa de recursos en esta capa se situacutean los recursos del sistema Se trata de recursosdistribuidos y heterogeacuteneos que pertenecen a diferentes centros

31 Descripcioacuten del proyecto 33

Figura 31 Arquitectura general del sistema RETELAB

Recursos del sistema

El sistema Grid de RETELAB permite incluir recursos de cualquier centro participante enel proyecto pero en el despliegue inicial soacutelo se ponen a disposicioacuten de la comunidad recursosde la USC y del CESGA

La USC colaboroacute con un cluster compuesto por 11 nodos 10 AMD Opteron 2212 y 1INTEL Xeon 5130 cada uno de los cuales presenta las siguientes caracteriacutesticas arquitecturax86_64 2 procesadores dual core frecuencia de 2GHz 4GB RAM e interconexioacuten Giga-Ethernet

El CESGA aportoacute un cluster compuesto de 4 nodos HP Proliant de las siguientes carac-teriacutesticas arquitectura x86_64 2 procesadores Intel Xeon Quadcore X5355 (8 coresequipo)frecuencia de 266GHz 8 GB de RAM 4 x 2MB cacheacute (L2) e interconexioacuten GigaEthernet

Los recursos proporcionados por el CESGA se aprovecharon al maacuteximo gracias a la pla-taforma de virtualizacioacuten Xen [6] Tal y como se muestra en la Figura 32 uno de los nodosdel cluster fue virtualizado para alojar a 3 recursos virtuales diferentes

ndash RETELAB UI aloja la interfaz de acceso al laboratorio virtual es decir el portal Grid

34 Capiacutetulo 3 Proyecto RETELAB

ndash CESGA CE gestiona los trabajos que le llegan al cluster actuando como nodo principalo laquocabezaraquo

ndash Nodo de trabajo se ha virtualizado un nodo de trabajo que si bien no tiene la potenciacomputacional del resto de los nodos es aprovechado y utilizado como parte del cluster

Fedora Core 6 + XENScientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Hardware

Xenreg Hypervisor

CEUI Nodo Trabajo

Scientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Cluster CESGA

Figura 32 Recursos aportados por el CESGA

32 Registro y acceso de los usuarios

El objetivo de esta seccioacuten es mostrar el moacutedulo para el registro y acceso de los usuarios deRETELAB al sistema pero para una mejor comprensioacuten es necesario introducir brevementealgunos conceptos sobre la infraestructura de seguridad del GT

32 Registro y acceso de los usuarios 35

Security Grid Infrastructure (GSI)

La GSI es un conjunto de herramientas libreriacuteas y protocolos usados por el GT paragestionar el acceso de los usuarios y aplicaciones a los recursos de altas prestaciones [70]Los pilares fundamentales del GSI son la PKI y los Certificados Digitales (DCs) X509

Cada participante de un sistema Grid dispone de un DC X509 que lo identifica y queprincipalmente estaacute compuesto por

ndash Un nombre que identifica a la persona o recurso al que representa el DC

ndash La clave puacuteblica del propietario del DC

ndash El nombre de la Autoridad Certificadora (CA) que ha firmado el DC y que garantiza laidentidad del propietario Es esencial que todos los participantes de un Grid confiacuteen ytengan acceso a las claves puacuteblicas de las CAs utilizadas para firmar los DCs

ndash La firma digital de la CA que valida el DC

Es importante diferenciar dos teacuterminos en el aacutembito de la seguridad Grid

ndash Autenticar proceso de identificar uniacutevocamente a un usuario o a un recurso

ndash Autorizar proceso que identifica las acciones que puede realizar un usuario sobre unrecurso concreto

Autenticacioacuten El proceso de autenticacioacuten de participantes en un sistema Grid es mu-tuo es decir para establecer una comunicacioacuten entre dos participantes es necesario que cadauno de ellos se identifique ante el otro a traveacutes del siguiente meacutetodo

1 La entidad lsquoArsquo establece una conexioacuten con la entidad lsquoBrsquo y le enviacutea su DC

2 La entidad lsquoBrsquo comprueba la autenticidad del DC utilizando la clave puacuteblica de la CAcon la firma del certificado

3 Una vez validado el certificado lsquoBrsquo trata de confirmar que la entidad que envioacute el DC esrealmente su propietaria y para ello enviacutea un mensaje aleatorio para que lsquoArsquo lo codifiqueutilizando su clave privada

4 La entidad lsquoArsquo utiliza su clave privada para codificar el mensaje y eacuteste es devuelto a lsquoBrsquo

36 Capiacutetulo 3 Proyecto RETELAB

5 lsquoBrsquo utiliza la clave puacuteblica de lsquoArsquo contenida en el DC para descodificar el mensaje ycomprobar que es el mismo que el original

6 Una vez que lsquoArsquo es autenticada lsquoBrsquo iniciariacutea nuevamente el proceso enviando su DC alsquoArsquo

Cuando un usuario desarrolla una tarea en un Grid eacutesta puede requerir varios recursoso puede que durante su procesamiento necesite solicitar servicios en nombre del usuarioSeguacuten el meacutetodo de autenticacioacuten mostrado cada vez que el usuario necesite un recurso orequiera un servicio deberiacutea autenticarse El uso de la clave privada exige la atencioacuten delusuario ya que se almacena cifrada y es necesario que el usuario introduzca su contrasentildeacada vez que sea necesaria su autenticacioacuten Esto puede resultar tedioso en tareas complejassobre todo si se dilatan en el tiempo Para solucionarlo GSI introduce el concepto de dele-gacioacuten Este mecanismo permite al usuario asignar un proxy a la tarea deseada y evita tenerque presentar su DC cada vez que la tarea realiza una operacioacuten en su nombre Los proxies

son credenciales con un tiempo de vida muy reducido generadas por los usuarios a partir susDCs La identidad de los proxies es la misma que la de los DCs salvo una pequentildea modifi-cacioacuten que indica su naturaleza La creacioacuten de un proxy implica la generacioacuten tanto de unaclave puacuteblica como de una privada que se almacenan sin cifrar y a las que se puede accedersin contrasentildea evitando la accioacuten del usuario

Autorizacioacuten Por defecto GSI proporciona unos sistemas de autorizacioacuten muy baacutesicosde entre los que cabe destacar el sistema gestionado por el GridMap Cada recurso poseeun fichero denominado GridMap que contiene una lista que relaciona nombres de usuario(identificadores presentes en los DCs) con cuentas de usuario locales Si el usuario tiene unacuenta local entonces puede utilizar dicho recurso Es conveniente disponer de sistemas queayuden a la creacioacuten y gestioacuten de dichas listas y de las cuentas correspondientes

La ventaja es que GSI tambieacuten proporciona mecanismos para el desarrollo e integracioacutende sistemas de autorizacioacuten propios y esto seraacute aprovechado para gestionar la autorizacioacuten delos usuarios de RETELAB

MyProxy

MyProxy [86] es un repositorio on-line de certificados cuya finalidad es proporcionarproxies temporales bajo demanda para que puedan ser utilizados en cualquier momento y

32 Registro y acceso de los usuarios 37

desde cualquier lugar MyProxy puede ser utilizado para delegar credenciales a servicios queactuacuteen en lugar del usuario y es el meacutetodo maacutes habitual para delegar y usar credenciales enlos portales Grid MyProxy puede ser utilizado de dos modos diferentes

ndash Repositorio de credenciales de usuario MyProxy actuacutea como almaceacuten de los DCs y delas claves privadas de los usuarios Abstrae al usuario del uso y almacenamiento de loscertificados y permite generar proxies temporales bajo demanda Este uso implica queel usuario delega la seguridad de sus DCs en el servidor

ndash Repositorio de proxies MyProxy almacena los proxies generados por los usuarios atraveacutes de sus DCs y genera nuevos representantes con una vida maacutes corta que los origi-nales Es necesario que los usuarios generen y alojen nuevos proxies cada vez que losalmacenados caduquen

321 Autenticacioacuten y autorizacioacuten

Uno de los requisitos fundamentales para la construccioacuten del laboratorio virtual (veacutease laSeccioacuten 31) era el desarrollo de una interfaz de usuario sencilla y amigable que no demandasegrandes conocimientos tecnoloacutegicos La sencillez de un sistema debe empezar desde el regis-tro y acceso de los usuarios pero a menudo esto entra en conflicto con los requerimientos deseguridad por lo que fue necesario encontrar una solucioacuten equilibrada

La seguridad en RETELAB estaacute basada en el modulo GSI del GT4 lo que condiciona elacceso al sistema y supone que los usuarios deban disponer de un DC El proceso para obtenery emplear un DC es cuanto menos tedioso para el usuario y puede producir rechazo al usodel sistema por lo que es necesario adaptarlo para que sea maacutes coacutemodo Por otro lado esimportante que el sistema de autorizacioacuten sea sencillo de administrar pero lo suficientementepotente para responder a las siguientes preguntas

ndash iquestQuieacuten puede acceder

ndash iquestQueacute recursos puede utilizar

ndash iquestQueacute tareas puede realizar sobre un recurso concreto

Un RBAC [91] parece ser la mejor alternativa En RBAC los permisos se encuentran asociadosa roles y los usuarios son poseedores de uno o maacutes roles por lo que adquieren los permisosasociados a eacutestos Los roles permiten reflejar con mayor veracidad la estructura de una VO y el

38 Capiacutetulo 3 Proyecto RETELAB

puesto o tareas desempentildeadas por un investigador concreto dentro de ella La administracioacutendel control de acceso es considerablemente maacutes sencilla que si se gestiona la seguridad a nivelde usuario

Registro y Acceso

El registro y acceso de los usuarios de RETELAB se ha implementado integrando ymejorando diferentes sistemas para conseguir una solucioacuten amigable sin sacrificar la seguri-dad [76] [77] La Figura 33 muestra un diagrama en donde se aprecian los diferentes sistemasintegrados

Figura 33 Arquitectura del sistema de registro y acceso de usuarios de RETELAB

El acceso al portal puede contemplarse desde tres escenarios diferentes (veacutease la Figu-ra 34) acceso de un usuario no registrado acceso de un usuario registrado y acceso de unusuario perteneciente a una red de centros de confianza

Usuario no registrado

El registro de un nuevo usuario se realiza a traveacutes de un portlet de registro basado enel sistema PURSe [53] [2] Este sistema permite registrar a un usuario y solicitarle un DCde forma automaacutetica en el mismo momento en que enviacutea sus datos Por cada registro el

32 Registro y acceso de los usuarios 39

Usuario

Shibboleth

Recuperar

Certificados

Registro Usuario

PURSe

Usuario

Registrado

Acceder al Portal

AutenticarIdentificar

Usuario

No

No

Siacute

No

Rol

Identificar desde

Shibboleth

Auntenticar Centro Origen

Redirigir Datos Usuario

Crear Cuenta

Temporal

Rol

Generar

Certificados

Siacute

Acceso Concedido

Siacute

Figura 34 Esquema simplificado del registro y acceso de usuarios al sistema

administrador del portal recibe un aviso para que valide los datos del nuevo usuario y sies oportuno se genera el DC a traveacutes de una CA propia del sistema Los certificados y lasclaves privadas son almacenados en MyProxy e identificados con el nombre y contrasentildeaproporcionados por el usuario al registrarse

Para integrar el RBAC fue necesario implementar una mejora sobre PURSe para quepudiese dar soporte a los roles de usuario Gracias a esta mejora el administrador puedeasignar roles a los usuarios que gestionan sus accesos tanto al portal como a los recursosdel sistema La mejora realizada permite crear automaacuteticamente Certificados de Atributos(ACs) X509 con informacioacuten sobre los roles de los usuarios y almacenarlos en un aacuterbol dedirectorios Lightweight Directory Access Protocol (LDAP) para su posterior uso en la gestioacutendel acceso

Detalles de implementacioacuten La implantacioacuten de un sistema RBAC en RETELAB serealizoacute intentando que tuviese el menor impacto posible sobre el resto de los subsistemas

40 Capiacutetulo 3 Proyecto RETELAB

integrados con el objetivo de que fuese reutilizable y sencillo de instalar En el proceso seintentoacute aprovechar al maacuteximo el coacutedigo libre desarrollado por los proyectos integrados (PUR-Se PERMIS GridSphere etc) e implementar nuevas clases que sirviesen de nexo entre lasdiferentes tecnologiacuteas

Para integrar los roles con el sistema de registro PURSe fue necesario implementar variasclases Java (veacutease la Figura 35) que se encapsularon como un ARchivo Java (JAR) generarun archivo de propiedades con los datos de acceso al LDAP y antildeadir un nuevo moacutedulo deregistro en el fichero webxml de PURSe El diagrama mostrado en la Figura 35 contiene lasclases implicadas en la asignacioacuten de roles El moacutedulo de registro es el nexo con el paquetePURSe y el encargado de laquoescucharraquo los eventos y realizar las acciones consecuentes PURSeproporciona un moacutedulo de registro para integrarse con GridSphere que da de alta a los usua-rios en el portal pero ademaacutes permite antildeadir nuevos moacutedulos siempre y cuando implementenla interfaz RegistrationModule El moacutedulo RetelabRegistrationModule fue desarrollado espe-ciacuteficamente para dar soporte a los ACs Cuando un nuevo usuario es dado de alta a traveacutesde PURSe el evento es capturado y gestionado por la clase RetelabRegistrationModule Loseventos de PURSe se reciben como objetos que contienen tanto la informacioacuten de la accioacutencomo los datos del usuario Utilizando la informacioacuten personal y la traveacutes de la clase Certi-

ficateGenerator se genera un AC que es firmado por la clase RetelabSigningUtility Una vezse ha generado un AC la clase LdapConnector es utilizada para almacenarlo en el directorioLDAP Las clases dedicadas tanto a la generacioacuten como a la firma de los ACs fueron im-plementadas basaacutendose en clases de PERMIS que es el software empleado para gestionar elacceso de los usuarios registrados a los recursos a traveacutes de roles

---

----

Figura 35 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles

La solucioacuten desarrollada utiliza DCs generados por PURSe y ACs creados a traveacutes de cla-ses basadas en procedimientos empleados por PERMIS Es interesante destacar un problema

32 Registro y acceso de los usuarios 41

surgido de la integracioacuten de los dos tipos de certificados para la creacioacuten de los DCs se utili-zoacute el proveedor de Extensioacuten Criptograacutefica de Java (JCE) denominado Cryptix mientras quepara los ACs se utilizoacute el JCE IAIK Para utilizar un proveedor JCE es necesario registrarloy concretamente un error en la implementacioacuten de Cryptix impediacutea su uso en caso de quealguacuten otro proveedor fuese registrado con posterioridad Al utilizar varios JCEs se generabanerrores frecuentemente por lo que fue necesario insertar un procedimiento previo a su utiliza-cioacuten para comprobar el orden de registro y modificarlo en caso de que fuese necesario (veacuteaseel Coacutedigo A1)

Una de las ventajas de usar GridSphere como base para el desarrollo del portal fue quedisponiacutea de una serie de portlets ya desarrollados para crear portales Web baacutesicos Del nuacutecleode portlets de GridSphere cabe destacar el portlet de administracioacuten que entre otras cosaspermite crear y asignar roles a los usuarios del portal GridSphere en base a dichos rolesgestiona el uso y acceso de los usuarios a los portlets

Dado que la gestioacuten del sistema Grid tambieacuten estaacute basada en roles y con el objetivo dedesarrollar un sistema de administracioacuten sencillo y usable se implementoacute una mejora sobreel sistema de administracioacuten de GridSphere para dar soporte a los ACs De este modo unadministrador puede gestionar los roles tanto del portal como del sistema Grid desde un puntouacutenico ya que en el momento en que un rol es asignado el AC correspondiente es creado yalmacenado automaacuteticamente en el directorio LDAP

Para dar soporte a los ACs fue necesario modificar la clase de GridSphere UserManager-

Portlet El fragmento de Coacutedigo A2 muestra los cambios realizados en el meacutetodo que antildeadeusuarios a GridSphere

Usuario registrado

Los usuarios con cuenta en RETELAB pueden acceder al portal autenticaacutendose en unportlet dedicado a tal fin Una vez que el usuario es identificado el sistema utiliza su nom-bre y contrasentildea para recuperar sus credenciales almacenadas Las acciones que el usuariopuede realizar sobre el sistema estaacuten guiadas por su rol y una poliacutetica de autorizacioacuten basa-da en un modelo RBAC PERMIS [28] [27] es el sistema de autorizacioacuten basado en rolesutilizado para gestionar el acceso de los usuarios a los servicios Grid Su integracioacuten con elGT4 se realiza gracias a que eacuteste permite configurar para cada servicio Grid una secuenciade mecanismos de autorizacioacuten denominados Policy Decision Point (PDP) PERMIS puededesplegarse como un PDP para antildeadir un control basado en roles al sistema Para gestionar

42 Capiacutetulo 3 Proyecto RETELAB

la autorizacioacuten de la ejecucioacuten de tareas en un recurso especiacutefico de acuerdo a un rol esnecesario modificar la poliacutetica de autorizacioacuten del meacutetodo createManagedJob en el ficheromanaged-job-factory-security-configxml y antildeadir el PDP de PERMIS como se muestra en elfragmento de Coacutedigo A3

El control de acceso de un usuario a un servicio o recurso Grid se realiza desde 3 puntoscomo puede verse en la Figura 36

1 Se comprueba si el usuario posee un rol suficiente para acceder a un determinadoportlet

2 Se comprueba que el usuario tenga un DC activo en el portal

3 Si el usuario invoca un servicio Grid PERMIS comprueba su rol y dependiendo de lapoliacutetica de seguridad del recurso solicitado se permite o no su uso

Figura 36 Esquema del control de acceso basado en roles de RETELAB

32 Registro y acceso de los usuarios 43

Acceso confiable

Actualmente y debido a la gran proliferacioacuten de sistemas a traveacutes de Internet cada personagestiona multitud de cuentas y registros lo que supone recordar una gran cantidad de nombresy contrasentildeas En muchos casos se acaba sacrificando la seguridad anotando las contrasentildeaso utilizando siempre los mismos datos para facilitar la tarea

Shibboleth [83] es un software que proporciona un sistema de autenticacioacuten Single-Sign

On (SSO) a traveacutes de la Web Esto significa que permite acceder a varios sistemas indepen-dientes a traveacutes de una uacutenica identificacioacuten Shibboleth se basa en una red confiable de sociosen los que cada uno tiene su propio sistema de autenticacioacuten A grandes rasgos su funciona-miento es el siguiente cuando un usuario perteneciente a uno de los centros de la red quiereacceder a un sistema de otro centro eacuteste uacuteltimo lo redirige al sistema de autenticacioacuten delcentro de origen Una vez que el usuario es autenticado el centro de origen manda los da-tos personales al centro de destino que permite o deniega el acceso en base a la informacioacutenrecibida

La integracioacuten de Shibboleth con RETELAB tiene como punto de partida la solucioacutendisentildeada por el grupo Meta Access Management System (MAMS) para su utilizacioacuten junto aGridSphere En RETELAB se ha partido de la versioacuten de MAMS y se ha desarrollado unamejora para registrar y generar automaacuteticamente los DCs y ACs de los usuarios que accedan atraveacutes de esta opcioacuten Los datos para generar los certificados deberaacuten ser enviados por el centroque lo autentica La secuencia de pasos para acceder a RETELAB a traveacutes de Shibboleth esla siguiente

1 El usuario accede a RETELAB a traveacutes del portlet de acceso de Shibboleth

2 El sistema muestra al usuario una lista con los centros asociados para que seleccione acuaacutel pertenece

3 El sistema redirige al usuario al sistema de autenticacioacuten correspondiente

4 Una vez que el sistema externo autentica al usuario eacuteste es redirigido nuevamente alportal de RETELAB junto con sus datos personales (nombre rol etc)

5 RETELAB utiliza la informacioacuten recibida para generar las credenciales del usuarionecesarias incluyendo el AC para utilizar el sistema

44 Capiacutetulo 3 Proyecto RETELAB

Para la integracioacuten de los DCs y ACs en el procedimiento de SSO se actuoacute principal-mente en la clase GridSphereServlet Esta clase fue previamente modificada en el proyectoMAMS para crear usuarios Shibboleth en el portal GridSphere y en el caso de RETELABse incorporaron los meacutetodos necesarios para la gestioacuten de los DCs y ACs El coacutedigo para lacreacioacuten y almacenamiento del los DCs asociados a los usuarios de Shibboleth se muestra enel Coacutedigo A4 mientras que el procedimiento para la creacioacuten de los ACs se presenta en elCoacutedigo A5

La inclusioacuten de Shibboleth en el sistema de RETELAB permite que los socios del proyectoque deseen integrarse en una Red de confianza puedan autenticarse a traveacutes de sus sistemasinternos sin necesidad de registrarse en el portal

33 Sistema de almacenamiento distribuido

El sistema de almacenamiento de RETELAB [75] [80] fue disentildeado para gestionar gran-des colecciones de datos provenientes de la teledeteccioacuten y de los propios proyectos ocea-nograacuteficos En RETELAB el concepto de dato debe entenderse como un fichero binario querepresenta un producto obtenido a traveacutes de un sensor o generado a traveacutes de un proceso deanaacutelisis de datos previos Este tipo de productos requiere un considerable espacio en disco porlo que su almacenamiento masivo es una tarea complicada que no puede ser resuelta utilizan-do DBs tradicionales La computacioacuten Grid puede afrontar este reto a traveacutes de un Data Grides decir un sistema de almacenamiento distribuido entre los diferentes recursos del Grid RE-TELAB no pretende ser soacutelo una herramienta para el almacenamiento y procesamiento sinoque busca ser un medio para compartir conocimiento entre la comunidad oceanograacutefica porello debe proporcionar procedimientos a los usuarios que de forma sencilla permitan pu-blicar y compartir los resultados de sus investigaciones Estos procedimientos deberiacutean estarbasados en el uso de metadatos para describir los productos almacenados y asiacute facilitar losprocesos de localizacioacuten y distribucioacuten de los mismos

Los metadatos son datos que describen el contenido de otros datos Funcionan de formasimilar a un iacutendice para localizar objetos A cada objeto se le asigna una laquoficharaquo que lo des-cribe a traveacutes de varios campos y que es utilizada para localizarlo dentro de un almaceacuten Unejemplo clarificador seriacutea el de las fichas de los libros en una biblioteca En RETELAB ca-da dato almacenado tiene asociado un conjunto de pares campo-valor que lo describen y queayudan a realizar buacutesquedas maacutes concretas a traveacutes de las colecciones de datos Los metadatos

33 Sistema de almacenamiento distribuido 45

pueden estar almacenados de forma interna incrustados dentro del propio dato al que describe(cabecera) o en un almacenamiento externo

Figura 37 Arquitectura del Data Grid desplegado en RETELAB

La arquitectura de la solucioacuten implementada que puede verse en la Figura 37 estaacute forma-da por tres capas la capa inferior que contiene a los recursos del Grid almacena las coleccio-nes de datos la capa intermedia o middleware integra las diferentes tecnologiacuteas que formanel nuacutecleo del sistema y por uacuteltimo la capa superior proporciona la interfaz de usuario paraacceder al sistema de almacenamiento

Las tecnologiacuteas presentes en la capa de middleware son las encargadas de gestionar elalmacenamiento de RETELAB El nuacutecleo del Data Grid lo forma el servicio de GT4 deno-minado Replica Location Service (RLS) Los elementos almacenados estaacuten identificados porun Nombre Loacutegico de Fichero (LFN) y cada uno de ellos tiene asociado lsquoNrsquo Nombres Fiacutesicosde Ficheros (PFNs) es decir las diferentes rutas donde estaacute almacenado ya que puede estarreplicado Por lo tanto el servicio laquoconoceraquo la localizacioacuten especiacutefica de cada dato dentrode RETELAB relacionando LFNs con PFNs El RLS funciona gracias a dos subsistemas el

46 Capiacutetulo 3 Proyecto RETELAB

Local Replica Catalog (LRC) y el Replica Location Index (RLI) Por un lado cada recursodel Data Grid de RETELAB tiene desplegado un LRC con un listado que relaciona los LFNscon los PFNs almacenados en ese recurso y por otro lado RETELAB posee un RLI que deforma centralizada relaciona los LFNs con los diferentes LRCs donde estaacuten almacenados Estarea de cada LRC informar al RLI de las colecciones de datos que gestiona

Para describir correctamente los datos es necesario disponer de un conjunto de metadatosque permita reflejar todas sus caracteriacutesticas y particularidades RETELAB ha utilizado el es-taacutendar para metadatos geoespaciales ISO 19115 [7] Este estaacutendar proporciona un conjuntode metadatos orientado a describir datos geoespaciales aportando informacioacuten sobre la iden-tificacioacuten la extensioacuten la calidad el modelo espacial y temporal la referencia espacial y ladistribucioacuten de dichos datos

El almacenamiento y gestioacuten de los metadatos se hizo de forma externa al propio dato(la alternativa seriacutea agregarlos en la propia cabecera) y centralizada empleando el Metadata

Catalog System (MCS) [100] El MCS es un servicio del GT4 que proporciona un cataacutelogode metadatos a traveacutes de una interfaz que cumple con el estaacutendar de OGSA Este cataacutelogopermite describir datos a traveacutes de metainformacioacuten OGSA-DAI [17] que proporciona unainterfaz OGSA para el acceso a ficheros XML y DBs relacionales puede integrarse con elMCS para proporcionarle la capacidad de almacenamiento de los metadatos asiacute como losmecanismos de autenticacioacuten propios de un Grid

El sistema de almacenamiento fue integrado en el portal Grid para que el usuario pudieseutilizarlo a traveacutes de los diferentes portlets desplegados El proceso de acceso y recuperacioacutende un archivo almacenado se resume en la Figura 38 e incluye los siguientes pasos

1 El usuario utilizando metadatos realiza una consulta a traveacutes del portlet correspon-diente

2 El sistema consulta el MCS para obtener los nombres loacutegicos cuyos metadatos se ajus-tan a la consulta de usuario

3 El sistema consulta al RLI para saber queacute LRCs gestionan los datos relacionados conlos alias obtenidos

4 El sistema consulta a los LRCs las direcciones fiacutesicas vinculadas a los LFN

33 Sistema de almacenamiento distribuido 47

5 A traveacutes de la direccioacuten fiacutesica el sistema puede mover los datos utilizando por ejemploel servicio GridFTP [13] El GridFTP que es parte del GT4 se basa en el protocolo FTPpara proporcionar transferencias de datos seguras robustas raacutepidas y eficientes

Figura 38 Secuencia resumida de acciones para buscar y acceder a los datos almacenados

Los usuarios no soacutelo pueden buscar y utilizar las colecciones de datos del sistema sinoque pueden publicar los resultados de sus trabajos asignaacutendoles una lista de metadatos quelos describan Ademaacutes cada usuario dispone de un espacio virtual propio donde puede des-cargar datos para editarlos y cuando esteacuten listos subirlos y compartirlos con el resto de lacomunidad La integracioacuten del Data Grid con el sistema de enviacuteo de trabajos se detalla en laSeccioacuten 351

Detalles de implementacioacuten Para facilitar la integracioacuten de la DB con los portlets sedesarrolloacute y empaquetoacute en un JAR un conjunto de clases que proporcionan las herramientaspara la gestioacuten de la DB virtual Cada portlet que quisiese emplear la DB soacutelo necesitabaincorporar el JAR entre sus libreriacuteas El paquete es descrito a traveacutes del diagrama de clasessimplificado de la Figura 39 Las clases implementadas interactuacutean con las clases proporcio-nadas por el GT4

48 Capiacutetulo 3 Proyecto RETELAB

Figura 39 Diagrama de clases simplificado en el que se presentan las clases utilizadas para desarrollar lasoperaciones sobre la DB virtual

El desarrollo de las clases para la gestioacuten de la DB tuvo varias dificultades y entre ellases interesante destacar dos [80]

ndash Integracioacuten de OGSA-DAI y el MCS GT proporciona libreriacuteas para gestionar el MCSconcretamente la clase DaiMCSClient es una implementacioacuten de un cliente para conec-tarse al MCS sobre OGSA-DAI Esta clase hace uso de otra llamada GenericServiceFet-

cher que se encarga de instanciar clases que implementan interfaces para comunicarsecon los diferentes servicios de datos GenericServiceFetcher se conecta con un servicioa traveacutes de una URL y recupera el WSDL que lo describe El anaacutelisis del WSDL lepermite determinar la distribucioacuten de OGSA-DAI empleada para implementarlo y asiacuteinstanciar la interfaz adecuada El coacutedigo utilizado para recuperar el WSDL intenta rea-lizar una conexioacuten a una URL pero sin especificar la clase responsable para gestionardicha conexioacuten Si la clase responsable no estaacute definida de forma expliacutecita se asignauna en tiempo de ejecucioacuten que depende del protocolo usado para la conexioacuten CuandoGenericServiceFetcher forma parte de un software de escritorio funciona correctamente

33 Sistema de almacenamiento distribuido 49

pero en un entorno J2EE debido a la forma de cargar las clases en memoria que usa elTomcat no encuentra la clase responsable adecuada Fue necesario modificar y hacerexpliacutecito la clase que debiacutea cargar en la conexioacuten modificando la clase GenericService-

Fetcher (veacutease el Coacutedigo A6)

ndash Gestioacuten de proxies cuando un usuario se autentica en el portal el sistema obtiene auto-maacuteticamente un proxy de su DC del repositorio MyProxy El GT proporciona libreriacuteaspara gestionar dicho proxy y definirlo como el DC por defecto para que sea empleadoen las autenticaciones El problema surge con el servicio RLS que necesita que el DCesteacute almacenado fiacutesicamente en un directorio local Para solucionarlo se desarrolloacute unprocedimiento de conexioacutenvalidacioacuten con la DB que fijaba el DC por defecto para quefuese utilizado por los servicios que lo requiriesen y ademaacutes fuera almacenado localy temporalmente para que el RLS pudiese usarlo en la autenticacioacuten El procedimientoempleado se detalla en el Coacutedigo A7

331 Almacenamiento de datos

Se han desarrollado diferentes procedimientos para introducir datos en el sistema de al-macenamiento de RETELAB que cubren las diferentes necesidades de sus usuarios

Almacenamiento de datos locales Se ha habilitado un sistema de transferencia y al-macenamiento de datos locales (veacutease la Figura 310) que permite a los usuarios compartirdatos con la comunidad Para transferir los datos el usuario debe seleccionar el producto desu computadora que desea compartir asignarle un LFN y describirlo a traveacutes de metadatosescogidos a traveacutes de una lista confeccionada a partir del estaacutendar ISO 19115

Almacenamiento de datos viacutea FTP En el campo de la observacioacuten de la Tierra eshabitual que los usuarios utilicen datos almacenados en servidores FTP externos para susproyectos Se ha implementado un portlet (veacutease la Figura 311) que permite el acceso a dichosservidores para copiar y transferir datos a RETELAB El usuario debe introducir sus datos deacceso navegar a traveacutes del aacuterbol de directorios del servidor FTP seleccionar los elementosque quiere antildeadir y describirlos a traveacutes de metadatos Si los datos estaacuten comprimidos puedeestablecerse el tipo de compresioacuten para que eacutestos sean desempaquetados automaacuteticamenteantes de almacenarse

50 Capiacutetulo 3 Proyecto RETELAB

Figura 310 Portlet para el almacenamiento de datos locales en RETELAB

Almacenamiento de datos generados en RETELAB Los datos generados tras la eje-cucioacuten de una tarea en RETELAB pueden compartirse con el resto de la comunidad a traveacutesdel sistema de almacenamiento (veacutease la Figura 312) El usuario puede visualizar los datos desalida y seleccionar los que desee antildeadir al Data Grid y al igual que en el resto de los casospodraacute ir antildeadiendo los metadatos que considere necesarios para describir cada elemento

Inicializacioacuten del Data Grid La introduccioacuten de nuevos elementos en el sistema de al-macenamiento se hace por defecto de uno en uno a traveacutes de un portlet dedicado pero estono es asumible en el momento de desplegar el sistema ya que es necesario dar de alta grandescolecciones de datos Se desarrolloacute un sistema de registro automaacutetico de datos a traveacutes de fi-cheros XML que indicaban rutas alias y metadatos para cada elemento Este procedimiento esde uso exclusivo del administrador y permite dar de alta automaacuteticamente grandes voluacutemenesde datos

Con el doble propoacutesito de probar el proceso para la inicializacioacuten del Data Grid y el deproporcionar suficientes recursos para poder ejecutar los proyectos que validariacutean el laborato-rio (veacutease la Seccioacuten 36) se dieron de alta varias colecciones de datos

ndash Una coleccioacuten de imaacutegenes SAR correspondientes por un lado al Golfo de Meacutexicoy por otro a la costa noroeste de la Peniacutensula Ibeacuterica asiacute como los datos de viento

33 Sistema de almacenamiento distribuido 51

Figura 311 Portlet para la integracioacuten de datos externos en el sistema

asociados a eacutestas en formato Network Common Data Form (NetCDF) Estos productosfueron empleados para desarrollar y validar el proyecto de SENTINAZOS (veacutease laSeccioacuten 363)

ndash Una coleccioacuten de datos en NetCDF empleada para desarrollar la aplicacioacuten para elcaacutelculo de la PP (veacutease la Seccioacuten 363) que incluiacutea

bull Datos de temperatura superficial del mar provenientes de los sensores AVHRR yMODIS

bull Datos sobre la concentracioacuten de clorofila provenientes de los sensores MODIS ySeaWIFS

bull Datos sobre la radiacioacuten solar disponible para el caacutelculo de la fotosiacutentesis estima-dos por la NASA

Cada producto almacenado fue etiquetado con un conjunto de metadatos para describirlo yasiacute facilitar su posterior identificacioacuten y buacutesqueda

El formato NetCDF [93] ha sido ampliamente utilizado en RETELAB debido a su popu-laridad dentro de la comunidad cientiacutefica Es utilizado regularmente en aplicaciones relacio-

52 Capiacutetulo 3 Proyecto RETELAB

Figura 312 Resultados de la ejecucioacuten de un trabajo en el Grid El usuario puede visualizarlos y revisarlos yoantildeadirlos al Data Grid previa descripcioacuten usando metadatos

nadas con la climatologiacutea meteorologiacutea o la oceanografiacutea para el intercambio de datos esdecir como formato de entradasalida

34 Visualizacioacuten de los datos

Se han integrado dos tipos de visores en RETELAB para la visualizacioacuten de los datosbien para validar las buacutesquedas bien para el anaacutelisis de los resultados tras ser procesados

341 Live Access Server

Un Live Access Server (LAS) [101] es un servidor con la capacidad de conectarse a ser-vidores externos OPeNDAP [32] para el acceso e intercambio de datos Estaacute disentildeado paraproporcionar acceso a datos cientiacuteficos georreferenciados y trabajar con informacioacuten prove-niente de distintos servidores como si fuese una uacutenica DB

Un LAS permite generar graacuteficos de forma dinaacutemica solicitar fragmentos de datos en unavariedad de formatos comparar variables almacenadas en DBs diferentes y generar estadiacutesti-cas baacutesicas La herramienta de visualizacioacuten por defecto es Ferret software de coacutedigo abiertoespecialmente dirigido a trabajar con datos georreferenciados y que permite crear datos cien-

34 Visualizacioacuten de los datos 53

tiacuteficos y proporciona una poderosa herramienta de anaacutelisis Una de las grandes ventajas de unLAS es que cualquier usuario puede acceder a traveacutes de un simple navegador

Se desplegoacute un LAS en RETELAB y se integroacute dentro del portal a traveacutes de un portlet conun Iframe elemento HTML que permite empotrar un documento HTML dentro de otro eneste caso se utilizoacute para incrustar la interfaz Web del LAS como puede verse en la Figura 313

Figura 313 Integracioacuten del Live Access Server en RETELAB

342 Integrated Data Viewer

El Integrated Data Viewer (IDV) [84] desarrollado por Unidata es una herramienta soft-ware implementada en Java que permite visualizar y analizar datos geocientiacuteficos Para in-tegrar IDV en el sistema se desarrolloacute un procedimiento que por cada elemento recuperadotras una consulta a la DB o por cada resultado producido por la ejecucioacuten de un trabajogenera dinaacutemicamente un enlace a un fichero Java Networking Launching Protocol (JNLP)La descarga por medio del enlace de este fichero inicia previa confirmacioacuten del usuario lainstalacioacuten temporal del software IDV La instalacioacuten se realiza de forma automaacutetica y trans-parente gracias a JavaWS y una vez finalizada IDV es cargado con los datos asociados alenlace El uacutenico requisito para su utilizacioacuten es disponer del Entorno de Ejecucioacuten de Java(JRE) que incluye al propio JavaWS

54 Capiacutetulo 3 Proyecto RETELAB

La Figura 314 muestra una composicioacuten de coacutemo un usuario podriacutea acceder a un ficheroNetCDF almacenado en su directorio virtual y visualizarlo a traveacutes del IDV de forma automaacute-tica

Figura 314 Integracioacuten del IDV en RETELAB

35 Gestioacuten y monitorizacioacuten de trabajos

A pesar de que el CESGA fue el principal desarrollador del moacutedulo de enviacuteo y monito-rizacioacuten de trabajos su descripcioacuten en el documento es necesaria debido a que es una partefundamental de RETELAB y se ha colaborado activamente en su integracioacuten con el resto delos moacutedulos del sistema

Existen diferentes alternativas que permiten a los usuarios enviar trabajos a un sistemaGrid pero requieren la interaccioacuten del usuario para por ejemplo decidir a queacute recurso delGrid se enviacutean las tareas lo que implica conocer su arquitectura La interaccioacuten con el usuarioresta transparencia y complica el proceso

Como se ha mencionado en varias ocasiones RETELAB ha sido disentildeado teniendo comopremisa la facilidad de uso por lo que el sistema de enviacuteo y monitorizacioacuten de trabajos fuedesarrollado para que permitiese a los usuarios configurar ejecutar monitorizar y recuperar

35 Gestioacuten y monitorizacioacuten de trabajos 55

los resultados sin necesidad de conocer detalles de implementacioacuten del sistema Grid Estenivel de abstraccioacuten se consiguioacute principalmente gracias a la integracioacuten de un metaplanifi-cador que optimiza el uso de los recursos compartidos y realiza tareas para el descubrimientode recursos planificacioacuten de tareas ejecucioacuten monitorizacioacuten y recuperacioacuten de trabajos

RETELAB incorporoacute un portlet para el enviacuteo y monitorizacioacuten de trabajos que interactuacuteacon el metaplanificador GridWay [64] [65] a traveacutes del API de Distributed Resource Ma-

nagement Application (DRMAA) [112] La eleccioacuten de Gridway como metaplanificador sebasoacute en varias de sus caracteriacutesticas permite interoperar con diferentes middleware Grid tie-ne soporte para DRMAA y permite enviar trabajos empleando el estaacutendar Job Submission

Description Language (JSDL) [16] Un esquema resumido de la arquitectura utilizada para elenviacuteo y monitorizacioacuten de trabajos puede verse en la Figura 315

Figura 315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten de trabajos en RETELAB

Detalles de implementacioacuten La integracioacuten del metaplanificador con el portal Web fuebastante laboriosa ya que Gridway fue originalmente concebido para ser empleado por usua-rios Unix a traveacutes de CLI o de aplicaciones DRMAA Tal y como estaba originalmente dise-ntildeado GridWay utilizaba el mismo proceso de Unix y el mismo proxy para todos los trabajosque se lanzaban desde la misma cuenta de usuario La identificacioacuten y el acceso de usuarios

56 Capiacutetulo 3 Proyecto RETELAB

de RETELAB no se basa en cuentas de Unix sino que son identificados por su proxy y su AC(veacutease la Seccioacuten 32) Todos los usuarios de RETELAB utilizan la misma cuenta de Unix anivel de recurso de Grid lo que lo hace incompatible con el disentildeo de GridWay Fue nece-sario implementar junto con el equipo de desarrollo del GridWay una versioacuten mejorada delmetaplanificador [33] que manteniendo la compatibilidad con el estaacutendar DRMAA permi-tiese identificar a los usuarios no soacutelo por su cuenta Unix sino tambieacuten por el identificadorpresente en el DC X509

351 Integracioacuten con el sistema de almacenamiento distribuido

El portlet para el enviacuteo de trabajos estaacute totalmente integrado con el Data Grid lo que per-mite por un lado utilizar los datos almacenados en RETELAB como paraacutemetros de entradaen los trabajos de usuario y por otro publicar y compartir los resultados de los trabajos conla comunidad

Test-1

aware

Figura 316 Integracioacuten del espacio de almacenamiento privado del usuario con el portlet de enviacuteo de trabajos

Los paraacutemetros de entrada para un trabajo pueden ser antildeadidos desde el directorio privadode un usuario como puede verse en la Figura 316 o desde el Data Grid

En el caso de que el usuario quiera utilizar los datos almacenados en el Data Grid deberaacutehacer uso de la buacutesqueda dirigida por metadatos Los resultados que obtenga podraacuten ser visua-

35 Gestioacuten y monitorizacioacuten de trabajos 57

lizados a traveacutes del IDV y asiacute confirmar su idoneidad antes de incorporarlos a su trabajo LaFigura 317 muestra la secuencia de buacutesqueda e incorporacioacuten de datos del Data Grid comoparaacutemetros de un trabajo

a

b

Figura 317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos a) Portlet de enviacuteo de trabajos con accesoa la buacutesqueda a traveacutes de la DB virtual b)Resultados de la buacutesqueda y seleccioacuten de los paraacutemetrospara el trabajo

Una vez lanzado el trabajo al Grid RETELAB pone a disposicioacuten del usuario un portletde monitorizacioacuten de tareas (veacutease la Figura 318) en el que puede verse el estado (esperaejecucioacuten error o finalizado) de todos sus trabajos Una vez que el trabajo ha finalizado el

58 Capiacutetulo 3 Proyecto RETELAB

monitor permite acceder a los resultados del mismo visualizarlos e incluso integrarlos en elData Grid (veacutease la Figura 312) en caso de que el usuario quiera compartirlos

Figura 318 Portlet para la monitorizacioacuten de los trabajos de usuario

36 Validacioacuten del laboratorio virtual

Una vez finalizado el desarrollo del laboratorio virtual fue probado desplegando variasaplicaciones desarrolladas en entornos de investigacioacuten en el aacuterea de la oceanografiacutea La in-tegracioacuten de estas aplicaciones sirvioacute para validar el sistema y para proporcionar softwareespecializado a la comunidad Todas las aplicaciones desplegadas estaacuten completamente inte-gradas en el portal por lo que hacen uso del sistema de autenticacioacuten del Data Grid y de lagestioacuten y monitorizacioacuten de trabajos

De entre las aplicaciones que a continuacioacuten se van a describir el Regional Ocean Mo-

del System (ROMS) y el modelo de produccioacuten primaria son aplicaciones desarrolladas porterceros que fueron adaptadas para ser ejecutadas en RETELAB mientras que el proyectoSENTINAZOS es un desarrollo propio concebido para solucionar un problema concreto quepor su entidad alcance y necesidad de investigacioacuten adicional del estado del arte es descritoen detalle en la segunda parte del presente documento

361 ROMS

ROMS [98] es un modelo de circulacioacuten oceaacutenica de nueva generacioacuten especialmente di-sentildeado para simular de manera precisa sistemas oceaacutenicos regionales La Figura 319 muestra

36 Validacioacuten del laboratorio virtual 59

un ejemplo de una simulacioacuten de la temperatura superficial oceaacutenica en la costa noroeste dela peniacutensula Ibeacuterica

Figura 319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten empleando ROMS

ROMS fue desarrollado en Fortran 9095 e implementa ademaacutes del meacutetodo en serie dosmeacutetodos de paralelizacioacuten [114] Message Passing Interface (MPI) y Open Multiprocessing

(OpenMP) mutuamente excluyentes Una caracteriacutestica del modelo es que todas sus entradasy salidas se basan en el formato NetCDF lo que facilita compartir los datos entre los usuariosy otras aplicaciones

El portlet que integra ROMS en el laboratorio fue desarrollado junto con el CESGA ypermite definir y ejecutar instancias del modelo Los usuarios a traveacutes de la interfaz Webpueden configurar los paraacutemetros de las simulaciones seleccionar los datos de entrada a traveacutesdel Data Grid monitorizar el estado de sus trabajos y cuando esteacuten finalizados recuperar losresultados En esta versioacuten es el usuario en el momento de la configuracioacuten quien debeseleccionar el modo de ejecucioacuten de la aplicacioacuten ya sea en serie o en paralelo viacutea OpenMPo MPI

60 Capiacutetulo 3 Proyecto RETELAB

362 Caacutelculo del modelo de produccioacuten primaria

RETELAB debiacutea poder integrar aplicaciones realizadas por los propios centros asociadosal proyecto por lo que se adaptoacute a traveacutes de un portlet un modelo realizado por el ICCMpara el caacutelculo de la Produccioacuten Primaria (PP) oceaacutenica

La PP puede definirse como la generacioacuten de componentes orgaacutenicos a partir del CO2 querealizan los organismos autoacutetrofos a traveacutes de los procesos de fotosiacutentesis o quimiosiacutentesis Esun mecanismo clave que permite a los oceacuteanos a traveacutes del fitoplancton ser los pulmones delplaneta ya que gracias a la PP se genera cerca del 50 de la produccioacuten global de oxiacutegeno yse captura alrededor de la mitad del CO2 mundial El caacutelculo de este paraacutemetro es fundamentalpara comprender el papel que juega el ciclo del carbono en el sistema climaacutetico mundial

Los llamados modelos biooacutepticos son los meacutetodos maacutes utilizados para el caacutelculo a granescala de la PP Estos modelos se basan en informacioacuten obtenida a traveacutes de sateacutelites queincluye entre otros datos informacioacuten sobre las biomasas de fitoplancton y de la luminosidadoceaacutenica En concreto el modelo implementado para RETELAB es una adaptacioacuten del Verti-cally Generalised Production Model (VGPM) desarrollado por Berhefeld y Falkowsky [20]

El portlet implementado permite definir los paraacutemetros de entrada al modelo y ejecutarloen el sistema Grid Los paraacutemetros esperados para un correcto funcionamiento son la tempe-ratura superficial oceaacutenica la concentracioacuten de clorofila y los datos sobre la radiacioacuten dispo-nible para fotosiacutentesis La Figura 320 muestra una composicioacuten que ilustra la visualizacioacutende resultados del caacutelculo de PP una vez lanzada la tarea en el sistema Grid

363 SENTINAZOS

Despueacutes de haber integrado y adaptado aplicaciones desarrolladas por terceros se afrontoacuteel reto de implementar una desde cero que aprovechase el sistema y ademaacutes fuese uacutetil para lacomunidad en un problema de difiacutecil solucioacuten como es la deteccioacuten semiautomaacutetica de con-taminantes marinos basados en hidrocarburos La contaminacioacuten marina es un problema quehabitualmente afecta a nuestras costas y que a menudo se relaciona con grandes cataacutestrofesde petroleros Sin embargo en un mayor porcentaje es originada por pequentildeos derrames quebien sea de forma fortuita debido a pequentildeos accidentes o bien sea de forma premeditada acausa de tareas de mantenimiento se producen diariamente Los centros de vigilancia ma-riacutetima invierten una gran cantidad de recursos en la vigilancia y persecucioacuten de estos actospero cubrir toda la superficie costera es una tarea inabarcable Los sateacutelites aportan la cober-

36 Validacioacuten del laboratorio virtual 61

Figura 320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data Grid y el sistema devisualizacioacuten de IDV

tura necesaria para el estudio y monitorizacioacuten de grandes aacutereas y concretamente estudiosprevios [25] [110] demostraron la viabilidad del uso de las imaacutegenes SAR de sateacutelites en ladeteccioacuten de este tipo de contaminantes

El objetivo es desarrollar una aplicacioacuten que permita el anaacutelisis de imaacutegenes de SAR paradetectar hidrocarburos e integrarla en RETELAB ya que esto proporcionariacutea ciertas ventajascomo

ndash Distribuir el almacenamiento de las imaacutegenes SAR

ndash Compartir las colecciones de imaacutegenes que cada centro disponga con el resto de parti-cipantes del proyecto

ndash Optimizar los algoritmos ya que tienen una gran carga computacional que en granmedida estaacute asociada a los bucles que las analizan y que son candidatos a ser paraleli-zados

ndash Ejecutar diferentes instancias de la aplicacioacuten al mismo tiempo aprovechando los dife-rentes recursos del sistema y asiacute analizar simultaacuteneamente diferentes aacutereas de la costa

62 Capiacutetulo 3 Proyecto RETELAB

Aunque la bibliografiacutea muestra que existen algoritmos similares para la deteccioacuten de ver-tidos eacutestos suelen presentar uno o varios de los siguientes problemas

ndash Requieren la presencia activa de un operador

ndash El coste computacional es demasiado alto para su uso en tiempo real

ndash Las implementaciones se basan en libreriacuteas comerciales con licencias privativas

ndash No tienen en cuenta los efectos de los fenoacutemenos meteoroloacutegicos principalmente elviento en la deteccioacuten de los vertidos

Debido a la complejidad de los algoritmos desarrollados la segunda parte de la tesis estaacutededicada a describirlos en detalle y resaltar el caraacutecter innovador de los mismos

Parte II

Validacioacuten del Laboratorio Virtualavances en la deteccioacuten automaacutetica de

vertidos de hidrocarburos

CAPIacuteTULO 4

ESTADO DEL ARTE

Introduccioacuten

Aunque existen muchos tipos de contaminantes los vertidos de hidrocarburos son pro-bablemente los que maacutes afectan al ecosistema marino A pesar de lo que popularmente esaceptado las grandes cataacutestrofes provocadas por los petroleros suponen una pequentildea parte dedicha contaminacioacuten Un estudio de la Agencia Espacial Europea (ESA) [39] reveloacute que tansoacutelo un 7 de los vertidos pueden ser atribuidos a accidentes mientras que un 45 corres-ponden a derrames que habitualmente se realizan durante operaciones de mantenimiento (porejemplo la limpieza de las sentinas) y que denominaremos sentinazos un 13 proviene defuentes naturales y el 35 restante corresponde a vertidos realizados directamente en los riacuteos

Los vertidos afectan a la economiacutea (turismo pesca etc) y al ecosistema de las regionesdamnificadas por lo que son necesarios sistemas y herramientas para su localizacioacuten Unaraacutepida identificacioacuten permitiriacutea minimizar su impacto e incluso identificar a sus causantesLos sensores que operan en el rango de las microondas comuacutenmente llamados radares handemostrado ser de gran utilidad en la deteccioacuten de vertidos de hidrocarburos

Radar El radar es un sistema de deteccioacuten activo [31] cuyo funcionamiento baacutesicamenteconsiste en el enviacuteo de un pulso de energiacutea en el rango de las microondas hacia la superficieterrestre Este haz es reflejado y retrodispersado por la superficie y parte de la energiacutea esrecogida nuevamente por la antena del radar La intensidad de la sentildeal que vuelve a la antenaes medida y grabada para posteriormente ser utilizada en la construccioacuten de una imagen de la

66 Capiacutetulo 4 Estado del arte

45

7

13

35

Sentinazos

Accidentes

Emanaciones

naturales

Riacuteos

Figura 41 Oriacutegenes de los vertidos de hidrocarburos Imagen adaptada de [39]

zona estudiada Cada piacutexel de la imagen estaacute asociado a un aacuterea sobre el terreno y almacena unvalor que representa la cantidad de energiacutea que regresa al sensor debido a la retrodispersioacuten

Tradicionalmente los buques y los aviones han sido los medios de vigilancia maacutes utili-zados en la lucha contra la contaminacioacuten oceaacutenica Por un lado los buques equipados consistemas de radar son uacutetiles para detectar contaminantes en sus proximidades y obtener mues-tras de los vertidos pero su restringida cobertura limita su eficacia por otro lado los avionesde vigilancia que utilizan sistemas de Radar Lateral Aerotransportado (SLAR) permiten vi-gilar aacutereas maacutes extensas pero su coste hace que sea poco viable emplearlos para monitorizarsuperficies de gran tamantildeo de forma intensiva y simultaacutenea En resumidas cuentas tanto losbuques como los aviones son adecuados como medios de primera intervencioacuten pero seriacuteadeseable un sistema maacutes econoacutemico con mayor cobertura

El uso de sistemas de radar instalados a bordo de sateacutelites permite abarcar aacutereas muchomaacutes extensas y a un coste razonable pero su resolucioacuten espacial no es adecuada para la buacutes-queda de pequentildeos derrames de hidrocarburos La resolucioacuten es la habilidad para distinguirdos objetos separados por la miacutenima distancia posible Si la distancia entre los objetos essuficiente cada uno de ellos estaraacute localizado en una celda de la imagen diferente y seraacuten dis-tinguibles en caso contrario el radar devolveraacute una combinacioacuten de la energiacutea reflejada porlos dos objetos como si fuese uno soacutelo [74] Tanto el radar aerotransportado como el espacialobservan la superficie lateralmente (veacutease la Figura 42) y su resolucioacuten espacial es diferente

67

en la direccioacuten paralela a la trayectoria del sateacutelite tambieacuten denominada resolucioacuten en acimuty en la perpendicular es decir en la direccioacuten al objetivo

En la perpendicular a la trayectoria del sateacutelite el sistema puede discriminar dos objetossi la distancia entre ellos es mayor que la mitad de la anchura del pulso (pulse width) enviadoLa resolucioacuten perpendicular se calcula a traveacutes de la siguiente foacutermula

Rp =c middot τ

2=

c2 middotβ

(41)

siendo c la velocidad de la luz y τ la anchura del pulso Tambieacuten puede expresarse atraveacutes el ancho de banda del pulso (pulse bandwidth) representado por β

Normalmente los radares a bordo de sateacutelites trabajan en anchos de banda que van desdelos 10 a los 40 MHz Este rango generariacutea resoluciones que van desde los 15 a los 37 metrosque son suficientemente buenas para la deteccioacuten de vertidos El problema principal estaacute aso-ciado a la resolucioacuten en acimut es decir en la trayectoria del sateacutelite que se calcula como

Rac =λ middotdLA

(42)

siendo λ la longitud de onda d la distancia del sensor al objetivo y LA la longitud de laantena

d

A

A

B

B

Rac

Rac

800 km

d=1131 km

15deg

45deg

Trayect

oria d

el sa

teacutelit

e

Perpendicular a la trayectoria

Figura 42 Resolucioacuten espacial de un radar a bordo de un sateacutelite

68 Capiacutetulo 4 Estado del arte

Dado que la longitud de onda estaacute situada dentro de un rango determinado de microondasy que no puede haber grandes variaciones de la altura a la que orbita el sateacutelite la resolucioacutenen acimut queda directamente determinada por la longitud de la antena Obtener una oacuteptimaresolucioacuten utilizando sistemas de radar sobre plataformas espaciales implicariacutea el uso de an-tenas de enormes proporciones lo que seriacutea impracticable Empleando los datos de ejemplode la Figura 42 un radar que operase en la Banda C con una longitud de onda de 5 cm y queviajase a bordo de un sateacutelite que orbitase a 800 km de altura necesitariacutea una antena de casi 2km para conseguir una resolucioacuten de 30 m cuando el Aacutengulo de Incidencia (IA) fuese de 45

LA =005 middot1131 middot103

30= 1885m (43)

Para solucionar este haacutendicap surge un tipo especial de radar llamado SAR que permiteobtener resoluciones de pocos metros con antenas de pequentildeas dimensiones Por ejemplo laresolucioacuten del Envisat alcanzaba los 30 m empleando una antena rectangular de 13 m x 10m

SAR Los principios baacutesicos del funcionamiento del SAR solucionan la limitacioacuten deresolucioacuten del radar El SAR montado sobre una plataforma moacutevil analiza y recoge diferentesmedidas de un mismo punto durante su trayecto (Figura 43) Esto permite simular una antenade las mismas proporciones que la distancia entre la primera y la uacuteltima medicioacuten llegando aconseguir resoluciones de tan soacutelo unos pocos metros

Liacutenea de tierra

Traza

Antena virtual

Primera medicioacuten

Uacuteltima medicioacuten

Figura 43 Antena virtual generada por SAR

Las imaacutegenes SAR son complejas y difiacuteciles de interpretar y esto es debido a muacuteltiplesfactores (la superficie es estudiada lateralmente el aacutengulo de emisioacuten e incidencia del haz de

69

energiacutea variacutea la sentildeal de retorno se ve afectada por la distancia entre la antena y la superficieestudiada etc) La Figura 44 muestra un ejemplo de una imagen SAR en la que se apreciacoacutemo la intensidad no es homogeacutenea Las zonas maacutes cercanas al sateacutelite y con menor IA danlugar a niveles de intensidad maacutes altos (representados de forma maacutes clara) mientras que laszonas maacutes alejadas y con aacutengulos mayores son representadas de forma maacutes oscura debido alos bajos niveles de intensidad

Figura 44 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007)

Ademaacutes de la amplia cobertura y buena resolucioacuten que puede conseguirse con el SAR esnecesario destacar que al ser un sensor activo su funcionamiento no depende de la radiacioacutensolar y puede utilizarse durante el diacutea y la noche Ademaacutes el sensor es independiente de lacobertura nubosa ya que su haz de energiacutea en el rango de las microondas le permite atravesarlasin sufrir alteraciones

Un estudio en mayor profundidad de SAR y de sus aplicaciones puede encontrarse en [66]

Imaacutegenes SAR de la superficie oceaacutenica

La superficie del mar en condiciones moderadas de viento presenta cierta rugosidad ge-nerada por las ondas capilares Esta rugosidad provoca una retrodispersioacuten uniforme del hazde energiacutea enviado por el SAR Los vertidos de hidrocarburos asiacute como determinados fe-

70 Capiacutetulo 4 Estado del arte

noacutemenos naturales [63] como las algas el hielo o los vientos de baja intensidad suprimendichas ondas capilares provocando un aplanamiento de la zona (veacutease la Figura 45b) Estasaacutereas tienen un comportamiento especular frente al haz de energiacutea que reduce considerable-mente la cantidad de radiacioacuten retornada al sensor Los piacutexeles que representan a este tipo dezonas almacenan valores de retrodispersioacuten muy bajos lo que provoca que se visualicen comoaacutereas oscuras El efecto provocado por los distintos fenoacutemenos naturales y que es similar alde los vertidos es conocido como look-alike Si el viento que afecta a la zona del vertido essuficientemente fuerte el efecto de laquoaplanamientoraquo de los hidrocarburos es atenuado hacien-do muy difiacutecil o imposible distinguirlo del mar limpio (veacutease la Figura 45c) Por el contrariosi el aacuterea analizada estaacute afectada por vientos de baja intensidad (veacutease la Figura 45a) lasondas capilares desaparecen y el contraste entre el vertido y el mar limpio no es suficientepara distinguirlos por lo que aparecen look-alikes

Diversos estudios [40] [92] [43] han fijado la velocidad del viento miacutenima y necesariapara detectar contaminantes entre 2 y 3 ms El liacutemite superior se encuentra maacutes difuso dadoque depende del tipo de hidrocarburo y del tiempo que ha pasado desde su vertido pero podriacuteaestablecerse que a partir de 10 ms su deteccioacuten es complicada y que una velocidad de entre12 y 15 ms podriacutea ser considerada el umbral maacuteximo para poder identificar un sentinazo Lascondiciones oacuteptimas de viento se encontrariacutean en el rango de 35 a 70 ms [54]

(a) (b) (c)Vientos de baja intensidad lt3 ms Vientos moderados Vientos fuertes gt 15 ms

Figura 45 Efecto del viento en la retrodispersioacuten de un pulso SAR

71

Metodologiacuteas para la deteccioacuten de vertidos de hidrocarburos en imaacutegenes SAR

Inspeccioacuten manual La inspeccioacuten manual de las imaacutegenes SAR para la deteccioacuten desentinazos es la teacutecnica maacutes popular y maacutes sencilla de aplicar Estaacute basada en dos grandesfases

ndash Localizacioacuten de fenoacutemenos sospechosos

ndash Anaacutelisis y asignacioacuten de un grado de probabilidad (alto medio o bajo) de que seansentinazos

Aunque la mayoriacutea de los fenoacutemenos detectados pueden ser clasificados correctamente porun experto basaacutendose soacutelo en la imagen existen algunos maacutes confusos en los que el operadornecesita utilizar informacioacuten externa adicional para su correcta clasificacioacuten como puede serdatos de vientos periodo del antildeo forma caracteriacutesticas del aacuterea de observacioacuten etc

Inspeccioacuten automaacutetica La literatura muestra un gran esfuerzo en el desarrollo de siste-mas automaacuteticos y semiautomaacuteticos para la deteccioacuten de vertidos analizando imaacutegenes SARPuede encontrarse un extenso repaso a los antecedentes bibliograacuteficos tanto en el anaacutelisisde Brekke y Solberg [25] como en el de Topouzelis [110] Dichos trabajos muestran que lamayoriacutea de los sistemas despueacutes de realizar alguacuten tipo de preprocesado sobre las imaacutegenes(calibrado proyeccioacuten filtrado de ruido enmascaramiento de la tierra etc) aplican un algo-ritmo compuesto de 3 grandes fases

ndash Segmentacioacuten el objetivo es localizar aislar y extraer todas las aacutereas susceptibles deser vertidos de hidrocarburos (incluyendo los falsos positivos)

ndash Extraccioacuten de caracteriacutesticas las regiones previamente detectadas son analizadas y ca-racterizadas

ndash Clasificacioacuten analizando las caracteriacutesticas extraiacutedas y a traveacutes de un clasificador seasigna a cada candidato una etiqueta o una probabilidad de ser sentinazo o look-alike

La extraccioacuten de caracteriacutesticas y la clasificacioacuten pueden estar apoyadas por informacioacutencontextual como por ejemplo proximidad a fuentes de vertidos (plataformas petroliacuteferasbarcos etc) o datos meteoroloacutegicos La Figura 46 resume las fases principales de un sistemaautomaacutetico

72 Capiacutetulo 4 Estado del arte

Figura 46 Sistema automaacutetico para la deteccioacuten de sentinazos

Comparativa entre la inspeccioacuten automaacutetica y la inspeccioacuten manual Los sistemasmanuales presentan ciertas desventajas frente a los automaacuteticos su eficiencia depende dela experiencia del experto que analiza las imaacutegenes el ojo humano tiene dificultades paraclasificar aacutereas difusas donde las fronteras entre la mancha y el fondo no estaacuten claras eloperador tiende a sobreseleccionar piacutexeles al delinear los bordes de las manchas el tiempo deprocesamiento es claramente superior al de un sistema automaacutetico etc

La principal desventaja de los sistemas automaacuteticos respecto a los manuales tiene que vercon la confianza en los mismos Los medios de vigilancia in-situ como barcos y aviones soncostosos y limitados y aunque los sistemas automaacuteticos pueden clasificar correctamente lamayoriacutea de los sentinazos existe un pequentildeo nuacutemero de ellos que son clasificados incorrec-tamente Los sistemas de deteccioacuten automaacuteticos suelen utilizarse como una herramienta deapoyo a las decisiones donde un operario tiene la uacuteltima palabra a la hora de movilizar losmedios de vigilancia

Teacutecnicas de deteccioacuten automaacutetica de sentinazos

Los siguientes subapartados profundizan en las teacutecnicas utilizadas para desarrollar lasprincipales fases de los algoritmos de deteccioacuten

Segmentacioacuten Analizando la intensidad de la sentildeal recuperada por el sensor es posibledistinguir ciertos fenoacutemenos oceaacutenicos Como se ha visto anteriormente los sentinazos asiacutecomo otros fenoacutemenos naturales se representan en las imaacutegenes SAR con valores de baja in-

73

tensidad El objetivo de esta fase es detectar todos los posibles sentinazos siendo su resultadouna imagen binaria en la que se destacan todos los candidatos El umbral de intensidad paraque un piacutexel sea segmentado no es constante y depende de factores asociados al aacuterea estudia-da como el IA del haz del sateacutelite o las condiciones meteoroloacutegicas La segmentacioacuten es unafase fundamental dentro del algoritmo dado que si un sentinazo no es aislado en esta fase nopodraacute ser clasificado como tal en fases posteriores

La diferencia de contraste entre los candidatos y el fondo de la imagen sugiere que lasteacutecnicas basadas en umbrales pueden ser adecuadas para la segmentacioacuten por lo que tanto lasteacutecnicas de umbralizacioacuten simple [41] como las de umbralizacioacuten adaptativa [103] [104] [37]han sido ampliamente utilizadas Ademaacutes de las basadas en umbrales han sido empleadasotras teacutecnicas para la segmentacioacuten como son las redes neuronales [108] [54] las teacutecnicasbasadas en texturas [21] [72] o las basadas en deteccioacuten de bordes [29] [81]

Debido a la complejidad de la segmentacioacuten y a las dimensiones de las imaacutegenes SAReacutesta es la fase computacionalmente maacutes costosa La velocidad de ejecucioacuten del algoritmo escrucial para dar una respuesta en tiempo cuasi real Para acelerar la segmentacioacuten algunossistemas reducen la resolucioacuten radiomeacutetrica de la imagen original de 32 bits codificaacutendolaen 8 bits [90] [54] o bien analizan soacutelo pequentildeas Regiones de Intereacutes (ROIs) de la imagenprincipal que previamente han sido seleccionadas por un experto [37] otros en cambio usanfactores de escape en sus algoritmos para no procesar todos los piacutexeles de la imagen [104]

Extraccioacuten de caracteriacutesticas Una vez detectados los candidatos eacutestos son analizadosy caracterizados El vector de caracteriacutesticas deberiacutea recoger la informacioacuten necesaria parauna posterior clasificacioacuten A pesar de que existen algunos trabajos que intentan unificar elnuacutemero y tipo de caracteriacutesticas [109] [111] en general no existen estudios sistemaacuteticos sobrela extraccioacuten de caracteriacutesticas y su influencia en la clasificacioacuten y por ello su eleccioacuten sueleproducirse de forma heuriacutestica No obstante la mayoriacutea de las caracteriacutesticas utilizadas seengloban en las siguientes clases

ndash Caracteriacutesticas geomeacutetricas desde el punto de vista de la composicioacuten quiacutemica del hi-drocarburo la forma no guarda una relacioacuten directa con el vertido no obstante desdeel punto de vista de su origen estudios previos [92] muestran que la forma de los sen-tinazos es caracteriacutestica y pertenece a uno de los tipos mostrados en la Figura 47

ndash Caracteriacutesticas fiacutesicas asociadas al nivel de intensidad de los piacutexeles que forman elcandidato y a los de la superficie circundante

74 Capiacutetulo 4 Estado del arte

ndash Texturas en contraposicioacuten a las caracteriacutesticas obtenidas de cada piacutexel de forma aisla-da las texturas aportan informacioacuten sobre la correlacioacuten espacial de dichos piacutexeles enun aacuterea

ndash Informacioacuten contextual la informacioacuten exclusivamente basada en la mancha puede noser suficiente para una correcta clasificacioacuten de las aacutereas maacutes confusas y es en estepunto donde la informacioacuten contextual como la distancia a una posible fuente del ver-tido [104] o los datos meteoroloacutegicos [40] puede ser de utilidad

Figura 47 Anaacutelisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo durante el antildeo 1999 Figuraadaptada de [92]

Clasificacioacuten El objetivo de esta fase es distinguir cuaacuteles de los candidatos segmentadosson sentinazos y cuaacuteles son look-alikes (falsos positivos) utilizando para ello un clasificadorcuya entrada es el vector de caracteriacutesticas obtenido en la fase anterior La comparacioacuten enteacuterminos de eficiencia entre los distintos clasificadores existentes en la bibliografiacutea resultamuy complicada dado que cada sistema utiliza su propio conjunto de pruebas y las caracte-riacutesticas extraiacutedas de los candidatos son diferentes Es conveniente resaltar que muchos de losconjuntos de prueba utilizados no contienen sentinazos confirmados in-situ sino que han sidodetectados y clasificados por un operador de forma manual En otros muchos casos simple-mente no se especifica la forma en que fueron identificados

75

En la bibliografiacutea podemos encontrar muacuteltiples aproximaciones al problema de la clasifi-cacioacuten Las Red Neuronal Artificial (ANN) [71] y sus diferentes implementaciones han sidomuy utilizadas

ndash Frate et aacutel [37] utilizaron una DB con 600 imaacutegenes ERS de baja resolucioacuten (100 m x100 m) codificadas en 8 bits de la que se extrajeron 139 candidatos (71 sentinazos y 68look-alikes) Utilizando un clasificador basado en una ANN y a traveacutes de una validacioacutencruzada (dejando uno fuera) se clasificoacute correctamente al 82 de los sentinazos y al90 de los look-alikes

ndash Topouzelis et aacutel [108] parten de una DB de 24 imaacutegenes de alta resolucioacuten (25 m x 25m) codificadas en 8 bits De la DB se seleccionaron 159 fragmentos (90 look-alikes y69 sentinazos) La ANN utilizada clasificoacute correctamente el 91 de los sentinazos y el87 de los look-alikes

ndash Oscar Garciacutea-Pineda et aacutel [54] seleccionaron de una DB con 700 imaacutegenes Radarsatcodificadas en 8 bits dos conjuntos de entrenamiento con 14 y 10 imaacutegenes respectiva-mente y dos conjuntos de validacioacuten con 5 imaacutegenes cada uno Un primer clasificadorentrenado para distinguir los piacutexeles con hidrocarburos de los piacutexeles con mar limpiofue aplicado sobre el conjunto de 14 imaacutegenes obtenieacutendose una eficacia del 9822El segundo clasificador entrenado sobre el conjunto de 10 imaacutegenes para clasificar en-tre 3 tipos de piacutexeles (sentinazos mar limpio y bajo viento) obtuvo una eficacia del9774

Otro gran grupo de clasificadores son los basados en modelos probabiliacutesticos

ndash Solberg et aacutel [103] combinaron un modelo estadiacutestico con un sistema basado en reglase incorporaron informacioacuten contextual (datos de vientos y distancia a posibles oriacutegenesdel vertido) Aplicando el algoritmo sobre 84 imaacutegenes SAR (inspeccionadas por unoperador) y usando un meacutetodo de validacioacuten cruzada su eficacia alcanzoacute el 94 en ladeteccioacuten de sentinazos y el 99 en la de look-alikes Este modelo ha sido mejoradoen varias ocasiones

bull Solberg y Brekke [104] trabajaron con un conjunto de entrenamiento consistenteen 56 imaacutegenes del Envisat y 71 imaacutegenes del Radarsat y un conjunto de pruebacon 27 imaacutegenes del Envisat El conjunto de prueba conteniacutea 37 sentinazos con-firmados y 12110 look-alikes (obtenidos de la segmentacioacuten de las imaacutegenes)

76 Capiacutetulo 4 Estado del arte

El 994 de los look-alikes fueron clasificados correctamente mientras que laeficacia en la deteccioacuten de los sentinazos alcanzoacute el 784

bull Brekke y Solberg [26] se basaron en el modelo anterior para desarrollar un sis-tema de deteccioacuten de sentinazos en dos pasos En el primer paso emplearon unclasificador estadiacutestico normalizado con el objetivo de detectar todos los senti-nazos y en un segundo paso aplicaron un estimador de confianza que asignabauna probabilidad a cada sentinazo Su DB se componiacutea de 104 imaacutegenes EnvisatWide Swath Mode (WSM) divididas en tres subconjuntos entrenamiento (56 imaacute-genes) validacioacuten (20 imaacutegenes) y test (27 imaacutegenes) La eficacia del clasificadorfue del 927 sobre los sentinazos y del 897 con los look-alikes

ndash Fiscella et aacutel [41] realizaron una comparativa entre un clasificador de probabilidadcompuesta y uno basado en la distancia de Mahalanobis El conjunto de datos de entre-namiento estaba compuesto por 80 sentinazos y 43 look-alikes mientras que el de testque estaba analizado por un operador teniacutea 11 sentinazos 6 look-alikes y 4 indefinidosEl 818 de los sentinazos y el 100 de los look-alikes fueron correctamente clasifi-cados usando la distancia de Mahalanobis mientras que el clasificador de probabilidadcompuesto identificoacute el 909 de los sentinazos y el 67 de los look-alikes

La eficacia de los diferentes meacutetodos de clasificacioacuten es totalmente dependiente de las fa-ses previas y por tanto es difiacutecil compararlos Es necesario segmentar el candidato para poderclasificarlo siendo clave para su correcta clasificacioacuten las caracteriacutesticas seleccionadas y supoder discriminatorio Es importante tambieacuten destacar que las eficacias de algunos clasifica-dores viene dada a nivel de piacutexel [54] y las de otros a nivel de candidato [103] En generalla eficacia a nivel de piacutexel suele ser maacutes elevada dado que se evaluacutea una muestra mayor y loserrores de clasificacioacuten si son pocos quedan maacutes diluidos

CAPIacuteTULO 5

SISTEMA AUTOMAacuteTICO DE DETECCIOacuteN DE

VERTIDOS EN IMAacuteGENES DE SAR

51 Descripcioacuten del proyecto

Galicia es una regioacuten en el noroeste de Espantildea con maacutes de 1200 km de costa y aproxi-madamente 720 playas donde el mar ha jugado siempre un papel muy importante en la vidade sus habitantes La pesca y la agricultura han sido pilares fundamentales de su economiacutea yactualmente el sector turiacutestico juega tambieacuten un papel esencial Sus costas playas y las bon-dades de su gastronomiacutea particularmente la relacionada con el producto de mar (pescados ymariscos) son en buena parte culpables del incremento turiacutestico Ademaacutes se encuentran enesta regioacuten importantes astilleros y puertos tanto civiles como militares

La situacioacuten geograacutefica de Galicia convierte a sus costas en un paso obligado para buenaparte del traacutefico mariacutetimo europeo El Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF)mostrado en la Figura 51 es utilizado para dirigir y controlar este traacutensito Las viacuteas de circu-lacioacuten estaacuten empezando por la maacutes proacutexima a la costa a 217 millas naacuteuticas (40 km) 283millas naacuteuticas (524 km) 355 millas naacuteuticas (657 km) y 395 millas naacuteuticas (73 km) deCabo Fisterra Las viacuteas C y D del ESTF son usadas para navegar de norte a sur mientras quela A y B se utilizan en sentido contrario Las viacuteas B y D estaacuten reservadas para embarcacionescon mercanciacuteas peligrosas

Cada antildeo miles de buques de mercanciacuteas navegan a lo largo del ESTF y debido a lanormativa internacional todos los barcos tienen que informar de su posicioacuten al servicio de

78 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

7degW8degW9degW10degW

44degN

43degN

42degN

0 30 60 90 12015

Millas naacuteuticas130ordm

75ordm

Cabo Vilaacuten

Cabo Fisterra

Traacutefico

costero

D C B A

Figura 51 Esquema de Separacioacuten de Traacutefico de Fisterra

Traacutefico Mariacutetimo de Fisterra al cruzar las liacuteneas de demora 130 a Cabo Vilaacuten y 75 a CaboFisterra La Tabla 51 muestra el nuacutemero de informes recibidos entre los antildeos 1999 y 2009

Antildeo 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009Buques 41829 44561 44331 43209 43469 42538 43212 41942 42136 42354 40320

Tabla 51 Nuacutemero de embarcaciones identificadas en el ESTF

Este intenso traacutefico tiene graves consecuencias medioambientales en forma de accidentesy vertidos como por ejemplo el del petrolero Urquiola en 1976 o el del Mar Egeo en 1992 Sinembargo la cataacutestrofe maacutes importante y con mayor repercusioacuten ha sido la del buque petroleroPrestige que el 13 de Noviembre del antildeo 2002 sufrioacute un accidente frente a la costa gallegapara acabar hundieacutendose al cabo de seis diacuteas En la Figura 52 se observa la extensioacuten delvertido 5 diacuteas despueacutes de la cataacutestrofe La amplia cobertura cientiacutefica del accidente permitioacuteobtener multitud de datos y de informacioacuten lo que unido a un incremento de los recursoseconoacutemicos tuvo como consecuencia el desarrollo de varios proyectos para la deteccioacuten yseguimiento de grandes vertidos [90] [18] [34]

A pesar de que los medios de vigilancia y prevencioacuten se incrementaron despueacutes de la ca-taacutestrofe se descubren regularmente pequentildeos vertidos (sentinazos) provenientes de las ope-raciones de mantenimiento y limpieza de sentinas Es conveniente recordar que los pequentildeos

51 Descripcioacuten del proyecto 79

vertidos a pesar de no ser tan mediaacuteticos son la fuente de contaminacioacuten por hidrocarburosmaacutes importante (veacutease la Figura 41)

8deg30W9degW9deg30W10degW10deg30W

44degN

43deg30N

43degN

42deg30N

42degN

0 10 20 30 405

Millas naacuteuticas

Figura 52 Imagen SAR del vertido provocado por el accidente del buque petrolero Prestige (17112002)

La Agencia espantildeola de Salvamento y Seguridad Mariacutetima (SASEMAR) es la autoridadpuacuteblica encargada de monitorizar las costas gallegas en general y el ESTF en particular SA-SEMAR como se observa en la Figura 53 cuenta con varias bases de vigilancia en Galiciay con recursos tanto marinos como aeacutereos para efectuar la monitorizacioacuten y la vigilancia Eluso de buques y aviones es costoso y limitado por lo que el acuerdo suscrito con la Agen-cia Europea de Seguridad Mariacutetima (EMSA) para recibir hasta un maacuteximo 12 avisos al mesprovenientes de la inspeccioacuten de imaacutegenes SAR sobre posibles vertidos es especialmente uacutetilEstos avisos son evaluados por el personal de SASEMAR y cuando se considera apropiadoenviacutean sus propios recursos a la zona

En general una nacioacuten costera como es Espantildea y en particular Galicia con su intenso traacute-fico mariacutetimo y su traacutegico historial de cataacutestrofes medioambientales deberiacutea poseer su propiosistema de anaacutelisis de imaacutegenes SAR sin depender de sistemas de terceros Con este aacutenimose desarrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos a partirde imaacutegenes SAR que aunque resulta faacutecilmente adaptable a otras regiones fue optimizadopara su uso en las costas gallegas [79] Se prestoacute especial atencioacuten a su implementacioacuten conel objetivo de dar una respuesta en tiempo cuasi real sin sacrificar la eficiencia Las diferentesherramientas software o libreriacuteas utilizadas para el desarrollo del prototipo estaacuten soportadaspor licencias puacuteblicas lo que permite la libre distribucioacuten del producto final Los siguientes

80 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

A Coruntildea

Porto do Son

Vigo

Recursos de SASEMAR en Galicia

1 avioacuten de vigilancia CESSNA 337-G

1 avioacuten de vigilancia CN235-300

1 helicoacuteptero S61N - Sikorsky

1 helicoacuteptero AW139

3 buques polivalentes

Figura 53 Bases de la SASEMAR en Galicia y recursos asignados a la regioacuten

apartados detallan el desarrollo del algoritmo utilizado y su incorporacioacuten a un prototipo LaSeccioacuten 52 presenta la DB de imaacutegenes usada para el desarrollo y las fuentes de datos uti-lizadas Las particularidades del algoritmo se describen en las Secciones 53 54 55 y 56Por uacuteltimo la Seccioacuten 57 se centra en la descripcioacuten del prototipo implementado y en suintegracioacuten en RETELAB

52 Fuentes de datos

521 Sateacutelite Envisat

En Marzo del 2002 la ESA puso en oacuterbita el sateacutelite de observacioacuten terrestre Envisat [1]Su objetivo principal era dotar a Europa de una mayor capacidad para la observacioacuten de laTierra desde el espacio y dar continuidad a las misiones predecesoras de los sateacutelites ERS-1 y ERS-2 La instrumentacioacuten del Envisat estaba disentildeada para realizar observaciones ymediciones del oceacuteano la tierra el hielo y la atmoacutesfera Estuvo operativo hasta el 8 de Abrildel 2012 diacutea en que se perdioacute el contacto El 9 de Mayo del 2012 la ESA dio por finalizadaoficialmente la misioacuten Algunos de los paraacutemetros orbitales del sateacutelite pueden consultarse enla Tabla 52

La continuidad de las misiones europeas para la observacioacuten de la Tierra estaacute garantizadacon la serie de sateacutelites Sentinel que estaacute siendo desarrollada por la ESA dentro del programa

52 Fuentes de datos 81

de Monitorizacioacuten Global para el Medioambiente y la Seguridad (GMES) Se espera que elprimer sateacutelite Sentinel sea lanzado durante el antildeo 2013

Oacuterbitas por diacutea 143Periodo repeticioacuten de ciclo 35 diacuteasOacuterbitas por ciclo 501Periacuteodo orbital 10059 minVelocidad de la oacuterbita 745 kmsInclinacioacuten orbital 9855

Altitud media 7998 km

Tabla 52 Paraacutemetros orbitales del sateacutelite Envisat

A bordo del Envisat viajaban 10 instrumentos dedicados a la observacioacuten de la Tierra

ndash El instrumento de Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite(DORIS) ofreciacutea datos sobre la oacuterbita del sateacutelite con gran precisioacuten Esta informacioacutenera utilizada para determinar la posicioacuten exacta del sateacutelite

ndash El Espectroacutemetro de Imaacutegenes de Resolucioacuten Media (MERIS) mediacutea la reflectancia dela Tierra en el rango del espectro solar analizando el color de los oceacuteanos y la coberturadel terreno Los mapas de alta resolucioacuten generados con sus datos son utilizados paraevaluar los efectos del cambio climaacutetico

ndash El Radioacutemetro Avanzado de Exploracioacuten Longitudinal (AATSR) permitiacutea medir la tem-peratura de la superficie de la Tierra y de los oceacuteanos a partir de la radiacioacuten teacutermicainfrarroja que emite nuestro planeta

ndash El Altiacutemetro de Radar (RA-2) era capaz de registrar la topografiacutea de la superficie te-rrestre con una precisioacuten de unos pocos centiacutemetros lo que haciacutea posible analizar porejemplo la evolucioacuten temporal del nivel del mar

ndash El objetivo principal del Radioacutemetro de Microondas (MWR) era el de realizar medicio-nes del vapor de agua de la atmoacutesfera y del contenido de agua liacutequida de las nubes

ndash El instrumento para Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Es-trellas (GOMOS) proporcionaba una cartografiacutea global del ozono en altitud y un segui-miento de tendencia de gran precisioacuten

82 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash El Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva (MIPAS) era unespectroacutemetro independiente de la luz solar que serviacutea para realizar mediciones de altaresolucioacuten del espectro de emisiones gaseosas en la atmoacutesfera terrestre

ndash La misioacuten principal del Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes paraCartografiacutea Atmosfeacuterica (SCIAMACHY) era registrar el espectro de rayos solares quepasan a traveacutes de la atmoacutesfera Se utilizaba para encontrar huellas de absorcioacuten espectralproducidas por determinados gases y entre otras utilidades permitiacutea realizar mapasglobales de polucioacuten atmosfeacuterica

ndash El Retrorreflector Laacuteser (LRR) era un sensor pasivo utilizado como reflector de pul-sos laacuteser de alta potencia enviados desde estaciones en tierra y que proporcionaba ladistancia entre el sateacutelite y la estacioacuten

ndash El Radar de Apertura Sinteacutetica Avanzado (ASAR) era un novedoso instrumento SARdel que se obtuvieron los datos utilizados para el desarrollo de SENTINAZOS La si-guiente Seccioacuten profundiza su descripcioacuten

La mayoriacutea de los instrumentos presentados excepto el MWR y el RA-2 teniacutean coberturaglobal y necesitaban entre 1 y 3 diacuteas para completarla

Radar de Apertura Sinteacutetica Avanzado

El ASAR es un sensor activo que opera en el rango de las microondas concretamenteen la banda C con una frecuencia de 5331 GHz En la figura 54 se muestra el espectroelectromagneacutetico ofreciendo mayor detalle en el rango de las microondas

Las caracteriacutesticas particulares del sensor ademaacutes de su independencia de la luz solar yde la cobertura nubosa lo hacen especialmente eficiente en el estudio de temas tan diversoscomo frentes oceaacutenicos oleaje marino deteccioacuten de barcos y contaminantes movimiento yextensioacuten de hielos agricultura estudios urbaniacutesticos desastres naturales etc Dependiendodel aacuterea de estudio se trabajaraacute en uno de los 5 modos de operacioacuten soportados por el sensory que son descritos en la Tabla 53

Envisat Wide Swath Mode

El Envisat Wide Swath Mode (WSM) es el modo de operacioacuten que mejor se adapta a labuacutesqueda de vertidos de hidrocarburos Por un lado gracias a la teacutecnica ScanSAR ofrece una

52 Fuentes de datos 83

Banda

Frecuencia (GHz)

Long onda (cm)

InfrarojoMedio

MicroondasRadar

Radio Bandas Audio AC

UV

GammaRayos X

P L S C X K Q V W

039 155

03 10 30 100 300 1000

56463610957539

100 30 10 3 1 03

Vis

ible

10 10 1010 10 10 10 10 10 10 120 18 16 14 12 10 8 6 4 2

Longitud de onda

Frecuencia Hz

00

3 Å

03

3 Å

30

30

0 Å

03

μm

3 μ

m

30

μm

30

m

03

cm

3 c

m

30

cm

3 m

30

m

30

0 m

3 k

m

30

km

30

0 k

m

Longitud de onda (λ)

04

μm

07

μm

Figura 54 Espectro electromagneacutetico Figura adaptada de la web de la ESA [1]

Modo Trazas Polarizacioacuten Resolucioacuten (m) Cobertura aproxima-da (km)

IA (grados sexagesi-males)

Ruido de fondo (dB)

Image Mode(IM)

IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

AlternatingPolarisation(AP)

IS1 IS2 IS3IS4 IS5 IS6o IS7

HHVVHHHVVVVH

30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

Wide Swath(WS)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 150 400 17minus42 -21 a -26

Global Moni-toring (GM)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 1000 400 17minus42 -32 a -35

Wave (WV) IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 5 15minus45 -20 a -22

Tabla 53 Modos de operacioacuten del sensor ASAR a bordo del Envisat

amplia cobertura de 405 km y una resolucioacuten media de 150 m Por otro lado la relacioacuten entreel ruido de fondo y la retrodispersioacuten es adecuada para la buacutesqueda de sentinazos en casi todaslas condiciones cuando se utiliza la polarizacioacuten vertical-vertical

Polarizacioacuten Los radares pueden transmitir el haz energeacutetico con polarizacioacuten horizon-tal (H) o con polarizacioacuten vertical (V) y recibir la sentildeal retornada nuevamente con polariza-cioacuten horizontal vertical o ambas Esto es interesante debido a que los diferentes materiales

84 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de los que estaacute compuesta la cubierta terrestre reflejan las sentildeales con intensidades diferentesdependiendo de la polarizacioacuten e incluso algunos materiales convierten una polarizacioacuten enotra Dependiendo del objetivo de la investigacioacuten es maacutes adecuado un tipo u otro de pola-rizacioacuten Los productos de Envisat WSM pueden trabajar con dos tipos de polarizacioacuten lavertical-vertical (VV) y la horizontal-horizontal (HH)

Ruido de fondo Los sistemas para la adquisicioacuten de datos y procesamiento de sentildealesestaacuten afectados por diferentes tipos de ruido y de sentildeales no deseadas La suma de todo estoes lo que se define como ruido de fondo o noise floor La intensidad de este ruido situacutea elumbral o medida miacutenima que puede ser tomada e identificada con certeza es decir no sepuede identificar nada cuya intensidad de sentildeal sea inferior al ruido de fondo ya que quedaenmascarado por dicho ruido

La retrodispersioacuten del oceacuteano variacutea dependiendo del IA la polarizacioacuten y la velocidad ydireccioacuten del viento Los productos WSM de Envisat con polarizacioacuten VV poseen un ruidode fondo entre -21 dB y -26 dB que se encuentra por debajo de la media de retrodispersioacutendel oceacuteano en casi todas las condiciones Esta caracteriacutestica permite buscar la presencia dehidrocarburos ya que eacutestos se asocian a valores de retrodispersioacuten inferiores a los generadospor las aacutereas del mar sin presencia de contaminantes La Figura 55 muestra la retrodispersioacutendel oceacuteano obtenida de una imagen SAR que no teniacutea presencia de hidrocarburos Se puedeobservar que la retrodispersioacuten variacutea seguacuten el IA y la velocidad del viento

Aacutengulo de incidencia (grados)

Retr

odis

pers

ioacuten (

dB

)

Vientos 10 msVientos 6 msVientos 4 ms

15 20 25 30 35 40 45

5

0

-5

-10

-15

-20

-25

Figura 55 Retrodispersioacuten media obtenida de una imagen ASAR WSM para vientos de 4 ms 6 ms y 10 ms

52 Fuentes de datos 85

522 Coleccioacuten de datos

Para el desarrollo del sistema se ha contado con una coleccioacuten de 47 imaacutegenes WSM conpolarizacioacuten VV del Envisat obtenidas a traveacutes de un convenio con la ESA Las imaacutegenestomadas entre los antildeos 2007 y 2011 corresponden al noroeste de la Peniacutensula Ibeacuterica estandola mayoriacutea centradas en la costa gallega como puede verse en el mapa de densidad mostradopor la Figura 56

Figura 56 Representacioacuten de la densidad de cobertura de la Base de Datos

La regioacuten de estudio es una ampliacioacuten del ESTF construida tal y como se muestra en laFigura 57

Las imaacutegenes de los antildeos 2007 y 2008 contienen sentinazos detectados por operadoresde la EMSA a los que se les ha asignado una probabilidad (alta baja o media) de ser hidro-carburos El resto de la coleccioacuten contiene sentinazos y look-alikes confirmados a traveacutes demisiones aeacutereas de SASEMAR El nuacutemero de imaacutegenes de la coleccioacuten y cuaacutentas de ellascontienen sentinazos (confirmados o no) se puede ver en la Figura 58a agrupadas por antildeo Laclasificacioacuten de los sentinazos de la coleccioacuten es mostrada en la Figura 58b

La Figura 59 muestra la posicioacuten geograacutefica de los vertidos presentes en la DB Eacutestos secaracterizan por estar agrupados en torno al ESTF lo cual es debido a que es paso obligadopara los buques y en consecuencia sufre en mayor medida el efecto de los sentinazos

86 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 57 Aacuterea de estudio y ESTF

a b

Figura 58 a) Imaacutegenes SAR e imaacutegenes con sentinazos agrupadas por antildeo b) Clasificacioacuten de las manchas de laBase de Datos

53 Preprocesado

531 Calibrado y proyeccioacuten cartograacutefica

La DB utilizada para el desarrollo del proyecto almacena productos Envisat WSM de nivel1 Para que estos productos se adapten a las necesidades del proyecto es necesario aplicar-les varias operaciones de preprocesado por un lado las imaacutegenes son calibradas [95] conel objetivo de conseguir valores que realmente representen la retrodispersioacuten de la superficie

53 Preprocesado 87

Figura 59 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten

estudiada y que puedan ser comparados entre ellos La calibracioacuten aplicada consiste en unaserie de correcciones radiomeacutetricas que permiten comparar imaacutegenes sin importar si fueronobtenidas por el mismo sensor en queacute momento fueron tomadas el modo usado o si fueronprocesadas por diferentes procesadores Por otro lado las imaacutegenes calibradas son proyecta-das a un mismo sistema de referencia de coordenadas

Una vez realizadas estas actividades de preprocesado las imaacutegenes pueden utilizarse co-mo datos de entrada al sistema no obstante se aplicaraacuten otras dos funciones un enmascara-miento de la tierra y un filtrado de ruido antes de proceder a la segmentacioacuten con el objetivode optimizar la informacioacuten contenida en las mismas

532 Maacutescara de tierra

El objetivo del sistema es la deteccioacuten de vertidos de hidrocarburos en la superficie oceaacute-nica Las imaacutegenes utilizadas tienen una cobertura de 400 km x 400 km y al estar centradasen el ESTF contienen habitualmente regiones de tierra que corresponden a la costa noroestede la Peniacutensula Ibeacuterica Para no procesar dichas regiones eacutestas son enmascaradas asignandovalores nulos a los piacutexeles que las forman

88 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Desde el punto de vista espacial la costa gallega es muy compleja debido a la presencia delas riacuteas y otros accidentes geograacuteficos La costa y sobre todo las riacuteas funcionan como parapetoprotegiendo de los vientos a la superficie oceaacutenica y como se ha visto en el Capiacutetulo 4 lasaacutereas marinas dominadas por vientos de baja intensidad se visualizan en las imaacutegenes SARde forma similar a las afectadas por vertidos (falsos positivos) Para evitar estos look-alikes

se ha ampliado la maacutescara de tierra en 3 millas naacuteuticas tal y como puede apreciarse en lafigura 510

5degW6degW7degW8degW9degW10degW11degW

46degN

45degN

44degN

43degN

42degN

Regioacuten de Intereacutes

0 50 100 15025Millas Nauacuteticas

Figura 510 Maacutescara de tierra utilizada La franja roja representa una ampliacioacuten de 3 millas naacuteuticas a partir de laliacutenea de costa

533 Filtro de ruido

Previamente al procesado de las imaacutegenes es necesario aplicar un filtro de mediana conuna ventana de 3 x 3 piacutexeles con el objetivo de eliminarsuavizar el ruido de las imaacutegenesLa Figura 511 muestra un ejemplo de aplicacioacuten del filtro de mediana y coacutemo el valor de unpiacutexel se ve influenciado por los de su entorno

54 Segmentacioacuten

El objetivo de esta fase es detectar sobre la imagen SAR todos los piacutexeles susceptiblesde pertenecer a un vertido de hidrocarburo y generar una imagen binaria donde los candidatosdestaquen de la superficie marina limpia

54 Segmentacioacuten 89

Mediana - valor seleccionado

15 10 11 10 10

13 10 9 10 13

12 11 15 13 14

12 10 13 7 15

16 15 12 13 10

darr 7 9 10 10 10 11 13 13 15

darr

Secuencia ordenada

Figura 511 Ejemplo de uso del filtro de mediana para reducir el ruido de la imagen Imagen adaptada de [35]

Dado que los bajos niveles de intensidad generados por las aacutereas con baja retrodispersioacutenestaacuten asociados a hidrocarburos (ademaacutes de a otros fenoacutemenos naturales) es loacutegico pensar queuna segmentacioacuten basada en umbrales pueda ser el meacutetodo maacutes adecuado La complejidad delas imaacutegenes SAR (por ejemplo la fuerte dependencia del nivel medio de intensidad con el IA) provoca que los umbrales simples no sean adecuados Una funcioacuten de umbral adaptativo quetenga en cuenta el IA del piacutexel analizado ademaacutes de otros factores parece la mejor opcioacuten

541 Establecimiento del umbral adaptativo

Con el objetivo de establecer una funcioacuten de umbral adaptativo se muestrearon 1652 piacute-xeles pertenecientes a zonas afectadas por vertidos de hidrocarburos De cada piacutexel se registroacutesu valor de intensidad y su IA asociado La Figura 512 presenta graacuteficamente los piacutexelesmuestreados agrupados por su IA

En este histograma se observa que los IAs de los piacutexeles seleccionados no estaacuten distribui-dos uniformemente y la razoacuten es que la mayoriacutea de las imaacutegenes de la DB estaacuten centradas enel ESTF por lo que la relacioacuten entre las aacutereas de la imagen y los IAs se mantiene relativa-mente constante El rango de IAs con mayor nuacutemero de piacutexeles muestreados suele coincidircon el aacuterea cubierta por el ESTF que es la zona que contiene la mayor cantidad de vertidosLos piacutexeles de la muestra fueron agrupados de acuerdo con su IA en intervalos de 1 entre los17 y los 42 Para cada intervalo se calculoacute la media y su desviacioacuten tiacutepica y se descartaronlos piacutexeles con valores de intensidad superiores a la suma de los dos valores calculados Paracada intervalo se seleccionaron los valores de intensidad maacuteximos (veacutease Ecuacioacuten 51) y conestos puntos como liacutemite superior se realizoacute un estudio de regresioacuten para obtener una funcioacutenque los aproximase

x = max(B)B = y isin B yle ν(A)+σ(B) (51)

90 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 512 Piacutexeles muestreados agrupados seguacuten su IA

El resultado del anaacutelisis fue que tanto una funcioacuten de cuarto grado (52) como una expo-nencial negativa (53) se ajustaban de forma significativa a los datos de la muestra

y =minus63401 middot10minus6x4 +000073027x3minus0029919x2 +050015xminus26381 (52)

y = 74199eminus018212x (53)

Estas funciones debiacutean representar los valores maacuteximos de intensidad que podiacutea almace-nar un piacutexel en funcioacuten de su IA asociado en caso de que representase un vertido es decirtodo piacutexel con un valor de intensidad igual o menor se considerariacutea vertido Se optoacute por unaaproximacioacuten agresiva ya que es preferible en esta fase de segmentacioacuten obtener algunosfalsos positivos a descartar vertidos

Las pruebas efectuadas aplicando cualquiera de las dos funciones mostraron demasiadosfalsos positivos La obtencioacuten de look-alikes en la fase de segmentacioacuten no es preocupantee incluso es esperada dado que es la fase de clasificacioacuten la que tradicionalmente asumela responsabilidad de seleccionar cuaacuteles son los sentinazos y cuaacuteles no pero seriacutea deseableobtener el miacutenimo posible y asiacute disminuir la responsabilidad del clasificador

Las funciones obtenidas estaban basadas en la intensidad y en el IA pero determinadosestudios previos [40] ponen de manifiesto la importancia de los factores meteoroloacutegicos y

54 Segmentacioacuten 91

particularmente los vientos en la deteccioacuten de sentinazos Dado que el nivel de retrodispersioacutentiene relacioacuten directa con la rugosidad de la superficie (veacutease la Figura 45) y eacutesta se debe ala presencia de viento la funcioacuten adaptativa deberiacutea tener en cuenta los datos del viento de lazona estudiada La Figura 55 muestra la influencia de la velocidad del viento en la intensidadUtilizar datos de viento en la fase de segmentacioacuten permitiraacute realizar una segmentacioacuten maacutesprecisa facilitando el trabajo posterior del clasificador

1 2 3 4 5 6 7 8 9

0

100

10

200

300

400

500

600

Piacutex

ele

s m

uestr

eados

Total piacutexeles 1652

Velocidad del viento (ms)0

Figura 513 Elementos de la muestra agrupados por la velocidad del viento

La forma maacutes directa de acceder a los datos de viento correspondientes a la zona cubiertapor una imagen SAR es a traveacutes de los datos contenidos en la propia imagen CMOD5 [60] esun modelo geofiacutesico desarrollado para datos obtenidos en la banda C que permite relacionarla retrodispersioacuten generada por la rugosidad de la superficie oceaacutenica con la velocidad y di-reccioacuten del viento Utilizando este modelo se obtuvieron los datos de viento correspondientesa las imaacutegenes de la DB Los resultados generados con una resolucioacuten menor que la de laimagen SAR fueron interpolados usando el algoritmo Kriging [88] para obtener la mismaresolucioacuten que la imagen original

La muestra de 1652 piacutexeles fue enriquecida antildeadiendo los datos de velocidad de vientocalculados con el modelo CMOD5 Los piacutexeles de la muestra fueron agrupados seguacuten la velo-cidad del viento (veacutease Figura 513) La mayoriacutea de estos piacutexeles tienen asociadas velocidadesde viento entre los 3 y 7 ms por lo que cubren el rango oacuteptimo para la deteccioacuten de verti-dos [54] Los piacutexeles con vientos mayores a 7 ms se agruparon en un soacutelo intervalo ya que la

92 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

muestra no teniacutea suficientes datos como para realizar maacutes divisiones Cada grupo creado fuenuevamente dividido en subconjuntos en base al IA En cada subconjunto (con al menos 10valores) se calculoacute la media y la desviacioacuten tiacutepica de los valores de intensidad Finalmente seescogioacute el valor de intensidad maacutes alto para cada subconjunto siempre y cuando fuese igual omenor a la suma de la media y el doble de la desviacioacuten tiacutepica de dicho subconjunto Noacuteteseque en esta ocasioacuten al ajustar mejor los valores gracias a los vientos se optoacute por relajar elumbral maacuteximo empleando dos veces la desviacioacuten tiacutepica y no soacutelo una como en el caso de laumbralizacioacuten sin vientos (veacutease Ecuacioacuten 51) El esquema del proceso seguido se muestraen la Figura 514

A=muestra de 1652 piacutexeles

A1= piacutexeles con

viento lt 4 ms

A2= piacutexeles con

viento lt 5 ms

A3= piacutexeles con

viento lt 6 ms

A4= piacutexeles con viento lt 7 ms

A5= piacutexeles con viento gt= 7 ms

A1= piacutexeles con

aacutengulo de incidencia[1718]

A2= piacutexeles con

aacutengulo de incidencia[1819]

A25= piacutexeles con

aacutengulo de incidencia[4142]

x25x2x1

xi=max(Bi) Bi=yisinAi y le A

i + 2σAi

Figura 514 Esquema de acciones realizadas para establecer el umbral adaptativo

El resultado de este proceso es un conjunto de intensidades para cada rango de velocidadestudiado Realizando un anaacutelisis de regresioacuten sobre los datos se comproboacute que al igual queen la primera aproximacioacuten una funcioacuten de cuarto grado y una exponencial negativa se ajus-taban de forma significa a la muestra Estudiando dichas funciones con maacutes detalle y a traveacutesde pruebas de segmentacioacuten se comproboacute que los mejores resultados se obteniacutean usando lafuncioacuten de cuarto grado en los aacutengulos de incidencia menores y la exponencial negativa en losmayores Se establecioacute una funcioacuten definida por partes para el caacutelculo adaptativo del umbralen el que el IA es utilizado para establecer el punto de corte entre las partes La Tabla 54presenta los coeficientes de las funciones adaptados seguacuten la velocidad del viento asiacute comolos puntos de corte establecidos por los IAs

54 Segmentacioacuten 93

Velocidad del viento Funcioacuten de cuarto grado Punto de corte Funcioacuten exponencial negativa

vel lt= 4ms 63662lowast10minus6x4minus000083671x3 +0041262x2minus090719x+75353 378 59169eminus017881x

vel lt= 5ms 30874lowast10minus6x4minus000043845x3 +0023424x2minus055931x+50588 3625 66689eminus017944x

vel lt= 6ms 21022lowast10minus6x4minus000031131x3 +0017414x2minus04365x+41503 3682 57770eminus017217x

vel lt= 7ms 27742lowast10minus6x4minus000039094x3 +002086x2minus050088x+45883 3752 54477eminus016858x

vel gt 7ms 12416lowast10minus6x4minus000019466x3 +0011604x2minus031143x+3182 368 62053eminus017101x

Tabla 54 Coeficientes y puntos de corte para las funciones de umbral adaptativo

Las funciones exponenciales negativas para vientos de 4 ms 6 ms y mayores que 7 msse representan graacuteficamente en la Figura 515

0

005

01

015

02

025

03

20 25 30 35 40

Inte

nsi

da

d

Aacutengulo de incidencia

Viento lt=4 msViento lt=6 msViento gt 7 ms

Figura 515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para distintos valores de lavelocidad del viento

542 Aplicacioacuten del umbral adaptativo

El proceso de segmentacioacuten se aplica sobre todos los piacutexeles de una imagen SAR exceptolos que previamente han sido enmascarados como tierra y los que pertenecen a zonas fueradel aacuterea de alcance del sensor

De cada piacutexel procesado se extrae su intensidad el IA y la velocidad del viento A partirde la velocidad del viento y de los coeficientes presentados en la Tabla 54 se obtienen lasfunciones adecuadas y el punto de corte (IA) entre la funcioacuten polinoacutemica y la exponencialnegativa Seguacuten el IA del piacutexel y tras compararlo con el punto de corte se selecciona una

94 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de las dos funciones y se utiliza el aacutengulo como paraacutemetro La funcioacuten devolveraacute un umbralque identificaraacute el maacuteximo valor de intensidad que podriacutea tener el piacutexel analizado para serconsiderado parte de un sentinazo Si la intensidad es menor o igual al umbral el piacutexel seraacuteetiquetado como candidato y en caso contrario como superficie limpia

543 Filtro de vientos

Dado que existen estudios previos que consideran que es necesaria una velocidad del vien-to de al menos 3 ms para detectar un sentinazo los piacutexeles segmentados que esteacuten afectadospor vientos de intensidad menor que ese umbral son considerados look-alikes y son eliminadosde la imagen segmentada

544 Filtro de aacuterea

Los medios de vigilancia contra la polucioacuten como los buques y aviones tienen un costede uso elevado y son limitados por lo que soacutelo son utilizados cuando la situacioacuten es poten-cialmente dantildeina o el vertido tiene una dimensioacuten considerable Las estructuras formadas porlos piacutexeles segmentados que tengan un aacuterea menor que 50 piacutexeles (equivalente a 03km2) sonconsideradas como falsos positivos o como pequentildeos sentinazos no dantildeinos que pueden sereliminados de la imagen segmentada

55 Extraccioacuten de caracteriacutesticas

El resultado de la fase de segmentacioacuten es una imagen binaria donde aparecen resaltadostodos los sentinazos junto con un gran nuacutemero de look-alikes Es tarea de un clasificador sepa-rar los sentinazos de los falsos positivos y para una correcta clasificacioacuten es necesario obtenerun vector de caracteriacutesticas para cada candidato que pueda ser analizado por el clasificador

El vector de caracteriacutesticas utilizado para el desarrollo de este algoritmo estaacute basado entres tipos de caracteriacutesticas

ndash Caracteriacutesticas de forma la forma puede ser un factor determinante para clasificar uncandidato Estudios anteriores [92] han mostrado que debido a su naturaleza los senti-nazos pueden agruparse en 5 grandes clases desde el punto de vista de su forma (veacuteasela Figura 47)

55 Extraccioacuten de caracteriacutesticas 95

ndash Caracteriacutesticas fiacutesicas se han incorporado caracteriacutesticas asociadas al nivel de intensi-dad de los piacutexeles dado que su importancia y utilidad ha sido refrendada por estudiosprevios [37]

ndash Informacioacuten contextual Los datos de contexto en general y maacutes concretamente los devientos [40] son de gran utilidad a la hora de detectar sentinazos y deben ser incorpora-dos al vector de caracteriacutesticas

Tipo Nombre Descripcioacuten

Forma

APR Aacuterea PeriacutemetroElongacioacuten Eje mayor Eje menor

MPR Eje mayor PeriacutemetroRectangularidad Aacuterea Aacuterea (Min rect engloba)

Circularidad Periacutemetro2 (4 πAacuterea)Thickness Nuacutemero de erosiones necesarias para dividir un objeto

Hu1 (η20 +η02)

Hu2 (η20minusη02)+4η211

Hu3 (η30 +3η12)2 +(3η21minusη03)

2

Hu4 (η30 +η12)2 +(η21 +η03)

2

Hu5 (η30 minus 3η12)(η30 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η21 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Hu6 (η20minusη02)[(η30minusη12)2minus (η21η03)

2]+4η21(η30 +η12)(η21 +η03)

Hu7 (3η21 minus η30)(η00 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η12 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Flusser y Suk - I1 (η20η02minusη211)η4

00

Flusser y Suk - I2 (minusη230η2

03 +6η30η21η12η03minus4η30η312minus4η3

21η03 +3η221η2

12)η1000

Flusser y Suk - I3 (η20η21η03minusη20η212minusη11η30η03 +η11η21η12 +η02η30η12minusη02η2

21)ν700

Flusser y Suk - I4 (minusη320η2

03 + 6η220η11η12η03 minus 3η2

20η02η212 minus 6η20η2

11η21η03 minus 6η20η211η2

12 +12η20η11η02η21η12 minus 3η20η2

02η221 + 2η3

11η30η03 + 6η311η21η12 minus 6η2

11η02η30η12 minus6η2

11η02η221 +6η11η2

02η30η21minusη302η2

30)η1100

Contexto AI IA respecto al centroide de la manchaViento Velocidad del viento en el aacuterea estudiada

Fiacutesicas Intensidad Intensidad media de los piacutexeles contenidos en la mancha candidatoASR Ratio de la intensidad del candidato respecto al aacuterea circundante

Nota ηi j representa a los momentos centrales normalizados

Tabla 55 Vector de caracteriacutesticas

El vector generado (veacutease Tabla 55) estaacute compuesto por 21 componentes de los que 17corresponden a caracteriacutesticas de forma Para disminuir la dimensionalidad del vector se apli-coacute un Anaacutelisis de Componentes Principales (PCA) [67] sobre las caracteriacutesticas de forma LaTabla 56 contiene los porcentajes de varianza explicados por los componentes principalesobtenidos tras el PCA mientras que la Figura 516 muestra graacuteficamente el porcentaje expli-cado por el subconjunto de componentes maacutes representativo Finalmente se sustituyeron las

96 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

17 caracteriacutesticas de forma por los 5 primeros componentes cubriendo asiacute maacutes del 92 de lavarianza y reduciendo considerablemente la dimensionalidad del vector Los coeficientes delos componentes principales seleccionados se muestran en la Tabla 55

PCA1 PCA2 PCA3 PCA4 PCA5

0

10

20

30

40

50

60

70

80

90

0

10

20

30

40

50

60

70

80

90

100 100

Componentes Principales

Vari

anza E

xplicada

Figura 516 Componentes principales y porcentaje de varianza explicado

Componente Principal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17Varianza explicada () 477716 183024 138332 73918 50537 37671 19663 08758 04884 03178 00938 00693 00414 00142 00089 00041 00001

Tabla 56 Componentes principales y porcentaje de varianza explicado

56 Clasificacioacuten

Una vez caracterizados los candidatos es necesario clasificarlos y asignarles una clase(sentinazo o look-alike) El vector de caracteriacutesticas de cada candidato es la entrada para unclasificador cuya salida seraacute una clase o etiqueta identificaacutendolo La eficiencia del clasificadorestaacute directamente relacionada con los datos del vector es decir un buen clasificador no podraacuteclasificar correctamente si las caracteriacutesticas no discriminan suficientemente bien

La maacutexima seguida para el desarrollo de los clasificadores fue la de minimizar el nuacuteme-ro de falsos negativos incluso cuando la consecuencia era incrementar el nuacutemero de falsospositivos Para el sistema es asumible mostrar falsos positivos debido a que o bien el siste-ma es semiautomaacutetico es decir un operador humano filtra los resultados antes de enviar losmedios de vigilancia o bien el sistema es completamente automaacutetico en cuyo caso los siste-mas de vigilancia se activariacutean tras el descubrimiento del look-alike con el consecuente gasto

56 Clasificacioacuten 97

Var1 PCA Var2 PCA Var3 PCA Var4 PCA Var5 PCAAPR -00321 00466 06160 01722 -01237

elongacioacuten 01770 03460 -01469 02321 -01141MPR 02596 00579 03499 00017 -00160

Rectangularidad -01196 -00306 02473 00149 08811Circularidad 03070 -00775 00457 -00321 -02217

Thickness -00013 00530 06099 01626 -02103Hu1 03299 00316 -00735 00802 -00472Hu2 03371 00255 -00683 01573 00767Hu3 03389 -00366 -00237 00670 01383Hu4 02769 03158 -00167 -00164 01338Hu5 02092 04218 -00049 -00343 01185Hu6 02055 04349 -00000 -00842 01202Hu7 -02791 03182 -00151 00583 -01003FS1 02795 -02692 00373 -02175 -00562FS2 00728 -02281 -01329 07528 00772FS3 -02540 02239 -01053 04511 -00382FS4 -02567 03457 -00020 -01540 -00864

Tabla 57 Coeficientes de los componentes principales seleccionados

econoacutemico pero sin consecuencias medioambientales Los falsos negativos por el contrariono podriacutean detectarse ni de forma automaacutetica ni por un operador ya que el sistema no losmostrariacutea y esto conllevariacutea un mayor impacto en el ecosistema dado que no se activariacutean losprotocolos de gestioacuten de forma temprana

Los siguientes apartados describen dos clasificadores desarrollados para identificar loscandidatos generados en la segmentacioacuten Para su desarrollo y entrenamiento se ha utilizadouna DB de candidatos previamente etiquetados con 155 falsos positivos y 80 sentinazos quefueron distribuidos en 3 grandes grupos (veacutease la Figura 517) el 70 de los elementos fuereservado para el entrenamiento un 15 fue utilizado para el conjunto de validacioacuten y el15 restante fue seleccionado para el conjunto de test

Base de datos de candidatos

155 Look-alikes 80 Sentinazos

128 66 27 14

101 52 27 14

Test

Validacioacuten

Datos para el entrenamiento

Entrenamiento

85 15

1570

Figura 517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores

98 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

561 Redes Neuronales Artificiales

Introduccioacuten

Las ANN tratan de emular el comportamiento del cerebro humano y la extraccioacuten de co-nocimiento geneacuterico a partir de un conjunto de datos [71] Las ANNs al igual que el cerebroestaacuten compuestas de procesadores elementales llamados neuronas artificiales o simplementeneuronas que conectadas entre siacute o a entradas externas cooperan para producir un estiacutemulode salida Cuando un conjunto de neuronas recibe todas sus entradas de una misma fuente ytodas sus salidas se dirigen a un mismo destino forman una capa

Una neurona artificial se caracteriza por los siguientes elementos (veacutease la Figura 518)

ndash Estado inicial las neuronas de la red presentan un estado o valor inicial (atminus1) previo arecibir los estiacutemulos externos y que influiraacute en su respuesta a eacutestos

ndash Conexiones neuronales valores de entrada a la neurona j-eacutesima (xi) con unos pesosasociados (wi j)

ndash Funcioacuten de propagacioacuten determina la entrada de la neurona (Net j) Generalmente es elsumatorio de cada uno de sus estiacutemulos externos o entradas (xi) multiplicado por su pesoasociado (wi j) Es habitual que se incluya un teacutermino constante (x0) denominado sesgoLa inclusioacuten de este elemento se deriva del comportamiento de las neuronas bioloacutegicasque poseen umbrales internos de activacioacuten que distorsionan el impacto causado porlos estiacutemulos recibidos El teacutermino suele tener el valor lsquo1rsquo y el valor y signo de su pesoindica su influencia en la funcioacuten

ndash Funcioacuten de activacioacuten o transferencia combina el valor inicial de la neurona (atminus1) conla entrada obtenida por la funcioacuten de propagacioacuten (Net j) para producir un nuevo estadoo valor de la neurona

ndash Funcioacuten de salida transforma el estado de la neurona generado a traveacutes de la funcioacutende transferencia en una sentildeal de salida (y j) que se trasmitiraacute a las siguientes neuronasHabitualmente la funcioacuten de salida coincide con la funcioacuten identidad es decir el valorde salida es en la praacutectica el valor retornado por la funcioacuten de transferencia

Una de las caracteriacutesticas maacutes importantes de las ANNs es su capacidad de generalizara partir de ejemplos lo que permite dar una respuesta correcta ante patrones no presentadospreviamente Las ANNs tienen la capacidad de aprender creando modificando o destruyendo

56 Clasificacioacuten 99

w1j

wdj

wnj

F(aj(t-1)Netj)=aj(t)) f(aj(t))=yj rarr yj

Entradas Pesos Entrada total Func activacioacuten Func salida Salida

X0Sesgo w0j

Netj=sum wkjmiddotxk k=0

n

X1

Xd

Xn

Neurona j-eacutesima

Figura 518 Elementos de una neurona artificial Figura adaptada de [71]

sus conexiones (pesos) entre sus neuronas Existen diferentes algoritmos de aprendizaje perotodos ellos pueden ser englobados en uno de los dos grandes tipos presentados a continuacioacuten

ndash Aprendizaje supervisado se caracteriza por la presencia de un agente que controla elproceso de entrenamiento estableciendo una respuesta correcta para una serie de valo-res de entrada determinados Si la salida de la red no es la salida deseada el supervisormodifica iterativamente los pesos de las neuronas de la red (wi j) con el objetivo de queel resultado tienda al deseado Eacuteste es el tipo de aprendizaje utilizado para desarrollar laANN para la deteccioacuten de los sentinazos y en concreto se usoacute una teacutecnica de aprendi-zaje por correccioacuten de error denominada backpropagation Las teacutecnicas por correccioacutende error ajustan los pesos de las conexiones de la red en base a la diferencia entre lasalida deseada y la obtenida Una de las reglas maacutes sencillas para la correccioacuten es lasiguiente

wt+1i j = wt

i j +∆wi j

∆wi j = α(r jminus y j)x j(54)

Dada una conexioacuten neuronal entre la neurona i-eacutesima y la j-eacutesima con un peso wi j en elinstante t ∆wi j representariacutea la variacioacuten en el peso de la conexioacuten en el instante t +1es decir la correccioacuten del error En el caacutelculo de ∆wi j α es un factor de aprendizaje r j

es la salida deseada ante un determinado patroacuten mientras que y j es la salida realmenteobtenida y finalmente x j es la entrada a la neurona j

100 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash Aprendizaje no supervisado se presenta a la red una serie de patrones sin una respues-ta asociada La red busca particularidades correlaciones o categoriacuteas presentes en losdatos de entrada y los categoriza

Las conexiones neuronales son uno de los elementos fundamentales en el aprendizaje ypueden producirse entre neuronas de una misma capa o entre neuronas de capas diferentessin limitaciones El modelo de ANNs maacutes utilizado en la praacutectica es el Perceptroacuten Multicapa(MLP) que constituye un modelo particular en el que la propagacioacuten de los datos es siemprehacia adelante es decir ninguna salida neuronal constituye la entrada a una neurona de lamisma capa o de una capa anterior Las redes MLP (veacutease la Figura 519) estaacuten compuestaspor una capa neuronas de entrada donde se recogen los datos del exterior una o varias capasde neuronas ocultas y una capa de salida que devuelve los resultados de la red

Figura 519 Estructura de una red neuronal MLP

Algoritmo de retropropagacioacuten de errores

Debido a su sencillez y eficacia el algoritmo de retropropagacioacuten de errores o de backpro-

pagation [58] es uno de los algoritmos de aprendizaje supervisado maacutes extendido para redesMLP Baacutesicamente el algoritmo modifica iterativamente los pesos de las conexiones entre lasneuronas con el objetivo de minimizar el error de la red Partiendo de unos pesos aleatorios yde un conjunto de patrones de entrenamiento correctamente clasificados el algoritmo procesaa traveacutes de la red cada patroacuten El error cometido al procesar un patroacuten es cuantificado paramodificar los pesos en consecuencia La modificacioacuten iterativa de los pesos se realiza con elobjetivo de que el resultado real tienda al deseado La cuantificacioacuten del error medio-total de

56 Clasificacioacuten 101

la red se calcula comoE(w|xr) = 1

2(rminus y)2 (55)

siendo r el resultado deseado para la entrada de un patroacuten a la red e y el resultado real-mente obtenido La modificacioacuten de los pesos trata de minimizar el error de la red siendoel descenso de gradiente el meacutetodo maacutes habitual para ello siempre y cuando la funcioacuten pa-ra calcular el error sea diferenciable Las variaciones de los pesos utilizando el descenso degradiente se obtendriacutean a traveacutes del siguiente caacutelculo

∆wh j =minusαpartE

partwh j(56)

El algoritmo de retropropagacioacuten de errores tiene dos fases principales en una primerafase los patrones de entrenamiento son presentados y analizados por la red y sus salidas soncomparadas con los resultados esperados en una segunda fase se modifican los pesos de la redcalculando el error cometido y propagaacutendolo desde la capa de salida hasta la capa de entrada

x0=1

xj

xn

z0=1

whj vih

zh

zk

w0

sesgo sesgo v0

yi

Figura 520 Ejemplo simplificado de una red MLP

Actualizacioacuten de los pesos Partiendo del ejemplo mostrado en la Figura 520 en el quela funcioacuten de transferencia de las neuronas de la capa oculta es una sigmoide la salida de lared para un determinado patroacuten p se obtiene a traveacutes del siguiente caacutelculo

ypi =

k

sumq=1

viqzq + v0 (57)

102 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

La variacioacuten de los pesos que unen la capa oculta con la capa de salida se calculariacuteatratando de minimizar el error de la red (veacutease Ecuacioacuten 55) a traveacutes del descenso de gradiente(veacutease Ecuacioacuten 56)

∆wh j = α sump(rpminus yp)zp

h (58)

Sin embargo el caacutelculo de los pesos entre la capa de entrada y la oculta no puede hacer-se directamente utilizando el error cuadraacutetico medio ya que se desconoce cuaacutel es la salidadeseada para las neuronas ocultas La solucioacuten estaacute en el uso de la regla de la cadena sobre laEcuacioacuten 56 de la siguiente manera

∆wh j =minusαpartE

partwh j

=minusα sump

partE p

partyppartyp

part zph

partE p

part zph

part zph

partwh j

=minusα sumpminus(rpminus yp)︸ ︷︷ ︸

partE ppartyp

vh︸︷︷︸partyp

part zph

zph(1minus zp

h)xpj︸ ︷︷ ︸

part zph

partwh j

= α sump(rpminus yp)vhzp

h(1minus zph)x

pj

(59)

Teacutermino momento De entre las mejoras desarrolladas sobre el algoritmo claacutesico cabedestacar la que introduce el teacutermino momento Esta mejora consigue que la actualizacioacuten depesos sea proporcional al incremento de la iteracioacuten anterior permitiendo acelerar y estabili-zar el proceso de aprendizaje [96] La actualizacioacuten de pesos utilizando el teacutermino momentose calcula como

Wt+1 =Wt +[∆Wt +β∆Wtminus1] (510)

El teacutermino momento identificado por la constante β suele tomar un valor entre 0 y 1 ygeneralmente su valor es proacuteximo a la cota superior e inversamente proporcional a la tasa deaprendizaje es decir cuanto maacutes pequentildeo es el valor α maacutes grande suele ser β

Tanto la tasa de aprendizaje como el teacutermino momento son seleccionados empiacutericamentedependiendo del problema a resolver

56 Clasificacioacuten 103

Clasificador

Se implementoacute una red neuronal MLP para clasificar los candidatos segmentados Su ar-quitectura y los pesos de sus conexiones fueron establecidos a traveacutes de un proceso de entre-namiento validacioacuten y test utilizando los conjuntos mostrados en la Figura 517

La red desarrollada cuya arquitectura final se muestra en la Figura 522 estaacute compuestade 3 capas de neuronas El nuacutemero de neuronas de la capa de entrada se establecioacute en 9 unapor cada elemento del vector de caracteriacutesticas mientras que en la capa de salida se utilizaron2 neuronas para representar cada una de las posibles clases que se pueden asignar a un candi-dato Una neurona de la capa de salida con valor lsquo0rsquo representa la total incompatibilidad conla clase asignada a dicha neurona y el caso opuesto es representado con el valor lsquo1rsquo Valoresintermedios en el rango (01) representan una cierta probabilidad de pertenencia a la claseLos estiacutemulos externos a la red fueron normalizados en el rango [-11] como paso previo a suprocesamiento

Las neuronas utilizadas tanto en la capa oculta como en la capa de salida siguen el es-quema de la Figura 521 Estas neuronas reciben los valores de salida de las neuronas de lacapa anterior ponderados a traveacutes de los pesos asignados a las conexiones neuronales y unsesgo con valor lsquo1rsquo que se pondera a traveacutes de un peso asignado a cada neurona Una funcioacutende propagacioacuten que unifica y combina los valores de entrada en un uacutenico valor sirve comoentrada para la funcioacuten de activacioacuten de la neurona El resultado de la funcioacuten de activacioacutenrepresenta el valor de salida de la neurona

Netj=sum(ximiddotwi)+w0 aj=f(Netj)=2

[1+exp(Netj)]-1f(aj)=id(aj)=yj

yj

Neurona j-eacutesimax0

x1

x2

xn

Sesgo w0

w1

w2

wn

i=1

n

Figura 521 Esquema de la neuronas empleadas en la ANN desarrollada

El nuacutemero de neuronas de la capa oculta se establecioacute a traveacutes de un proceso comparativoentre diferentes arquitecturas Utilizando el algoritmo de retropropagacioacuten de errores con lavariante del teacutermino momento como proceso de aprendizaje de la red y basaacutendose en la reglaad hoc de que el nuacutemero de neuronas ocultas no deberiacutea ser superior al doble del nuacutemerode neuronas de entrada [106] fueron realizadas diferentes pruebas en las que se emplearon

104 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

hasta un maacuteximo de 18 neuronas En cada prueba los patrones normalizados del conjuntode entrenamiento fueron presentados iterativamente a la red y sus salidas se compararon conlos resultados esperados Cuando las salidas no resultaron satisfactorias los pesos fueronactualizados seguacuten el algoritmo de aprendizaje

Para evitar el sobreentrenamiento de la red es decir que la red aprendiese las particula-ridades propias de los patrones de entrenamiento limitando su capacidad de generalizacioacutense utilizoacute un conjunto de validacioacuten En cada iteracioacuten del proceso de entrenamiento se proboacutela red con el conjunto de validacioacuten y se calculoacute su eficacia Por norma general la eficaciade la red respecto al conjunto de entrenamiento iraacute mejorando en las sucesivas iteraciones delentrenamiento sin embargo la eficacia sobre el conjunto de validacioacuten alcanzaraacute un punto deinflexioacuten en el que la tendencia cambiaraacute La iteracioacuten donde se alcance la eficiencia maacuteximasobre el conjunto de validacioacuten marca el final del entrenamiento Una vez finalizado el en-trenamiento la red entrenada y validada se proboacute nuevamente sobre el conjunto de test paraconfirmar su eficacia con un conjunto independiente

Figura 522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP

Las pruebas de arquitectura fueron realizadas con diferentes inicializaciones de la red ta-sas de aprendizaje valores para el teacutermino momento y funciones de transferencia los mejoresresultados se obtuvieron utilizando 11 neuronas en la capa oculta con una tasa de aprendizajede 03 y un valor de momento de 09 La funcioacuten de propagacioacuten utilizada fue la suma pon-derada de las entradas de cada neurona con los pesos asociadas a ellas (incluyendo el sesgo)

56 Clasificacioacuten 105

mientras que la funcioacuten de transferencia seleccionada fue una sigmoide (tangente hiperboacuteli-ca) Los resultados de la ejecucioacuten de la red sobre los candidatos contenidos en los conjuntosde validacioacuten y test asiacute como su comparativa con el otro clasificador se muestran en detalleen el capiacutetulo 6

562 Aacuterboles de decisioacuten

Descripcioacuten

Un aacuterbol de decisioacuten [14] es un meacutetodo de aprendizaje inductivo supervisado y no para-meacutetrico que puede ser utilizado tanto para la clasificacioacuten como para la regresioacuten Se imple-menta a traveacutes de una estructura jeraacuterquica basada en una estrategia de divide y venceraacutes ygeneralmente se representa como un aacuterbol binario es decir una estructura de datos formadapor nodos en la que cada nodo que no sea final tiene dos hijos Los nodos finales son conoci-dos como hojas mientras que los intermedios son denominados nodos decisioacuten De entre lasdiferentes implementaciones posibles que se pueden encontrar en la literatura el clasificadordesarrollado se basoacute en los Aacuterboles de Clasificacioacuten y Regresioacuten (CART) propuestos porBreiman et aacutel [24]

Construccioacuten y entrenamiento del aacuterbol

El entrenamiento y construccioacuten de un aacuterbol de clasificacioacuten se realiza a partir de un con-junto de patrones de entrenamiento previamente etiquetados en el que se trata de encontrar atraveacutes de sucesivas particiones secciones en su espacio de representacioacuten en las que todos lospatrones presentes pertenezcan a una misma clase o etiqueta Cada particioacuten se representa enel aacuterbol como un nodo decisioacuten en el que se evaluacutea una caracteriacutestica presente en los patronesagrupaacutendose eacutestos acorde al resultado de la evaluacioacuten en uno de los nodos hijo generados

Sea m un nodo del aacuterbol y Nm los patrones o instancias de entrenamiento que llegan a esenodo desde el conjunto inicial N contenido en el nodo raiacutez se considera Ni

m un subconjuntode Nm que contiene patrones asociados a la clase Ci donde

sumi

Nim = Nm (511)

Dado un patroacuten que alcanza el nodo m la probabilidad de que pertenezca a la clase Ci sepuede calcular como

pim =

Nim

Nm(512)

106 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Un nodo se considera puro cuando todos los patrones que llegan a ese nodo pertenecen a unamisma clase lo cual se expresa matemaacuteticamente de la siguiente manera

m = purolArrrArrforalli pim isin 01 (513)

Los nodos puros representan hojas del aacuterbol y se etiquetan con el valor de la clase asignadaa sus patrones Si los dos nodos hijo de una particioacuten son puros dicha particioacuten se considerapura

Aunque lo ideal es realizar particiones puras la mayoriacutea no lo son y las que lo son sesituacutean en la parte inferior del aacuterbol (ramas inferiores) Es necesario establecer un meacutetodopara seleccionar la mejor particioacuten en cada punto del aacuterbol y para ello se debe cuantificar laimpureza de las posibles particiones y seleccionar la que tenga menor valor Existen diferentesmeacutetodos de cuantificar la impureza de una particioacuten siendo el meacutetodo Gini [24] uno de losmaacutes populares y el empleado para desarrollar el clasificador de SENTINAZOS El valor deGini se calcula como

1minussumi(pi

m)2 (514)

En la Figura 523 se muestra un sencillo ejemplo de construccioacuten de un aacuterbol de decisioacutenbinario El conjunto de entrenamiento estaacute formado 20 patrones pertenecientes a 2 tipos dife-rentes de clases diferentes y cada patroacuten contiene medidas para 2 caracteriacutesticas Se observaque no todas las hojas del ejemplo son puras ya que aunque es posible crear un aacuterbol sufi-cientemente grande donde todas sus hojas sean puras lo maacutes probable es que se caiga en elsobreentrenamiento por tanto es necesario utilizar reglas que gestionen el tamantildeo del aacuterbol

01 2 3 4 5 6 7

1

2

3

4

5

6

x

y

yge3

xge37

1010

6410

9 41

a b

Figura 523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario a) Patrones de entrenamiento en base a doscaracteriacutesticas b) Aacuterbol desarrollado a partir de los patrones de entrenamiento

56 Clasificacioacuten 107

Poda

El tamantildeo del aacuterbol generado puede establecerse desde dos estrategias diferentes por unlado se puede definir a priori un umbral que establezca el nuacutemero de patrones miacutenimo quedebe alcanzar un nodo para que se permita crear una nueva particioacuten lo cual implica que elaacuterbol dejaraacute de crecer en el momento en que los patrones sean inferiores a ese umbral Otraestrategia consiste en desarrollar completamente el aacuterbol hasta conseguir que todas sus hojassean puras o hasta que los patrones asociados sean inferiores a un umbral y a continuacioacutenpodarlo

El proceso de poda trata de encontrar las secciones del aacuterbol (subaacuterboles) que no apor-tan ventajas y se asocian al sobreentrenamiento Existen diferentes estrategias de poda y enel caso concreto del clasificador desarrollado la estrategia utilizada fue la de seleccionar lapoda que mejor clasificaba un conjunto de validacioacuten Utilizando un grupo independiente depatrones o conjunto de validacioacuten y de forma incremental desde las hojas hacia el nodo raiacutezse sustituyoacute cada posible subaacuterbol por una hoja etiquetada con la clase asociada a la mayoriacuteade los patrones de entrenamiento que clasificaba ese subaacuterbol Si la eficiencia del nuevo aacuterbolno era peor que la del original la poda se llevaba a cabo pues la mayor complejidad no sejustificaba

La estrategia de poda obtiene mejores resultados que la estrategia basada en detener elcrecimiento del aacuterbol ya que la poda permite que un subaacuterbol de un nodo permanezca mien-tras que su laquohermanoraquo desaparece y esto seriacutea imposible con una estrategia de parada ya queel crecimiento se detendriacutea por ambas ramas Por otro lado la estrategia de poda es maacutes lentay compleja ya que es necesario analizar los diferentes subaacuterboles de los que estaacute compuestoel aacuterbol original y encontrar la mejor poda

Clasificador

Se desarrolloacute un clasificador basado en un aacuterbol de decisioacuten binario para clasificar loscandidatos resultantes de la fase de segmentacioacuten Al igual que para la ANN presentada enla Seccioacuten 561 para el entrenamiento y desarrollo del clasificador se utilizaron 3 conjuntossiguiendo el mismo esquema de la Figura 517 el 70 de los elementos fueron utilizadospara entrenar el aacuterbol un 15 fue utilizado para podarlo (conjunto de evaluacioacuten) y el 15restante fue empleado en el test del clasificador resultante El meacutetodo Gini ha sido el empleadopara cuantificar la impureza de las particiones en el proceso de desarrollo del aacuterbol

108 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

El aacuterbol con hojas puras y generado uacutenicamente a traveacutes del entrenamiento se muestra enla Figura 524 se puede observar que el tamantildeo del aacuterbol es considerable y se le presuponeun sobreentrenamiento A traveacutes de un proceso de poda en el que se calculoacute la eficacia de losdiferentes subaacuterboles sobre el conjunto de validacioacuten se establecioacute que el mejor clasificadorera el subaacuterbol presentado en la Figura 525 Para confirmar su eficacia se utilizoacute el conjuntode test Los resultados del clasificador sobre los candidatos contenidos tanto en el conjunto detest como en el de validacioacuten se presentan en el Capiacutetulo 6

Ratio intensidad lt 204183

Sentinazo Look-alike

PCA3 lt 949121

AI lt 249877

Viento lt 298174

PCA4 lt 237383

Intensidad lt 00748946

PCA1 lt 107964

Intensidad lt 000383156 Ratio intensidad lt 249859

Viento lt 349681

PCA1 lt 532078

PCA1 lt 185418

Sentinazo Look-alike

Sentinazo

Look-alikeSentinazo

PCA5 lt -145036

PCA1 lt 491891 PCA1 lt 713184

SentinazoLook-alikeSentinazo

Ratio intensidad 160946 PCA4 lt 312993

PCA4 lt 318744

PCA1 lt 23493

PCA5 lt -377764

PCA2 lt 219814

Viento lt 563786

SentinazoLook-alike

Look-alike

Sentinazo

Look-alike

Sentinazo Look-alike

Sentinazo Look-alike

Sentinazo

Sentinazo

SentinazoLook-alike

Siacute No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

Siacute

SiacuteSiacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Figura 524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el proceso de entrenamiento

Ratio intensidad lt 204183

Sentinazo

Look-alike

PCA3 lt 949121

Sentinazo

No

NoSiacute

Siacute

Figura 525 Aacuterbol de decisioacuten binario podado

57 Validacioacuten del sistema de deteccioacuten de vertidos 109

57 Validacioacuten del sistema de deteccioacuten de vertidos

571 Desarrollo de un software de escritorio

La necesidad de evaluar los algoritmos presentados en las secciones anteriores condujoal desarrollo de un software de escritorio La implementacioacuten del prototipo se basoacute en soft-ware de coacutedigo libre y abierto con el objetivo de que pudiese ser libremente distribuido y asiacutepromover la colaboracioacuten entre la comunidad cientiacutefica

Visualizacioacuten

Para facilitar el trabajo con los datos SAR se implementoacute un visor especiacutefico que permi-tiese visualizar e interactuar (navegar aumentar y reducir) con las imaacutegenes asiacute como repre-sentarlas sobre un mapa de contexto mundial para mejorar la interpretacioacuten de los resultadosEl visor (veacutease la Figura 526) tambieacuten se disentildeoacute para acceder a los metadatos contenidos enlas cabeceras de las imaacutegenes

Figura 526 Pantalla principal del software de escritorio

110 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Identificacioacuten de sentinazos

El prototipo implementado contiene las diferentes funciones y meacutetodos de deteccioacuten desentinazos presentados en los apartados anteriores Existen dos formas de ejecutarlo por unlado automaacuteticamente a traveacutes de los paraacutemetros filtros y funciones por defecto por otrolado haciendo uso de una personalizacioacuten que permite configurar yo modificar el procesadode la imagen

ndash Filtro de ruido la aplicacioacuten dispone de un filtro de mediana un filtro de Gauss y unfiltro bilateral

ndash Filtro de aacuterea el usuario puede seleccionar el valor maacuteximo del filtro del aacuterea que seaplicaraacute a la imagen

ndash Clasificadores la aplicacioacuten permite emplear los diferentes clasificadores a traveacutes de suconfiguracioacuten por defecto o cargando una nueva base de conocimiento

El resultado de cada accioacuten ejecutada sobre la imagen es mostrado en el visor lo quepermite evaluar sus efectos La Figura 527 muestra un ejemplo del resultado obtenido trasprocesar una imagen SAR empleando los paraacutemetros por defecto maacutescara de tierra (veacutease laSeccioacuten 532) filtro de mediana de 3x3 (veacutease la Seccioacuten 533) segmentacioacuten por umbra-lizacioacuten adaptativa en base a los vientos (veacutease la Seccioacuten 541) filtro de vientos menores a3 ms (veacutease la Seccioacuten 543) filtro de aacutereas inferiores a 03 Km2 (veacutease la Seccioacuten 544) yclasificacioacuten empleando la ANN (veacutease la Seccioacuten 561)

572 Integracioacuten en RETELAB

Una vez finalizado y validado el sistema de deteccioacuten de vertidos de hidrocarburos se pro-cedioacute a su integracioacuten en RETELAB Al contrario que el prototipo de escritorio que permitiacuteair visualizando el efecto de ejecutar diferentes acciones sobre los datos SAR la versioacuten Gridde SENTINAZOS fue pensada para ser ejecutada en modo no interactivo de forma que elusuario debe seleccionar en un primer momento los paraacutemetros de la tarea y a continuacioacutenprocesarla y esperar a los resultados finales

A pesar de la limitacioacuten en cuanto a la interaccioacuten las ventajas que proporciona la compu-tacioacuten Grid al sistema SENTINAZOS son importantes

57 Validacioacuten del sistema de deteccioacuten de vertidos 111

Figura 527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de los paraacutemetros por defectoy un clasificador ANN

ndash Permite compartir los datos (vientos datos SAR etc) entre los diferentes centros par-ticipantes

ndash Los resultados obtenidos pueden ser distribuidos y utilizados para nuevos estudios porel resto de los participantes de la red por ejemplo para realizar predicciones de laevolucioacuten de los vertidos o para ejecutar algoritmos de backtracking con el objetivo dedetectar su fuente

ndash El entorno de RETELAB permite ejecutar diferentes instancias de SENTINAZOS y asiacuteprocesar diferentes aacutereas simultaacuteneamente

ndash La presencia de recursos computacionales de gran potencia puede aportar una mayorvelocidad de procesamiento

El portlet para la deteccioacuten de sentinazos permite seleccionar diferentes acciones a rea-lizar sobre los datos SAR como por ejemplo segmentar clasificar una imagen previamentesegmentada o segmentar y clasificar Para la clasificacioacuten se permite escoger uno de los dosclasificadores implementados (ANN o aacuterboles de decisioacuten) y los paraacutemetros escogidos tantopara los filtros (ruido aacuterea vientos) como para los clasificadores estaacuten prefijados

112 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Al igual que el resto de los portlets eacuteste ha sido integrado con el Data Grid (veacutease laSeccioacuten 33) tanto para poder acceder y utilizar los datos de la DB virtual como para compartirlos resultados generados Ademaacutes el portlet tambieacuten se ha integrado con el monitor de tareaspara realizar un seguimiento del estado de las tareas y acceder a los resultados que generen

La Figura 528 muestra el portlet desarrollado para SENTINAZOS y su integracioacuten en ellaboratorio de RETELAB

Figura 528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en el laboratorio virtual

CAPIacuteTULO 6

RESULTADOS

61 Eficacia

Los clasificadores presentados en las secciones 561 y 562 han sido desarrollados uti-lizando la DB de candidatos presentada en la Figura 517 es decir se han utilizado los mis-mos conjuntos para entrenar validar y probar los clasificadores lo que permitioacute realizar unacomparativa entre ellos en teacuterminos de eficacia (veacutease Tabla 61) Los datos relativos al rendi-miento del aacuterbol de decisioacuten original (sin podar) son meramente ilustrativos ya que reflejancoacutemo el sobreentrenamiento afecta a la clasificacioacuten de otros conjuntos que no sean el deentrenamiento En la praacutectica soacutelo el aacuterbol podado y la red MLP han sido utilizados comoclasificadores

Validacioacuten TestSentinazos Look-alikes Sentinazos Look-alikes

Red MLP 857 852 929 963Aacuterbol decisioacuten original 500 889 357 889Aacuterbol decisioacuten podado 929 852 929 926

Tabla 61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten y test

La eficacia de los clasificadores fue comprobada directamente sobre las imaacutegenes SARal ser eacutestos implementados como parte del prototipo descrito en la seccioacuten 571 La Figu-ra 61 muestra una composicioacuten realizada soacutelo con el objeto de facilitar la visualizacioacuten de2 imaacutegenes SAR (Figura 61a) y su correspondiente segmentacioacuten (Figura 61b) asiacute comolos resultados obtenidos por los clasificadores (Figura 61c y Figura 61d) Enmarcados en

114 Capiacutetulo 6 Resultados

color rojo se identifican varios sentinazos confirmados a traveacutes de misiones de vigilancia deSASEMAR que se detallan en la Figura 62 junto al resultado de clasificarlos mediante la redMLP

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

a b9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

c d

Figura 61 a) Composicioacuten a efectos de visualizacioacuten de 2 imaacutegenes SAR La imagen lsquo1rsquo fue obtenida el28032011 y la imagen lsquo2rsquo el 14102011 b) Composicioacuten formada por la segmentacioacuten de lasimaacutegenes SAR c) Montaje formado por los resultados de aplicar el clasificador basado en el aacuterbol dedecisioacuten a las imaacutegenes segmentadas d) Montaje formado por los resultados de aplicar el clasificadorbasado en la red MLP a las imaacutegenes segmentadas

Se puede observar que los resultados obtenidos a traveacutes del clasificador basado en el aacuterbolde decisioacuten son muy similares a los ofrecidos por el que utiliza la red MLP (sobre todo desdeel punto de vista de la deteccioacuten de sentinazos) si bien la ANN (veacutease la Figura 61d) generauna menor cantidad de falsos positivos

61 Eficacia 115

A

10deg30W10deg40W

43deg40N

0 1 2 305Millas Naacuteuticas

B

9deg50W10degW10deg10W10deg20W10deg30W

43degN

42deg50N

42deg40N

0 4 8 122Millas Naacuteuticas

C

9deg40W9deg50W10degW

42deg10N

42degN

0 2 4 61Millas Naacuteuticas

Figura 62 A la izquierda detalle de los sentinazos confirmados e identificados en la Figura 61 a la derecharesultados obtenidos a traveacutes del clasificador basado en una red MLP

116 Capiacutetulo 6 Resultados

62 Tiempo de procesamiento

El tiempo requerido para el procesamiento de las imaacutegenes en la buacutesqueda de vertidos dehidrocarburos es criacutetico y por ello los algoritmos presentados en las secciones anteriores hansido desarrollados con el objetivo de minimizarlo pero sin sacrificar su eficacia sobre todoen cuanto a la no deteccioacuten de sentinazos (falsos negativos) Ademaacutes de tener un especialcuidado en el disentildeo e implementacioacuten del software el coacutedigo se desarrolloacute pensando enobtener el mejor rendimiento de los microprocesadores multinuacutecleo presentes en la mayoriacuteade las computadoras actuales Para la implementacioacuten se empleoacute el API de OpenMP [36] quepermite adaptar y paralelizar automaacuteticamente la ejecucioacuten del coacutedigo entre los diferentesnuacutecleos de los que disponga el procesador donde se ejecuta la aplicacioacuten y asiacute obtener elmaacuteximo rendimiento

Fueron probadas dos versiones del algoritmo (claacutesica y optimizada) utilizando un nodode computacioacuten Core 2 Duo - 213 Ghz con 3 GB de RAM y despueacutes de 100 iteracionessobre una imagen de 8088 x 6481 piacutexeles la versioacuten optimizada empleoacute una media de 194segundos por ejecucioacuten mejorando un 296 el tiempo de ejecucioacuten del algoritmo claacutesico

CAPIacuteTULO 7

DISCUSIOacuteN

Debido a las condiciones tanto geograacuteficas como climatoloacutegicas de la costa gallega (aacutereade estudio) los vientos de baja intensidad generan la mayor parte de los falsos positivos olook-alikes El algoritmo desarrollado los filtra en su mayor parte en la fase de segmentacioacutenal introducir una umbralizacioacuten basada en la velocidad del viento Una de las consecuenciasde este proceso de segmentacioacuten es que algunos vertidos pueden quedar parcialmente ocultosen la salida si se encuentran situados en aacutereas afectadas por vientos de baja intensidad Modi-ficar el umbral de viento miacutenimo mejora la segmentacioacuten en algunos de los casos pero a costade incrementar notablemente el nuacutemero de falsos positivos Es muy complicado detectar sen-tinazos en aacutereas con vientos de baja intensidad debido a que la superficie del mar no genera elbrillo suficiente en la imagen SAR para que se produzca un contraste entre la superficie afec-tada por el sentinazo y el mar limpio y ademaacutes la intensidad de la sentildeal retrodispersada quellega al sateacutelite se aproxima al ruido de fondo (veacutease la Seccioacuten 521) dificultando discernirlos fenoacutemenos presentes en la superficie

A pesar de que la utilizacioacuten de los datos de viento mejoroacute considerablemente la segmen-tacioacuten eacutesta podriacutea ser maacutes precisa si se utilizasen medidas reales o provenientes de modelosde vientos maacutes precisos que el CMOD5 que trabaja directamente con los datos SAR El mo-delo CMOD5 es bastante exacto cuando se trata de velocidades de viento inferiores a 15 msy empeora con vientos de mayor intensidad [62] El error producido por el modelo aunquesea pequentildeo podriacutea ser clave para que una zona sea identificada como look-alike sobre todosi no alcanza el umbral miacutenimo de viento

118 Capiacutetulo 7 Discusioacuten

Otro de los inconvenientes que se presentan al emplear un modelo basado en los pro-pios datos SAR es la dificultad para calcular los datos de viento en las aacutereas proacuteximas a lacosta CMOD5 soacutelo calcula la velocidad del viento en la superficie oceaacutenica y necesita unalaquoventanaraquo de datos alrededor del aacuterea de estudio por lo que la presencia de la costa puededistorsionar los resultados La propia costa tambieacuten genera muchos falsos positivos al pro-teger del viento a la superficie marina generando aacutereas de baja intensidad Para evitar estosinconvenientes se ha usado una maacutescara de tierra extendida (veacutease la Seccioacuten 532) pero losresultados siguen mostrando una mayor cantidad de look-alikes en las aacutereas maacutes cercanas ala costa Aumentar la maacutescara para reducir el efecto de la costa obtendriacutea mejores resultadosdesde el punto de vista de los look-alikes pero a costa de ocultar posibles sentinazos que sehayan desplazado y que puedan ser potencialmente peligrosos para el medioambiente

La comparativa entre los diferentes sistemas de deteccioacuten de sentinazos presentes en laliteratura es especialmente complicada debido a que cada uno utiliza su propia DB para entre-nar y para validar se basa en diferentes tipos y resoluciones de imaacutegenes SAR usa diferentesvectores de caracteriacutesticas etc Ademaacutes es habitual que las DB contengan imaacutegenes con ver-tidos que solamente han sido identificados por expertos y directamente sobre la propia imagenpero sin confirmacioacuten in situ Los porcentajes de eficacia de los diferentes sistemas deben sertomados a modo de referencia pero de ellos no puede extrapolarse ninguna conclusioacuten defi-nitiva Algunos de los sistemas de deteccioacuten de hidrocarburos presentes en la literatura asiacutecomo sus porcentajes de eficacia son mostrados en la Tabla 7

Ref DB Clasificador Eficacia[37] 71 Sentinazos 68 Look-alikes Red MLP (validacioacuten

cruzada)82 Look-alikes 90 Sentinazos

[108] 34 Sentinazos 45 Look-alikes Red MLP 91 Look-alikes 87 Sentinazos[103] 71 Sentinazos 6980 Look-alikes Modelo estadiacutestico +

Sist basado en reglas99 Look-alikes 94 Sentinazos

[104] 37 Sentinazos 12110 Look-alikes Modelo estadiacutestico +Sist basado en reglas

994 Look-alikes 784 Sentinazos

[26] 41 Sentinazos 12245 Look-alikes Modelo estadiacutestico +Sist basado en reglas+ Estimador de con-fianza

897 Look-alikes 9207 Sentinazos(sin aplicar el estimador de confianza)

[41] 11 Sentinazos 6 Look-alikes 4Desconocidos

Distancia de Mahala-nobis

100 Look-alikes 82 Sentinazos 0Desconocidos

Clasificador probabi-liacutestico

67 Look-alikes 909 Sentinazos 50Desconocidos

[54] 1915 piacutexeles (552 Sentinazos 557Bajo viento 806 Superficie limpia)

Red MLP 9825 Look-alikes 9702 Sentinazos

Tabla 71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia en la clasificacioacuten

119

Los resultados de los clasificadores implementados (veacutease Tabla 61) son muy promete-dores a la vista de los porcentajes de eficacia obtenidos por los clasificadores presentes enla literatura No obstante es sorprendente que un clasificador tan sencillo como el aacuterbol dedecisioacuten binario obtenga unos resultados comparables a la mayoriacutea de clasificadores siendoeacutestos en general mucho maacutes complejos Esto puede ser debido a varios factores por un ladola mayoriacutea de los look-alikes son filtrados gracias al empleo de datos meteoroloacutegicos en lafase de segmentacioacuten por otro lado la mayoriacutea de los candidatos segmentados pueden serclasificados basaacutendose soacutelo en una de las variables del vector (ratio entre la intensidad de lospiacutexeles de la mancha respecto al aacuterea circundante) mientras que el uso de las otras varia-bles del vector permitiraacute discernir los casos maacutes problemaacuteticos siendo esto lo que marca ladiferencia entre la red neuronal implementada y el aacuterbol

La mayoriacutea de los sistemas dan sus porcentajes de eficacia en funcioacuten de la clasificacioacutende los candidatos pero en otros casos como Oacutescar Garcia-Pineda et aacutel [54] se presentala eficacia en funcioacuten de la correcta clasificacioacuten a nivel de piacutexel En general se espera unaeficacia mayor a nivel de piacutexel dado que las DB suelen estar formadas por un mayor nuacutemero derepresentantes y los errores si son pocos quedan maacutes diluidos en los porcentajes Ademaacutessi se analizan imaacutegenes completas la cantidad de piacutexeles que representan hidrocarburos esclaramente inferior a la que representa superficie limpia por lo que se espera un porcentajede eficacia media muy alto de piacutexeles correctamente etiquetados

El tiempo de procesamiento es criacutetico en un sistema que debe dar respuesta en tiempocuasi real pero la mayoriacutea de los sistemas de deteccioacuten de hidrocarburos presentes en la lite-ratura lo relegan a un segundo plano en pos de la eficacia Sin embargo una raacutepida deteccioacutenpuede marcar la diferencia a la hora de ser efectivos gestionando un vertido o incluso en labuacutesqueda de los responsables Teniendo en cuenta que en la praacutectica la mayoriacutea de los siste-mas funcionan de forma semiautomaacutetica es decir que un operador suele revisar los resultadosantes de enviar los medios de vigilancia se hace maacutes plausible que el sistema se desarrollecon el objetivo de detectar sentinazos en el intervalo de tiempo maacutes breve posible incluso sipara ello se sacrifica eficacia en la eliminacioacuten de los falsos positivos o look-alikes El sistemapresentado con una media de 194 s de tiempo de procesamiento representa una importantemejora respecto a otros sistemas como el TCNNA (65 min) el cual se aplica a imaacutegenescompletas Solberg et aacutel [104] (145 min) que utiliza factores de escape en su algoritmo parano procesar completamente la imagen es decir no utiliza todos los datos con el consecuenteriesgo de no conseguir los mejores resultados o Topouzelis et aacutel [108] (2-5 min) que utiliza

120 Capiacutetulo 7 Discusioacuten

subsecciones de la imagen de entre 4 y 16 MB previamente seleccionadas por un operadorEn otros casos se opta por reducir la resolucioacuten radiomeacutetrica y trabajar soacutelo con 256 nivelesde grises [90] [54] lo que conlleva un incremento en la velocidad de procesamiento de lasimaacutegenes pero a costa de perder informacioacuten

Es importante tener en cuenta que los datos presentados en cuanto al tiempo de procesa-miento estaacuten iacutentimamente relacionados con las caracteriacutesticas de la computadora utilizada esdecir que podriacutean ser faacutecilmente mejorados disponiendo de un hardware con mayor poten-cia y aunque esto pueda parecer obvio para cualquier software en el caso presentado cobramayor relevancia puesto que fue desarrollado para adaptarse automaacuteticamente y utilizar losdiferentes nuacutecleos disponibles

Epiacutelogo

CAPIacuteTULO 8

RESULTADOS Y CONCLUSIONES

En este trabajo se ha planteado el desarrollo despliegue y validacioacuten de un laboratorio vir-tual oceanograacutefico Partiendo de unos requisitos iniciales ambiciosos en los que se abordarondiferentes liacuteneas de investigacioacuten se desarrolloacute un entorno de trabajo basado en computacioacutenGrid enfocado a la ejecucioacuten de aplicaciones de oceanografiacutea Para validar el entorno se desa-rrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos en la superficieoceaacutenica a traveacutes de datos de sateacutelite

Las principales aportaciones del presente trabajo han sido

ndash Desarrollo de un laboratorio virtual de altas prestaciones se ha presentado un en-torno de trabajo unificado y versaacutetil que permite a los investigadores realizar una granparte de su trabajo sin necesidad de otras herramientas Como si de un laboratorio realse tratase el entorno permite

bull Administrar el acceso de los usuarios

bull Gestionar analizar y visualizar datos

bull Procesar datos utilizando recursos computacionales de altas prestaciones

bull Distribuir y compartir los resultados de los proyectos con la comunidad

ndash Desarrollo de una interfaz amigable tanto la arquitectura del sistema como su inter-faz han sido disentildeadas para abstraer a los usuarios finales de la tecnologiacutea subyacenteInternet es un entorno coacutemodo y familiar para la mayor parte de los usuarios y porello se escogioacute un portal Web como medio de acceso al sistema Grid El portal fue

124 Capiacutetulo 8 Resultados y conclusiones

implementado empleando GridSphere que proporciona un entorno de desarrollo deportales Web basado en portlets El uso de portlets permite desplegar aplicaciones inde-pendientes del middleware Grid utilizado en el sistema asiacute como reutilizarlas en otrosportales La solucioacuten tecnoloacutegica desarrollada permite al usuario centrar sus esfuerzosen el desarrollo de sus trabajos y no en el aprendizaje de las herramientas

ndash Sistema de autenticacioacuten y autorizacioacuten simplificado buscando una solucioacuten bienequilibrada entre seguridad y facilidad de uso se disentildeoacute y desarrolloacute un sistema deautenticacioacuten y autorizacioacuten integrando y mejorando diferentes tecnologiacuteas El sistemade registros de usuarios PURSe fue desplegado para abstraer a los usuarios del usode los DCs Tanto PURSe como GridSphere fueron modificados para gestionar rolesde usuarios a traveacutes de ACs y asiacute poder emplearlos como medio de autorizacioacuten enel Grid El uso de un sistema de autorizacioacuten del tipo RBAC en un Grid simplifica laadministracioacuten de los recursos y por esta razoacuten en RETELAB se integroacute el softwarePERMIS que permite gestionar poliacuteticas de seguridad basadas en roles

ndash Despliegue de un sistema de autenticacioacuten SSO los usuarios que pertenezcan a cen-tros incluidos en la red de confianza de RETELAB pueden acceder al portal sin nece-sidad de registrarse a traveacutes del sistema de autenticacioacuten de sus centros Para realizareste proceso se integroacute Shibboleth y se desarrollaron procedimientos que generan deforma temporal DCs y ACs para los usuarios externos Los datos necesarios para losdiferentes certificados son proporcionados por las organizaciones en el proceso de au-tenticacioacuten

ndash Despliegue de un sistema de almacenamiento distribuido basado en metadatosse ha disentildeado y desplegado un sistema de almacenamiento distribuido que permitea la comunidad de RETELAB compartir los datos de sus investigaciones Esta DBvirtual que soporta formatos estaacutendar en oceanografiacutea estaacute dirigida por metadatos parafacilitar el etiquetado y descripcioacuten de los datos almacenados y asiacute mejorar los sistemasde buacutesquedas Para unificar el uso de los metadatos se ha seleccionado el estaacutendar paradescribir informacioacuten geograacutefica ISO 19115

ndash Despliegue de un metaplanificador y un monitor de trabajos se ha disentildeado una in-terfaz de ejecucioacuten y monitorizacioacuten de trabajos que permite a los usuarios configurarejecutar y monitorizar sus trabajos sin que sea necesario que conozcan la infraestruc-tura hardware Para ello se ha desplegado una versioacuten mejorada del metaplanificador

125

GridWay que se encarga de gestionar en nombre del usuario la ejecucioacuten de las tareasEl monitor permite visualizar el estado de las tareas y acceder a los resultados una vezque hayan finalizado Tanto la versioacuten del GridWay utilizada como la interfaz de ejecu-cioacuten y monitorizacioacuten de los trabajos ha sido realizada por el CESGA en el marco delproyecto RETELAB

ndash Validacioacuten y distribucioacuten de los resultados utilizando la interfaz de monitorizacioacutenel usuario puede acceder a los resultados de las tareas ejecutadas Desde la interfazde resultados el usuario puede descargar los ficheros generados o compartirlos con lacomunidad publicaacutendolos previa descripcioacuten a traveacutes de metadatos en la DB virtuallo que realimenta el sistema El entorno cuenta con una herramienta avanzada para lavisualizacioacuten y validacioacuten de los datos llamada IDV (desarrollada por Unidata) Estesoftware se descarga e instala en el puesto de trabajo del usuario de forma temporal ytransparente y se ejecuta con los datos seleccionados por el usuario

ndash Desarrollo de un sistema de deteccioacuten de vertidos de hidrocarburos el laboratoriovirtual se ha validado a traveacutes del despliegue de varias aplicaciones y entre ellas porsu entidad alcance y necesidad de investigacioacuten adicional del estado del arte destacaSENTINAZOS Eacuteste es un sistema de deteccioacuten de vertidos de hidrocarburos en lasuperficie oceaacutenica que fue desarrollado con el doble propoacutesito de validar el sistema yde encontrar una solucioacuten para un problema diario de nuestras costas Las principalesaportaciones de este sistema son

bull Desarrollo de un procedimiento de segmentacioacuten adaptativo basado en la ve-locidad del viento partiendo de una DB de imaacutegenes SAR enriquecida tanto condatos de viento como con informacioacuten de vertidos de hidrocarburos se implemen-toacute un segmentador basado en una umbralizacioacuten adaptativa El establecimiento deeste umbral tiene como base el estudio de centenares de datos muestreados en losque se analizoacute la velocidad del viento el IA del sateacutelite respecto al punto mues-treado y su valor de intensidad Tras el estudio de la muestra se constatoacute que siel IA era similar las muestras asociadas a hidrocarburos teniacutean valores de intensi-dad menores a las que representaban superficie limpia pero ademaacutes se comproboacuteque estos valores teniacutean una relacioacuten directa con el viento que afectaba a la zonaEmpleando estos datos se establecioacute una funcioacuten definida por partes que repre-sentaba el umbral de intensidad del hidrocarburo seguacuten el IA y la velocidad del

126 Capiacutetulo 8 Resultados y conclusiones

viento Este procedimiento de segmentacioacuten obtiene un menor nuacutemero de falsospositivos que otras alternativas lo que permite facilitar el trabajo del clasificadory obtener mejores resultados

bull Caracterizacioacuten de los candidatos a traveacutes de la forma diferentes estudios hanconstatado que los sentinazos adquieren formas que siguen patrones singularesdebido a su origen y a su antiguumledad Partiendo de la hipoacutetesis de que la formaes un elemento diferenciador se desarrolloacute un procedimiento para caracterizar loscandidatos que generaba un vector dominado por las caracteriacutesticas relacionadascon la forma La dimensionalidad de dicho vector fue reducida a traveacutes de unPCA siendo el resultado utilizado como entrada para el clasificador

bull Sistema semiautomaacutetico de deteccioacuten de vertidos se desarrollaron y analizarondos clasificadores para separar los falsos positivos de los sentinazos Tanto la ANNcomo el aacuterbol de decisioacuten obtuvieron resultados muy prometedores El uso de unsegmentador optimizado permite emplear clasificadores maacutes sencillos por lo quese reduce el tiempo de procesamiento sin sacrificar la tasa de aciertos

bull Disminucioacuten del tiempo de procesamiento empleando un paradigma de pro-gramacioacuten paralela con memoria compartida se ha implementado un sistema quepermite procesar completamente un producto SAR en un tiempo considerable-mente inferior al usado por aplicaciones similares encontradas en la literatura Es-ta mejora en el tiempo de procesamiento permite emplear el sistema de deteccioacutencomo una herramienta de ayuda a la toma de decisiones en tiempo casi real

CAPIacuteTULO 9

TRABAJO FUTURO

91 Trabajo futuro en el proyecto RETELAB

El futuro del laboratorio virtual puede verse desde dos puntos de vista por un lado la evo-lucioacuten del propio entorno que se centraraacute en el anaacutelisis de los posibles puntos de confluenciaentre la computacioacuten Grid y la Cloud Por otro el del desarrollo y mejora de las aplicacionesdesplegadas en particular la mejora de los algoritmos para la deteccioacuten de vertidos asiacute comola adaptacioacuten de eacutestos para trabajar con datos provenientes de fuentes diferentes al Envisatcomo por ejemplo el futuro sateacutelite Sentinel-1

911 Computacioacuten Cloud

La computacioacuten Cloud es un nuevo paradigma de computacioacuten distribuida que ha surgidocon fuerza estos uacuteltimos antildeos Al igual que ocurrioacute con la computacioacuten Grid su definicioacutenha sido objeto de debate tanto en el mundo empresarial como entre la comunidad cientiacuteficaLa literatura presenta multitud de definiciones pero en general se observa que las que provie-nen del mundo empresarial se centran en la perspectiva del usuario final y su experiencia deuso mientras que desde la comunidad cientiacutefica se incluyen tambieacuten aspectos relativos a suarquitectura Foster et aacutel [48] definen la computacioacuten Cloud como

laquoUn paradigma de computacioacuten distribuida de gran envergadura dirigido por economiacuteas

de escala en el que un conjunto administrado de recursos (procesamiento almacenamiento

entornos y aplicaciones) abstractos virtualizados y dinaacutemicamente escalables se proporcio-

nan bajo demanda a clientes viacutea Internetraquo

128 Capiacutetulo 9 Trabajo futuro

La computacioacuten Cloud es un paradigma de computacioacuten distribuida altamente especiali-zado que presenta las siguientes diferencias respecto a anteriores paradigmas [48]

ndash Es altamente escalable

ndash Puede ser encapsulado como una entidad abstracta y proporcionar diferentes niveles deservicios a los clientes finales

ndash Estaacute dirigido por economiacuteas de escala

ndash Los servicios son proporcionados bajo demanda y pueden ser configurados dinaacutemica-mente a traveacutes de la virtualizacioacuten

Su arquitectura puede dividirse en capas [48] y eacutestas mantienen una estrecha relacioacuten conlos servicios proporcionados (veacutease la Figura 91)

ndash Capa de infraestructura contiene los recursos hardware maacutes baacutesicos como son los recur-sos computacionales los de almacenamiento o los relacionados con la infraestructurade red

ndash Capa de recursos unificados empleando los recursos baacutesicos se encapsulan a traveacutesde la virtualizacioacuten nuevos recursos maacutes complejos que pueden ser proporcionados alas capas superiores o directamente a los usuarios finales

ndash Capa de plataforma proporciona a los recursos unificados herramientas especializadasmiddleware y servicios Su finalidad es preparar un entorno de desarrollo o de desplie-gue que pueda ser utilizado por la capa de aplicaciones o proporcionado como servicioa los usuarios

ndash Capa de aplicaciones contiene aplicaciones que son ejecutadas en el Cloud y expuestascomo servicios para ser utilizadas por los usuarios finales

Los Clouds en general proporcionan bajo demanda hasta tres tipos de servicios a los queel usuario puede acceder a traveacutes de un navegador Web o de un API bien definida [105]

ndash Infraestructura como Servicio (IaaS) proporciona recursos computacionales (procesa-miento y almacenamiento) virtualizados Esto permite que los usuarios puedan obtenerrecursos con unas determinadas caracteriacutesticas (nuacutemero de procesadores memoria es-pacio en disco etc) para cubrir unas necesidades concretas

91 Trabajo futuro en el proyecto RETELAB 129

ndash Plataforma como Servicio (PaaS) los servicios de plataforma estaacuten pensados para pro-porcionar a los usuarios entornos especiacuteficos bien sea para desarrollar software o biensea para desplegarlo permitiendo que los usuarios se abstraigan del hardware yo con-figuraciones

ndash Sofware como Servicio (SaaS) proporciona software especiacutefico para que sea accesibleremotamente por los clientes a traveacutes de Internet

Figura 91 Arquitectura del Cloud relacionada con los servicios que proporciona Figura adaptada de [105]

912 Integracioacuten de la computacioacuten Cloud en RETELAB

La integracioacuten de la computacioacuten Cloud en el proyecto RETELAB podriacutea proporcionaruna mayor flexibilidad al laboratorio Existen varias liacuteneas de futuro interesantes para desa-rrollar

ndash Agregacioacuten de recursos bajo demanda los recursos proporcionados por RETELAB es-taacuten limitados tanto en su nuacutemero como en sus caracteriacutesticas Si la demanda de recursospor parte de los usuarios excede la capacidad del laboratorio ya sea porque la cantidadde trabajos ejecutados es mayor de la que puede absorber porque los trabajos requie-ren recursos con caracteriacutesticas superiores (nuacutemero de procesadores memoria etc) oporque necesitan de un determinado entorno de ejecucioacuten que no estaacute disponible elCloud podriacutea proporcionar una solucioacuten raacutepida y puntual Aprovechando que el Cloud

130 Capiacutetulo 9 Trabajo futuro

proporciona IaaS podriacutean agregarse bajo demanda los recursos necesarios y graciasal PaaS seriacutea posible obtener recursos con una determinada configuracioacuten La tarea deinstanciar los recursos recaeriacutea sobre el metaplanificador GridWay del que existe unplugin (Broker GW-SLA) que permite negociar con entidades externas para incorporarrecursos al Grid y que ya fue utilizado con eacutexito en proyectos previos [55]

ndash Modificacioacuten dinaacutemica de los recursos el uso de la computacioacuten Cloud tambieacuten seriacuteauacutetil para gestionar los propios recursos de RETELAB ya que podriacutea optimizar su usoCuando se ejecuta un trabajo en el laboratorio el metaplanificador necesita conocer susnecesidades para poder gestionar su ejecucioacuten Puede darse el caso de que un trabajosea asignado a un recurso libre y lo infrautilice ya que no necesita de todo su potencial(procesadores memoria etc) Mientras tanto puede llegar a la cola un trabajo queaunque realmente necesite mejores condiciones para que su ejecucioacuten sea oacuteptima po-driacutea aprovechar la parte ociosa del recurso a la espera de mejores recursos Desplegandoun Cloud sobre los recursos disponibles podriacutean virtualizarse y optimizarse generandorecursos laquoa medidaraquo Asociando a cada cada tarea informacioacuten sobre cuaacuteles seriacutean losrequisitos miacutenimos y cuaacuteles los deseados para su ejecucioacuten se podriacutea virtualizar y asig-nar un recurso en el momento en que estuviesen disponibles los recursos miacutenimos Amedida que los recursos base fuesen quedando ociosos se aprovechariacutea la escalabilidaddinaacutemica del Cloud para mejorar el recurso virtual asignado a la tarea hasta alcanzar losrequisitos deseados El metaplanificador seriacutea el encargado de gestionar este procesopor lo que seriacutea necesario extender el JSDL para soportar dicha informacioacuten

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS

921 Fuentes de datos

Los algoritmos desarrollados para localizar vertidos de hidrocarburos estaacuten basados endatos obtenidos por el sateacutelite Envisat a traveacutes del modo de operacioacuten WSM A pesar de quela base de los algoritmos es vaacutelida para otras fuentes de datos es cierto que eacutestos deberiacutean seradaptados para ajustarse a sus particularidades como por ejemplo a las diferentes resolucio-nes espaciales La adaptacioacuten de los algoritmos para trabajar con diferentes fuentes siemprefue considerado como un trabajo futuro que actualmente y debido a la peacuterdida de contactocon el sateacutelite Envisat ha cobrado mayor relevancia A corto plazo los algoritmos deberiacuteanser adaptados para analizar datos provenientes del Radarsat mientras que a medio plazo seriacutea

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 131

interesante adaptarlos para trabajar con los datos que provengan del Sentinel-1 sateacutelite cuyolanzamiento estaacute previsto para el antildeo 2013

922 Mejora de los algoritmos

Existen varias liacuteneas de trabajo que podriacutean conducir a una mejora de los algoritmos ac-tuales para la deteccioacuten de vertidos

ndash Informacioacuten contextual dado que los sentinazos son generados habitualmente por bu-ques que transitan por el ESTF o por sus cercaniacuteas seriacutea interesante antildeadir informacioacutencontextual respecto a su entorno como por ejemplo la proximidad a una posible fuentedel vertido o su localizacioacuten respecto al ESTF Esta informacioacuten podriacutea ser obtenidaempleando los propios datos SAR ya que es posible utilizarlos para detectar embarca-ciones [89] y al estar georreferenciados tambieacuten es posible posicionar los sentinazosrespecto al ESTF

ndash Incorporacioacuten de datos provenientes de los Sistemas Automaacuteticos de Identificacioacuten(AISs) de buques la Organizacioacuten Internacional Mariacutetima (IMO) requiere que la ma-yor parte de las embarcaciones posean un sistema AIS para identificarlos y localizarlosEstos sistemas enviacutean sus datos a estaciones receptoras que almacenan y procesan lainformacioacuten SASEMAR ha implantado cobertura para AIS a lo largo de toda la cos-ta espantildeola por lo que la informacioacuten recogida podriacutea ser utilizada en el sistema dedeteccioacuten para acotar los posibles causantes del vertido

ndash Incorporacioacuten de nuevos datos de viento unos pocos informes de las misiones aeacutereasa las que tuvo acceso SASEMAR conteniacutean medidas de la velocidad del viento de laszonas en las que fueron detectados vertidos Estas medidas no se ajustaban correcta-mente a las obtenidas por el modelo CMOD5 y aunque la comparacioacuten es complicadadebido a que las misiones aeacutereas eran enviadas despueacutes de obtener y procesar la imagenSAR (no correspondiacutean al mismo momento) se considera que una posible liacutenea futuraes incorporar datos reales o de otros modelos que puedan ser maacutes precisos y asiacute podercomparar los resultados con los obtenidos actualmente

ndash Anaacutelisis de nuevos clasificadores a pesar de que los resultados obtenidos con las ANNsy con los aacuterboles de decisioacuten son satisfactorios seriacutea deseable analizar otros clasifica-dores con el objetivo de alcanzar un mejor porcentaje de aciertos De entre las diferentes

132 Capiacutetulo 9 Trabajo futuro

posibilidades las Maacutequinas de Soporte Vectorial (SVM) resultan especialmente intere-santes ya que en problemas tanto de clasificacioacuten como de regresioacuten tratan de definirun hiperplano en un espacio n-dimensional que separe las posibles clases de una formaestricta desde el punto de vista matemaacutetico Otras opciones posibles seriacutean las redesfuncionales o los clasificadores basados en loacutegica borrosa

Bibliografiacutea

[1] European Space Agency (ESA) httpsearthesain

[2] PURSE Portal-based User Registration Service httpwwwGrids-centerorgsolutionspurse (Retrieved October 2012)

[3] Sakai project Web Page httpwwwsakaiprojectorg (Retrieved October 2012)

[4] The Apache Velocity Project httpvelocityapacheorg (Retrieved October 2012)

[5] Tupelo Web Page httptupeloprojectncsauiucedu (Retrieved October 2012)

[6] Xen Web page httpwwwxenorg (Retrieved October 2012)

[7] ISO 191152003 Geographic information - Metadata Technical report InternationalOrganization for Standardization 2003

[8] The Grid 2 Second Edition Blueprint for a New Computing Infrastructure MorganKaufmann 2 edition December 2003

[9] Ahmar Abbas Grid computing a practical guide to technology and applications Char-les River Media 2004

[10] A Abdelnur and S Hepper JSR 168 Portlet Specification Tech-nical report Sun Microsystems October 2003 Also available onlinehttpwwwjcporgenjsrdetailid=168 (Retrieved Sept 2012)

[11] International Energy Agency Medium-Term Oil and Gas

Markets IEA Publications 2011 Also available onlinehttpwwwieaorgpublicationsfreepublicationspublicationMTOGM2011_Unsecuredpdf(Retrieved Sept 2012)

134 Bibliografiacutea

[12] Jay Alameda Marcus Christie Geoffrey Fox Joe Futrelle Dennis Gannon MihaelHategan Gopi Kandaswamy Gregor von Laszewski Mehmet A Nacar Marlon Pier-ce Eric Roberts Charles Severance and Mary Thomas The Open Grid ComputingEnvironments collaboration portlets and services for science gateways Concurrency

Computat Pract Exper 19(6)921ndash942 2007

[13] William Allcock John Bresnahan Rajkumar Kettimuthu Michael Link Catalin Dumi-trescu Ioan Raicu and Ian Foster The Globus Striped GridFTP Framework and ServerIn Proceedings of the 2005 ACMIEEE conference on Supercomputing volume 0 of SC

rsquo05 Washington DC USA 2005 IEEE Computer Society

[14] Ethem Alpaydin Introduction to Machine Learning (Adaptive Computation and Ma-chine Learning series) chapter 9 pages 185ndash208 The MIT Press second editionDecember 2009

[15] A Andronico R Barbera A Falzone G Lo Re A Pulvirenti and A Rodolico GE-NIUS a web portal for the grid Nuclear Instruments and Methods in Physics Research

Section A Accelerators Spectrometers Detectors and Associated Equipment 502(2-3)433ndash436 April 2003

[16] A Anjomshoaa F Brisard M Drescher D Fellows A Ly S McGough D Pul-sipher and A Savva ob submission description language (jsdl) specification ver-sion 10 Technical report Open Grid Forum November 2005 Also available onlinehttpwwwogforgdocumentsGFD56pdf (Retrieved October 2012)

[17] Mario Antonioletti Malcolm Atkinson Rob Baxter Andrew Borley Neil PChue Hong Brian Collins Neil Hardman Alastair C Hume Alan Knox Mike Jack-son Amy Krause Simon Laws James Magowan Norman W Paton Dave PearsonTom Sugden Paul Watson and Martin Westhead The design and implementation ofGrid database services in OGSA-DAI Concurrency Computat Pract Exper 17(2-4)357ndash376 2005

[18] C F Balseiro P Carracedo B Goacutemez P C Leitatildeo P Montero L Naranjo E Pena-bad and V Peacuterez-Muntildeuzuri Tracking the Prestige oil spill An operational experiencein simulation at MeteoGalicia Weather 58(12)452ndash458 2003

[19] R Barbera A Falzone and A Rodolico The genius grid portal In Computing in

High Energy and Nuclear Physics volume 24 page 28 2003

Bibliografiacutea 135

[20] M J Behrenfeld and P G Falkowski A consumerrsquos guide to phytoplankton primaryproductivity models Limnology and Oceanography 1997

[21] G Benelli and A Garzelli Oil-spills detection in SAR images by fractal dimensionestimation In Geoscience and Remote Sensing Symposium 1999 IGARSS amp03999

Proceedings IEEE 1999 International volume 1 pages 218ndash220 vol1 IEEE 1999

[22] Fran Berman Geoffrey Fox and Tony Hey The Grid Past Present Future In Grid

Computing pages 9ndash50 John Wiley amp Sons Ltd 2003

[23] D Bernholdt S Bharathi D Brown K Chanchio M Chen A Chervenak L Cinqui-ni B Drach I Foster P Fox and Others The earth system grid Supporting the nextgeneration of climate modeling research Proceedings of the IEEE 93(3) 2005

[24] Leo Breiman J H Friedman R A Olshen and C J Stone Classification and Re-

gression Trees Wadsworth 1984

[25] Camilla Brekke and Anne H S Solberg Oil spill detection by satellite remote sensingRemote Sensing of Environment 95(1)1ndash13 March 2005

[26] Camilla Brekke and Anne H S Solberg Classifiers and Confidence Estimation for OilSpill Detection in ENVISAT ASAR Images IEEE Geoscience and Remote Sensing

Letters 5(1)65ndash69 January 2008

[27] D Chadwick A Otenko and E Ball Role-based access control with X509 attributecertificates Internet Computing IEEE 7(2)62ndash69 March 2003

[28] David W Chadwick and Alexander Otenko The PERMIS X509 role based privile-ge management infrastructure Future Generation Computer Systems 19(2)277ndash289February 2003

[29] C F Chen K S Chen L Y Chang and A J Chen The use of satellite imagery formonitoring coastal environment in Taiwan In Geoscience and Remote Sensing 1997

IGARSS rsquo97 Remote Sensing - A Scientific Vision for Sustainable Development 1997

IEEE International volume 3 pages 1424ndash1426 vol3 IEEE August 1997

[30] R Chinnici J J Moreau A Ryman and S Weerawarana Web Services DescriptionLanguage (WSDL) Version 20 Part 1 Core Language Technical report W3C June2007

136 Bibliografiacutea

[31] E Chuvieco Radar In Teledeteccioacuten ambiental chapter 3 pages 108ndash116 ArielPublications 1 edition May 2002

[32] P Cornillon J Gallagher and T Sgouros OPeNDAP Accessing data in a distributedheterogeneous environment Data Science Journal 2164ndash174 2003

[33] Carmen Cotelo Andreacutes Goacutemez J Ignacio Loacutepez David Mera Joseacute M Cotos J Peacute-rez Marrero and Constantino Vaacutezquez Retelab A geospatial grid web laboratoryfor the oceanographic research community Future Generation Computer Systems26(8)1157ndash1164 October 2010

[34] Joseacute M Cotos and Alejandro Tobar Teledeteccioacuten de la marea negra del petroleroPrestige In Teledeteccioacuten de pesqueriacuteas y prediccioacuten de mareas toacutexicas chapter 9pages 177ndash182 Netbiblo first edition 2002

[35] L da Fontoura Costa and R M Cesar Shape analysis and classification theory and

practice CRC 2001

[36] L Dagum and R Menon OpenMP an industry standard API for shared-memoryprogramming IEEE Computational Science and Engineering 5(1)46ndash55 January1998

[37] F Del Frate A Petrocchi J Lichtenegger and G Calabresi Neural networks for oilspill detection using ERS-SAR data IEEE Transactions on Geoscience and Remote

Sensing 38(5)2282ndash2287 September 2000

[38] Dietmar Erwin and David Snelling UNICORE A Grid Computing Environment InRizos Sakellariou John Gurd Len Freeman and John Keane editors Euro-Par 2001

Parallel Processing volume 2150 of Lecture Notes in Computer Science pages 825ndash834 Springer Berlin Heidelberg 2001

[39] Esa Oil pollution monitoring in ERS and its applications Marine Technical report1998

[40] H A Espedal Satellite SAR oil spill detection using wind history information Inter-

national Journal of Remote Sensing 20(1)49ndash65 January 1999

Bibliografiacutea 137

[41] B Fiscella A Giancaspro F Nirchio P Pavese and P Trivero Oil spill detectionusing marine SAR images International Journal of Remote Sensing 21(18)3561ndash3566 2000

[42] FAO Fisheries and Aquaculture Dept The state of world fisheries and aquaculture

2012 Food and Agriculture Organization of the United Nations 2012

[43] J Fortuny-Guasch Improved Oil Slick Detection and Classification with PolarimetricSAR In Applications of SAR Polarimetry and Polarimetric Interferometry volume 529of ESA Special Publication April 2003

[44] I Foster J Geisler B Nickless W Smith and S Tuecke Software infrastructure forthe I-WAY high-performance distributed computing experiment In High Performance

Distributed Computing 1996 Proceedings of 5th IEEE International Symposium onIEEE 1996

[45] I Foster and C Kesselman Globus A metacomputing infrastructure toolkit Interna-

tional Journal of High Performance Computing Applications 11(2) 1997

[46] I Foster and C Kesselman Computational Grids In The grid blueprint for a new

computing infrastructure chapter 2 pages 15ndash53 Morgan Kaufmann 1998

[47] I Foster and C Kesselman The Globus project A status report Future Generation

Computer Systems 15(5) 1999

[48] I Foster Y Zhao I Raicu and S Lu Cloud computing and grid computing 360-degree compared In Grid Computing Environments Workshop 2008 GCErsquo08 Ieee2008

[49] Ian Foster What is the Grid - a three point checklist GRIDtoday 1(6) July 2002

[50] Ian Foster and Carl Kesselman Concepts and Architecture In The Grid 2 Second Edi-

tion Blueprint for a New Computing Infrastructure chapter 4 pages 37ndash63 MorganKaufmann 2 edition December 2003

[51] Ian Foster Carl Kesselman Jeffrey M Nick and Steven Tuecke The physiology of thegrid In Grid Computing Making The Global Infrastructure a Reality pages 217ndash249John Wiley amp Sons Ltd 2003

138 Bibliografiacutea

[52] Ian Foster Carl Kesselman and Steven Tuecke The Anatomy of the Grid EnablingScalable Virtual Organizations Int J High Perform Comput Appl 15(3)200ndash222August 2001

[53] Ian Foster Veronika Nefedova Mehran Ahsant Rachana Ananthakrishnan Lee Li-ming Ravi Madduri Olle Mulmo Laura Pearlman and Frank Siebenlist Streamli-ning Grid Operations Definition and Deployment of a Portal-based User RegistrationService Journal of Grid Computing 4(2)135ndash144 June 2006

[54] O Garcia-Pineda B Zimmer M Howard W Pichel Li XiaoFeng and I R MacDo-nald Using SAR images to delineate ocean oil slicks with a texture-classifying neuralnetwork algorithm (TCNNA) Canadian Journal of Remote Sensing 35(5)411ndash4212009

[55] A Goacutemez Remote Conputational Tools for Radiotherapy Cancer Treatment PlanningIn K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud compu-

ting a business perspective on technology and applications chapter 9 pages 147ndash158Springer Publishing Company Incorporated 2009

[56] W W Gregg M E Conkright P Ginoux J E OrsquoReilly and N W Casey Oceanprimary production and climate Global decadal changes Geophys Res Lett30(15)1809 2003

[57] Andrew S Grimshaw Wm and CORPORATE The Legion Team The Legion visionof a worldwide virtual computer Commun ACM 40(1)39ndash45 January 1997

[58] Hecht-Nielsen Theory of the backpropagation neural network In International Joint

Conference on Neural Networks pages 593ndash605 vol1 IEEE June 1989

[59] S Hepper Comparing the JSR 168 Java Portlet Specification

with the IBM Portlet API December 2003 Also available onlinehttpwwwibmcomdeveloperworkswebspherelibrarytecharticles0312_hepperhepperhtml(Retrieved Sept 2012)

[60] H Hersbach A Stoffelen and S de Haan An improved C-band scatterome-ter ocean geophysical model function CMOD5 Journal of Geophysical Research112(C3)C03006 March 2007

Bibliografiacutea 139

[61] S Hesmer P Fischer T Buckner and I Schuster Portlet de-

velopment guide 1 edition April 2002 Also available onlineftpftpsoftwareibmcomsoftwarewebserverportalV41PortletDevelopmentGuidepdf(Retrieved Sept 2012)

[62] J Horstmann and W Koch Measurement of ocean surface winds using synthetic aper-ture radars Oceanic Engineering IEEE Journal of 30(3)508ndash515 July 2005

[63] H A Hovland J A Johannessen and G Digranes Slick detection in SAR images InProceedings of IGARSS rsquo94 - 1994 IEEE International Geoscience and Remote Sensing

Symposium pages 2038ndash2040 IEEE 1994

[64] Eduardo Huedo Ruben S Montero and Ignacio M Llorente A framework for adap-tive execution in grids Softw Pract Exper 34(7)631ndash651 2004

[65] Eduardo Huedo Rubeacuten S Montero and Ignacio M Llorente A modular meta-scheduling architecture for interfacing with pre-WS and WS Grid resource manage-ment services Future Generation Computer Systems 23(2)252ndash261 February 2007

[66] C Jackson and J Apel editors Synthetic Aperture Radar Marine Userrsquos Manual USDepartement of Commerce National Oceanic and Atmospheric Administration 1stedition April 2005 Also available online httpwwwsarusersmanualcom (RetrievedMay 2012)

[67] I T Jolliffe and MyiLibrary Principal component analysis volume 2 Wiley OnlineLibrary 2002

[68] Maozhen Li and Mark Baker Applications In The grid core technologies pages377ndash400 Wiley May 2005

[69] Maozhen Li and Mark Baker Grid Portals In The grid core technologies pages335ndash376 Wiley May 2005

[70] Maozhen Li and Mark Baker Grid Security In The grid core technologies pages124ndash152 Wiley May 2005

[71] R F Loacutepez and J M F Fernaacutendez Las Redes Neuronales Artificiales Netbiblo Sl2008

140 Bibliografiacutea

[72] Maged Marghany RADARSAT for oil spill trajectory model Environmental Mode-

lling and Software 19(5)473ndash483 2004

[73] J M M Mariacuten and S B Caacutemara Evolucioacuten de las tecnologiacuteas Grid de la informacioacutenIn Las tecnologiacuteas Grid de la informacioacuten como nueva herramienta empresarial pages87ndash111 Septem 2008

[74] S W McCandless and C Jackson Principles of Synthetic Aperture Radarchapter 1 pages 1ndash23 US Department of Commerce National Oceanic andAtmospheric Administration 1st edition April 2005 Also available onlinehttpwwwsarusersmanualcom (Retrieved May 2012)

[75] David Mera Joseacute Cotos Joaquiacuten Trinanes and Carmen Cotelo An Integrated Solutionto Store Manage and Work with Datasets Focused on Metadata in the Retelab GridProject In Sigeru Omatu Miguel Rocha Joseacute Bravo Florentino Fernaacutendez EmilioCorchado Andreacutes Bustillo and Juan Corchado editors Distributed Computing Arti-

ficial Intelligence Bioinformatics Soft Computing and Ambient Assisted Living volu-me 5518 of Lecture Notes in Computer Science chapter 71 pages 491ndash494 SpringerBerlin Heidelberg Berlin Heidelberg 2009

[76] David Mera Joseacute Cotos Joseacute Viqueira and Joseacute Varela A User Management Web Sys-tem Based on Portlets for a Grid Environment Integrating Shibboleth PURSe PERMISand Gridsphere In Juan Corchado Sara Rodriacuteguez James Llinas and Joseacute Molinaeditors International Symposium on Distributed Computing and Artificial Intelligence

2008 (DCAI 2008) volume 50 of Advances in Soft Computing chapter 3 pages 19ndash23Springer Berlin Heidelberg Berlin Heidelberg 2009

[77] David Mera Joseacute M Cotos Pedro Saco and Andreacutes Goacutemez An integrated Solutionto the Security User Access in the RETELAB Grid Project using a Web System basedon Portlets and a RBAC Model by means of User Attribute Certificates and PKI InFernando Silva Gaspar Barreira and Ligia Ribeiro editors 2nd Iberian Grid Infras-

tructure Conference Proceedings pages 296ndash307 2008

[78] David Mera Joseacute M Cotos Joseacute Varela Carmen Cotelo and J Ignacio Loacutepez AnIntegration of Several Technologies in the Architecture Definition and Deployment ofa Geospatial Grid Web Portal In Hamid R Arabnia and George A Gravvanis editors

Bibliografiacutea 141

Proceedings of the 2009 International Conference on Grid Computing and Applica-

tions pages 86ndash91 CSREA Press 2009

[79] David Mera Joseacute M Cotos Joseacute Varela-Pet and Oscar Garcia-Pineda Adaptive thres-holding algorithm based on SAR images and wind data to segment oil spills along thenorthwest coast of the Iberian Peninsula Marine Pollution Bulletin 64(10)2090ndash2096October 2012

[80] David Mera Joseacute M Cotos Joseacute R R Viqueira and Carmen Cotelo Software Inte-gration in the Development of a Spatial Data Grid Prototype based on Metadata InVicente H Garciacutea Gaspar Barreira Ignacio B Espert and Jorge Gomes editors 3rd

Iberian Grid Infrastructure Conference Proceedings pages 305ndash314 2009

[81] M Migliaccio M Tranfaglia and S A Ermakov A physical approach for the obser-vation of oil spills in SAR images Oceanic Engineering IEEE Journal of 30(3)496ndash507 July 2005

[82] Daniel Minoli A networking approach to grid computing Wiley 2005

[83] R L Morgan Scott Cantor Steven Carmody Walter Hoehn and Ken KlingensteinFederated Security The Shibboleth Approach EDUCAUSE Quarterly 27(4)12ndash172004

[84] D Murray J McWhirter S Wier and S Emmerson The Integrated Data Viewermdashaweb-enabled application for scientific analysis and visualization In 19th Intl Conf on

IIPS for Meteorology Oceanography and Hydrology 2003

[85] J Novotny The grid portal development kit Concurrency and Computation Practice

and experience 14(13-15) 2002

[86] J Novotny S Tuecke and V Welch An online credential repository for the GridMyProxy In High Performance Distributed Computing 2001 Proceedings 10th IEEE

International Symposium on pages 104ndash111 IEEE 2001

[87] Jason Novotny Michael Russell and Oliver Wehrens GridSphere a portal frameworkfor building collaborations Concurrency Computat Pract Exper 16(5)503ndash5132004

142 Bibliografiacutea

[88] M A Oliver and R Webster Kriging a method of interpolation for geographical infor-mation systems International journal of geographical information systems 4(3)313ndash332 July 1990

[89] R B Olsen and T Wahl The ship detection capability of ENVISATrsquos ASAR InIGARSS 2003 2003 IEEE International Geoscience and Remote Sensing Symposium

Proceedings (IEEE Cat No03CH37477) pages 3108ndash3110 IEEE 2003

[90] J M Torres Palenzuela L Gonzaacutelez Vilas and M Sacau Cuadrado Use of ASARimages to study the evolution of the Prestige oil spill off the Galician coast Internatio-

nal Journal of Remote Sensing 27(10)1931ndash1950 2006

[91] Joon S Park Ravi Sandhu and Gail J Ahn Role-based access control on the webACM Trans Inf Syst Secur 4(1)37ndash71 February 2001

[92] P Pavlakis D Tarchi and A Sieber On the monitoring of illicit vessel dischargesusing spaceborne sar remote sensing - a reconnaissance study in the Mediterraneansea Annals of Telecommunications 56(11)700ndash718 November 2001

[93] R Rew and G Davis NetCDF an interface for scientific data access Computer

Graphics and Applications IEEE 10(4)76ndash82 July 1990

[94] M Romberg The UNICORE architecture seamless access to distributed resources InHigh Performance Distributed Computing 1999 Proceedings The Eighth Internatio-

nal Symposium on pages 287ndash293 IEEE 1999

[95] Betlem Rosich and Peter Meadows Absolute Calibration of ASAR Level 1 ProductsGenerated with PF-ASAR Technical Report Iss 1 rev 5 ESA October 2004

[96] D E Rumelhart G E Hintont and R J Williams Learning representations by back-propagating errors Nature 323(6088) 1986

[97] M Russell J Novotny and O Wehrens Gridspherersquos Grid Portlets Computational

Methods In Science and Technology 12(1) 2006

[98] Alexander F Shchepetkin and James C McWilliams The regional oceanic modelingsystem (ROMS) a split-explicit free-surface topography-following-coordinate ocea-nic model Ocean Modelling 9(4)347ndash404 January 2005

Bibliografiacutea 143

[99] J Shiers The worldwide LHC computing grid (worldwide LCG) Computer physics

communications 177(1) 2007

[100] G Singh S Bharathi A Chervenak E Deelman C Kesselman M Manohar S Patiland L Pearlman A Metadata Catalog Service for Data Intensive Applications InSupercomputing 2003 ACMIEEE Conference page 33 IEEE November 2003

[101] J Sirott J Callahan and S Hankin Inside the live access server In 17th Intl Conferen-

ce on Interactive Information and Processing Systems for Meteorology Oceanography

and Hydrology AMS 2001

[102] Chris Smith and Ian Lumb The Open Grid Services Architecture In Grid computing

a practical guide to technology and applications chapter 9 pages 159ndash187 CharlesRiver Media 2004

[103] A H S Solberg G Storvik R Solberg and E Volden Automatic detection of oilspills in ERS SAR images IEEE Transactions on Geoscience and Remote Sensing37(4)1916ndash1924 July 1999

[104] Anne H S Solberg Camilla Brekke and Per O Husoy Oil Spill Detection in Radarsatand Envisat SAR Images IEEE Transactions on Geoscience and Remote Sensing45(3)746ndash755 March 2007

[105] K Stanoevska-Slabeva and T Wozniak Cloud Basics- An introduction to Cloud Com-puting In K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud

computing a business perspective on technology and applications Springer PublishingCompany Incorporated 2009

[106] Kevin Swingler Applying Neural Networks A Practical Guide chapter 323 pages53ndash56 Morgan Kaufmann papdsk edition May 1996

[107] M Thomas S Mock M Dahan K Mueller D Sutton and J R Boisseau TheGridPort toolkit a system for building Grid portals In High Performance Distributed

Computing 2001 Proceedings 10th IEEE International Symposium on pages 216ndash227 IEEE 2001

[108] K Topouzelis V Karathanassi P Pavlakis and D Rokos Detection and discrimi-nation between oil spills and look-alike phenomena through neural networks ISPRS

Journal of Photogrammetry and Remote Sensing 62(4)264ndash270 September 2007

144 Bibliografiacutea

[109] K Topouzelis D Stathakis and V Karathanassi Investigation of genetic algorithmscontribution to feature selection for oil spill detection Int J Remote Sens 30(3)611ndash625 January 2009

[110] Konstantinos Topouzelis Oil Spill Detection by SAR Images Dark Formation De-tection Feature Extraction and Classification Algorithms Sensors 8(10)6642ndash6659October 2008

[111] Konstantinos Topouzelis and Apostolos Psyllos Oil spill feature selection and classifi-cation using decision tree forest on SAR image data ISPRS Journal of Photogrammetry

and Remote Sensing 68135ndash143 March 2012

[112] P Troumlger R Brobst D Gruber M Mamonski and D Templeton Distributed Resour-ce Management application API Version 2 (DRMAA) Technical report Open Grid Fo-rum January 2012 Also available online httpwwwogforgdocumentsGFD194pdf(Retrieved October 2012)

[113] G Von Laszewski I Foster J Gawor and P Lane A Java commodity grid kit Con-

currency and Computation practice and experience 13(8-9) 2001

[114] Ping Wang Y Tony Song Yi Chao and Hongchun Zhang Parallel Computation ofthe Regional Ocean Modeling System International Journal of High Performance

Computing Applications 19(4)375ndash385 2005

[115] Barry Wilkinson System Infrastructure II Grid Computing Services In Grid compu-

ting techniques and applications pages 201ndash222 CRC Press 2010

[116] Chongjie Zhang Ian Kelley and Gabrielle Allen Grid portal solutions a comparisonof GridPortlets and OGCE Concurrency Computat Pract Exper 19(12)1739ndash17482007

Anexos

145

ANEXO A

COacuteDIGO FUENTE

A1 Procedimiento para el registro de una JCE

Un error no corregido del JCE Cryptix impide su uso en el caso de que alguacuten otro JCE searegistrado despueacutes de su utilizacioacuten El orden de registro de los proveedores funciona comouna lista Last In First Out (LIFO) por lo que se desarrolloacute un procedimiento para cambiar elorden de la lista en caso de que eacuteste no fuese el adecuado Una explicacioacuten maacutes detallada delproblema se presenta en la Seccioacuten 321

Cambiando Proveedores

RetelabSigningUtility signingUtility = new RetelabSigningUtility()

if (javasecuritySecuritygetProviders()lengthgt1 ampamp javasecuritySecurity

getProviders()[0]getName()equals(new String(IAIK)))

javasecurityProvider provider_iaik=javasecuritySecuritygetProvider(IAIK)

javasecuritySecurityremoveProvider(IAIK)

javasecuritySecurityinsertProviderAt(provider_iaik javasecuritySecurity

getProviders()length)

Coacutedigo A1 Modificacioacuten del orden de los proveedores JCE para evitar el bug del proveedor Cryptix

148 Anexo A Coacutedigo Fuente

A2 Gestioacuten de certificados y roles desde la interfaz de Grid-Sphere

GridSphere gestiona la autorizacioacuten de los usuarios a los portlets a traveacutes de roles mien-tras que la integracioacuten de PERMIS en RETELAB permitioacute hacer lo propio sobre los recursosdel Grid En el caso del PERMIS los roles son gestionados a traveacutes de ACs por lo que pa-ra simplificar la administracioacuten se implementaron varias modificaciones sobre el coacutedigo deGridSphere para que eacuteste pudiese gestionar los roles de los usuarios viacutea ACs y asiacute ser admi-nistrados desde un punto uacutenico Una explicacioacuten maacutes detallada del desarrollo se presenta enla Seccioacuten 321

private void saveUserRole(FormEvent event User user)

logdebug(Entering saveUserRole())

PortletRequest req = eventgetPortletRequest()

Get selected role

PortletRole selectedRole = getSelectedUserRole(event)

reqsetAttribute(role selectedRole)

If super role was chosen

if (selectedRoleequals(PortletRoleSUPER))

logdebug(Granting super role)

Grant super role

thisaclManagerServicegrantSuperRole(user)

else

Revoke super role (in case they had it)

thisaclManagerServicerevokeSuperRole(user)

Create appropriate access request

Set groups = portalConfigServicegetPortalConfigSettings()getDefaultGroups

()

Iterator it = groupsiterator()

GroupRequest groupRequest

while (ithasNext())

PortletGroup group = (PortletGroup) itnext()

GroupEntry ge = aclManagerServicegetGroupEntry(user group)

if (ge = null)

groupRequest = thisaclManagerServiceeditGroupEntry(ge)

else

groupRequest = thisaclManagerServicecreateGroupEntry()

groupRequestsetUser(user)

groupRequestsetRole(selectedRole)

groupRequestsetGroup(group)

logdebug(Granting + selectedRole + role in gridsphere)

Submit changes

A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 149

thisaclManagerServicesaveGroupEntry(groupRequest)

Start Retelab Code

String path= reqgetRealPath()

logdebug(Save Role PATH +path)

String ldapBaseDN=

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

LdapConnector ldap_conector= new LdapConnector()

try

logdebug(Fichero de propiedades +path+FileseparatorChar+WEB-INF+File

separatorChar+permis_ldapproperties)

FileInputStream file_properties =new FileInputStream(path+FileseparatorChar

+WEB-INF+FileseparatorChar+permis_ldapproperties)

logdebug(Cargando Fichero de Propiedades)

cargamos las propiedades del LDAP y de los certificados de atributos de

ficheros de propiedades

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12)

int year=new Integer(retelab_propertiesgetProperty(validityperiodbefore

year))intValue()

int month=new Integer(retelab_propertiesgetProperty(validityperiodbefore

month))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiodbefore

day))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiodafteryear

))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiodafter

month))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiodafterday))

intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

port=new Integer(retelab_propertiesgetProperty(ldapport))intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

150 Anexo A Coacutedigo Fuente

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(selectedRolegetName())

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

Eliminamos el certificado anterior

ArrayList atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttribute))

int tipo_modificacion=10=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

Creamos el nuevo certificado

atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttributecertificate

))

tipo_modificacion=00=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no encontrado

+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

End Retelab Code

logdebug(Exiting saveUserRole())

Coacutedigo A2 Integracioacuten del sistema RBAC con GridSphere Ejemplo de alta de usuarios

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS

A continuacioacuten se muestra un ejemplo de coacutemo utilizar PERMIS para gestionar a traveacutesde los roles la autorizacioacuten de un usuario para ejecutar una tarea en un recurso del Gridconcreto

ltsecurityConfig xmlns=httpwwwglobusorggt

ltmethod name=createManagedJobgt

ltauth-methodgt

ltGSITransportgt

ltGSISecureMessagegt

ltGSISecureConversationgt

ltauth-methodgt

ltmethodgt

ltauthz value=permisAuthzissrggt4PermisPDP gridmapgt

ltreject-limited-proxy value=truegt

ltsecurityConfiggt

Coacutedigo A3 Modificacioacuten de la poliacutetica de autorizacioacuten del meacutetodo createManagedJob para integrar unsistema RBAC

A4 Integracioacuten de Shibboleth en el sistema

RETELAB cuenta con un sistema de autenticacioacuten SSO soportado por el software Shibbo-leth El acceso al laboratorio de usuarios externos y sin registrar trae consigo dificultades paragestionar su autorizacioacuten ya que RETELAB se basa en DCs y ACs para administrar el usode los recursos Fue necesario desarrollar procedimientos para generar certificados tempora-les para los usuarios de Shibboleth A continuacioacuten se muestran los meacutetodos implementadospara la creacioacuten de los DCs (Coacutedigo A4) y de los ACs (Coacutedigo A5) para los usuarios deShibboleth

private void createCertificate4Shibboleth(String nameString mailString password)

Variables Autoridad Certificadora

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

152 Anexo A Coacutedigo Fuente

String ca_dir=new String()

String ca_hash=new String()

variables MyProxy

String binDir_=new String()

String hostName_=new String()

int portNumber_=0

String dn_=new String()

String dir_=new String()

int expirationLeadTime_=0

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

try

FileInputStream file_properties =new FileInputStream(path+

WEB-INF+FileseparatorChar+permis_ldapproperties)

Cargando Fichero de Propiedades de la CA y MyProxy

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

simpleCA Properties

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

MyProxy Properties

binDir_=retelab_propertiesgetProperty(myProxyBin)

hostName_=retelab_propertiesgetProperty(myProxyHost)

portNumber_=IntegerparseInt(retelab_propertiesgetProperty(

myProxyPort))

dn_=retelab_propertiesgetProperty(myProxyDn)

dir_=retelab_propertiesgetProperty(myProxyDir)

expirationLeadTime_=IntegerparseInt(retelab_properties

getProperty(expirationLeadTime))

Opciones generales de la CA

CertificateGenerationOptions cert_options= new

CertificateGenerationOptions(bin_dirtmp_dirca_dir

ca_hash)

UserCertificateGenerationinitialize(cert_options)

String certDir=null

A4 Integracioacuten de Shibboleth en el sistema 153

certDir = UserCertificateGenerationgenerate(namemail

password)

logdebug(-----gtCertificado Generadolt-------)

Use CA to sign the certs

UserCertificateGenerationsignCerts(certDir password_ca)

logdebug(-----gtCertificado Firmadolt-------)

MyProxy options

MyProxyOptions myProxyOpts= new MyProxyOptions(binDir_

hostName_portNumber_dn_ dir_ expirationLeadTime_)

MyProxyManagerinitialize(myProxyOpts)

Cambiar orden de los providers JCE debido al bug de

Cryptix

changeProviders()

Upload creds to MyProxy

MyProxyManagerstoreRemoteCredential(namepasswordtmp_dir+

+name+)

logdebug(-----gtCertificado Subido a MyProxylt-------)

Delete local certificates

RegisterUtildeleteCerts(certDir)

logdebug(-----gtEliminados certificados localeslt-------)

file_properties=null

retelab_properties=null

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(MyProxyAccessException myExc)Systemoutprintln(Error

subiendo las credenciales a MyProxy+myExc)

catch(CertificateGenerationException certExp)Systemoutprintln(

Error creando las credenciales para el usuario+certExp)

catch(Exception e)Systemoutprintln(Excepcion no controlada +e

+ End)

Coacutedigo A4 Meacutetodo para crear y almacenar DCs para los usuarios de Shibboleth

private void createAttributeCertificate4Shibboleth(SportletUser userString role)

String ldapBaseDN=

String defaultUser=null

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

154 Anexo A Coacutedigo Fuente

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

String defaultGridsphereUser=

String pathGridMap=

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

String ca_dir=new String()

String ca_hash=new String()

LdapConnector ldap_conector= new LdapConnector()

generate certificate

try

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

Cargando el fichero de propiedades del LDAP y de los Certificados

de atributos

FileInputStream file_properties =new FileInputStream(path+WEB-INF+

FileseparatorChar+permis_ldapproperties)

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12

)

int year=new Integer(retelab_propertiesgetProperty(validityperiod

beforeyear))intValue()

int month=new Integer(retelab_propertiesgetProperty(validity

periodbeforemonth))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiod

beforeday))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiod

afteryear))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiod

aftermonth))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiod

afterday))intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

A4 Integracioacuten de Shibboleth en el sistema 155

port=new Integer(retelab_propertiesgetProperty(ldapport))

intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

defaultGridsphereUser=retelab_propertiesgetProperty(gridsphere

defaultuser)

defaultUser=retelab_propertiesgetProperty(globusdefaultuser)

pathGridMap=retelab_propertiesgetProperty(globusgridmappath)

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

file_properties=null

retelab_properties=null

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

LDAPAttributeSet attributeSet = new LDAPAttributeSet()

attributeSetadd( new LDAPAttribute(objectclass new String[]top

organizationalPersoninetOrgPersonpmiUser))

attributeSetadd( new LDAPAttribute(cnusergetUserName()))

attributeSetadd( new LDAPAttribute(givennamenew String[]user

getUserName()usergetFullName() ))

attributeSetadd( new LDAPAttribute(sn usergetFamilyName()))

attributeSetadd( new LDAPAttribute(mailusergetEmailAddress()))

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(role)

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

attributeSetadd(new LDAPAttribute( attributeCertificateAttribute

generatormakeCertificate()))

ldap_conectoraddEntry(attributeSet dn)

Creamos un certificado para el usuario y lo subimos a MyProxy

createCertificate4Shibboleth(usergetUserName()usergetEmailAddress

()(String)hsgetAttribute(shibbolethuserpassword))

anhadir usuario al GRIDMAP

String entry=new String()

156 Anexo A Coacutedigo Fuente

entry= convertDnToGridMapEntry(dndefaultUser)

if (entry=)

logdebug(Adding user to Grid-mapFile +entry)

addEntryToFile (pathGridMapentry)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

Coacutedigo A5 Meacutetodo para crear y almacenar ACs para los usuarios Shibboleth

A5 Despliegue del sistema de almacenamiento distribuido

El sistema de almacenamiento de datos de RETELAB se construyoacute utilizando como baseel RLS de GT4 y el MCS La integracioacuten de estos servicios con la interfaz Web no fue inme-diata y fue necesario realizar ciertas modificaciones Tal y como se describe en los detalle deimplementacioacuten de la Seccioacuten 33 la clase GenericserviceFetcher fue modificada para hacerimpliacutecita la clase necesaria para establecer la conexioacuten con el servicio de datos

private String getWSDL(final URL url) throws IOException

Start Retelab

URL url2 = new URL(url(javanetURLStreamHandler)new orgglobusnet

protocolhttpsHandler())

InputStreamReader input = new InputStreamReader(url2openConnection()

getInputStream())

End Retelab

InputStreamReader input = new InputStreamReader(urlopenStream())

StringBuffer buf = new StringBuffer()

char[] charArray = new char[1024]

int readBytes

A5 Despliegue del sistema de almacenamiento distribuido 157

while ((readBytes = inputread(charArray)) gt= 0)

bufappend(charArray 0 readBytes)

String wsdl = buftoString()

return wsdl

Coacutedigo A6 Modificacioacuten de la clase GenericserviceFetcher para permitir la conexioacuten con el servicio demetadatos

La integracioacuten del servicio RLS con la interfaz Web implicoacute cambiar ligeramente el modode autenticar los usuarios del portal En lugar de utilizar el proxy del usuario como un paraacute-metro de un meacutetodo de autenticacioacuten del servicio fue necesario descargarlo de la sesioacuten delportal y almacenarlo local y temporalmente para que el servicio pudiese laquoencontrarloraquo ya queno soportaba el paso por variable

private DataGridWorker conectarWorker( String username) throws orgietfjgss

GSSException

GSSCredential proxy

GlobusCredential globusCred = null

proxy=ProxyManagergetDefaultProxy(username)

if(proxy instanceof orgglobusgsigssapiGlobusGSSCredentialImpl)

globusCred = ((GlobusGSSCredentialImpl)proxy)

getGlobusCredential()

Ruta para almacenar el CD

String proxyfoldername=SystemgetProperty(userhome)+

SystemgetProperty(fileseparator)+propiedades

getProperty(PATHUSERPROXIES)

String proxyfilename=proxyfoldername+SystemgetProperty(

fileseparator)+activeproxy+username

FileOutputStream out =null

File file=null

try

boolean create=true

file=new File(proxyfoldername)

if (fileexists())

create=filemkdir()

158 Anexo A Coacutedigo Fuente

if (create)

file=new File(proxyfilename)

if (fileexists())

create=filecreateNewFile()

if(create)

out = new FileOutputStream(file)

Since Java does not provide an API for setting the permissions of a file the

JGlobus module will attempt to execute the binchmod program

in the background to set the permissions of the given file If that program cannot

be executed for any reason or fails to execute correctly

a proxy file might end up with incorrect file permissions (depending on umask

setting)

Usually a warning will be displayed if that occurs (especially on Windows since bin

chmod is not supported on that platform)

if (orgglobusutilUtilsetFilePermissions

(proxyfilename 600))

Systemerrprintln(Por favor

compruebe que los permisos de

su archivo de proxy son de

solo lectura para el

propietario)

globusCredsave(out)

outclose()

catch(IOException io)ioprintStackTrace()

finally

out=null

file=null

GlobusGSSCredentialImpl gssci = new GlobusGSSCredentialImpl(

globusCredGSSCredentialINITIATE_AND_ACCEPT)

GlobusCredentialsetDefaultCredential(gsscigetGlobusCredential())

Creamos el DataGridWorker Ya dispone todos los datos necesarios

para autenticar al usuario

return new DataGridWorker(propiedadesgetProperty(METADATACATALOG

GRIDSERVICE)username)

Coacutedigo A7 Procedimiento para autenticar a un usuario en el servicio RLS

A5 Despliegue del sistema de almacenamiento distribuido 159

Listado de acroacutenimos

AATSR Radioacutemetro Avanzado de Exploracioacuten Longitudinal 81

AC Certificado de Atributos 39ndash41 43 44 56 124 148 151 156

AI Inteligencia Artificial 13

AIS Sistema Automaacutetico de Identificacioacuten 131

ANN Red Neuronal Artificial 75 98ndash100 103 107 110 111 114 126 131

API Application Programming Interface 24 26ndash28 55 116 128

ASAR Radar de Apertura Sinteacutetica Avanzado 82ndash84

AZTI Centro Tecnoloacutegico del Mar y los Alimentos del Paiacutes Vasco 11

CA Autoridad Certificadora 35 39

CART Aacuterboles de Clasificacioacuten y Regresioacuten 105

CERN Organizacioacuten Europea para la Investigacioacuten Nuclear 28

CESGA Centro de Supercomputacioacuten de Galicia 11 33 34 54 59 125

CLI Interfaz de Liacutenea de Comandos 8 21 55

CoG Java Commodity Grid Kit 24 27

DB Base de Datos 3 5 7 44 46ndash49 52 53 57 75 76 80 85 86 89 91 97 112 113118 119 124 125

162 Listado de acroacutenimos

DC Certificado Digital 29 35ndash44 49 56 124 151 153

DORIS Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite 81

DRMAA Distributed Resource Management Application 55 56

EMSA Agencia Europea de Seguridad Mariacutetima 79 85

ESA Agencia Espacial Europea 65 80 83 85

ESG Earth System Grid 29

ESTF Esquema de Separacioacuten de Traacutefico de Fisterra 77ndash79 85ndash87 89 131

GMES Monitorizacioacuten Global para el Medioambiente y la Seguridad 81

GOMOS Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Estrellas 81

GPDK Grid Portal Development Kit 23

GPIR GridPort Information Repository 27

GSI Security Grid Infrastructure 35ndash37

GT Globus Toolkit 18ndash20 23 24 28 32 34 35 37 41 45ndash49 156

GWSDL Grid Web Service Definition Language 19

HPC Computacioacuten de Alto Rendimiento 11

HTC Computacioacuten de Altas Prestaciones 6 11

IA Aacutengulo de Incidencia 68 69 73 83 84 89 90 92 93 95 125

IaaS Infraestructura como Servicio 128 130

ICCM Instituto Canario de Ciencias del Mar 11 60

IDV Integrated Data Viewer 53 54 57 61 125

IMO Organizacioacuten Internacional Mariacutetima 131

Listado de acroacutenimos 163

JAR ARchivo Java 40 47

JavaWS Java Web Start 30 53

JCE Extensioacuten Criptograacutefica de Java 41 147

JNLP Java Networking Launching Protocol 53

JRE Entorno de Ejecucioacuten de Java 53

JSDL Job Submission Description Language 55 130

JSP Java Server Pages 23 24 28

LAS Live Access Server 52 53

LDAP Lightweight Directory Access Protocol 39ndash41

LFN Nombre Loacutegico de Fichero 45 46 49

LHC Large Hadron Collider 3 28

LIFO Last In First Out 147

LRC Local Replica Catalog 46

LRR Retrorreflector Laacuteser 82

MAMS Meta Access Management System 43 44

MCS Metadata Catalog System 46 48 156

MEC Ministerio de Educacioacuten y Ciencia 10

MERIS Espectroacutemetro de Imaacutegenes de Resolucioacuten Media 81

MIPAS Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva 82

MLP Perceptroacuten Multicapa 100 101 103 104 113ndash115 118

MPI Message Passing Interface 59

MWR Radioacutemetro de Microondas 81 82

164 Listado de acroacutenimos

NetCDF Network Common Data Form 51 54 59

OGCE Open Grid Computing Environments 27 28

OGSA Open Grid Service Architecture 19 20 46

OGSI Open Grid Services Infrastructure 19

OpenMP Open Multiprocessing 59 116

PaaS Plataforma como Servicio 129 130

PCA Anaacutelisis de Componentes Principales 95 126

PDP Policy Decision Point 41 42

PFN Nombre Fiacutesico de Fichero 45 46

PKI Public Key Infrastructure 9 35

PP Produccioacuten Primaria 2 51 60

PURSe Portal-based User Registration Service 29 30 38ndash40 124

RA-2 Altiacutemetro de Radar 81 82

RBAC Control de Acceso Basado en Roles 9 11 37 39 41 124 150 151

RETEMAR Red Espantildeola de Teledeteccioacuten Marina 8 31

RLI Replica Location Index 46

RLS Replica Location Service 45 49 156ndash158

ROI Regioacuten de Intereacutes 73

ROMS Regional Ocean Model System 58 59

SaaS Sofware como Servicio 129

SAR Radar de Apertura Sinteacutetica 12 50 61 68ndash73 77 79 82 84 86 88 89 91 93 109ndash111 113 114 117 118 125 126 131

Listado de acroacutenimos 165

SASEMAR Agencia espantildeola de Salvamento y Seguridad Mariacutetima 79 80 85 114 131

SCIAMACHY Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes para CartografiacuteaAtmosfeacuterica 82

SLAR Radar Lateral Aerotransportado 66

SSO Single-Sign On 43 44 124 151

SVM Maacutequinas de Soporte Vectorial 132

UDC Universidad de la Coruntildea 12

UNICORE Uniform Interface to Computing Resources 18 23

USC Universidad de Santiago de Compostela 11 12 33

VGPM Vertically Generalised Production Model 60

VO Organizacioacuten Virtual 3ndash5 7 17 20 37

WSDL Web Services Description Language 19 48

WSM Wide Swath Mode 76 82 84ndash86 130

WSRF Web Service Resource Framework 19 20

Iacutendice alfabeacutetico

Aacuterbol de decisioacuten 105ndash108 113 114 119126 131

Nodo decisioacuten 105Nodo hoja 105ndash108Poda 107 108

ASAR 82ndash84Autoridad certificadora 35 39

Caracterizacioacuten 12 71 73 94 126Certificado de atributos 39ndash41 43 44 56

124 148 151 156Certificado digital 29 35ndash40 42ndash44 49

56 124 151 153Clasificacioacuten 10 13 71 73ndash75 90 96

111 126Clasificadores probabiliacutesticos 75CMOD5 91 117 118 131CoG 24 27Computacioacuten Cloud 127ndash130Computacioacuten distribuida 1ndash3 17 127 128Contenedor de portlets 24

EMSA 79 85Envisat 68 69 75 76 80ndash86 127 130ESA 65 80 83 85

ESG 29Espectro electromagneacutetico 82 83ESTF 77ndash79 85ndash87 89 131

Filtro de aacuterea 94 110Filtro de mediana 88 89 110Filtro de ruido 87 88 110Filtro de viento 94 110

Genius Grid Portal 28Globus Toolkit 8 18ndash20 22 23 28 30

32 45ndash49 156GPDK 23Grid 3ndash6 9 11 17ndash21 23 24 28ndash30 32

35 36 42 44ndash46 52 54 56 57110 124 130 148 151

Aplicaciones 6 19 27 28Computacioacuten 2 3 5ndash7 9 11 17ndash19

22 23 25 29 32 44 110 123127

Interfaz 21Middleware 8 22 23 124Portal 22ndash25 27ndash30 32 33 37 46

123Primera generacioacuten 22 29

168 Iacutendice alfabeacutetico

Segunda generacioacuten 24Servicios 19 20 25 27 28 41 42Sistema 4ndash6 8 11 19ndash23 27 28

30 33 35 41 54 55 60 123Tecnologiacutea 4 5 17ndash19 28

GridFTP 47GridPort 23 27GridPortlets 27 28GridSphere 25ndash28 30 32 40 41 43 44

124 148 150GridWay 11 55 56 125 130GSI 35ndash37GWSDL 19

I-WAY 17 18IDV 53 54 57 61 125ISO 19115 46 49 124

JCE 41 147

LAS 52 53Legion 18Look-alike 70 71 74ndash76 85 88 90 94

96 117ndash119LRC 46

Maacutescara de tierra 87 88 110 118MCS 46 48 156Metadatos 11 44 46 47 49 50 56 109

124Metaplanificador 11 55 56 124 130MyProxy 29 36 37 39 49

Noise floor veacutease Ruido de fondo

OGCE 27 28

OGSA 19 20 46OGSI 19Organizacioacuten virtual 3ndash5 7 17 20 21 37

P-Grade 30PCA 95 126PERMIS 40ndash42 124 148 151Polarizacioacuten 83ndash85Portlet 13 22 24ndash27 32 38 41ndash43 47

49ndash51 53 55ndash57 59 60 111112 124 148

Portlet Grid 25ndash27Prestige 78 79PURSe 29 38ndash40 124

Radar 65 66 68Radarsat 75 130RBAC 9 11 37 39 41 124 150 151Red neuronal artificial 75 98 99 103 107

110 111 114 119 126 131Backpropagation 99ndash101 103Perceptroacuten multicapa 100 103 104

113 114Resolucioacuten espacial 66 67 130RETELAB 10ndash13 26 27 30 31 33 34

36 38 39 41ndash44 46 49ndash58 6061 80 110 111 124 125 127129 130 148 151 156

Data Grid 44 47 49 50 56ndash58 61112 124

Monitor de tareas 55 112 125RLI 46RLS 45 49 156ndash158Ruido de fondo 83 84 117

Iacutendice alfabeacutetico 169

SAR 12 50 61 68ndash73 77 79 82 84 8688 89 91 93 109ndash111 113 114117 118 125 131

Segmentacioacuten 10 12 71ndash73 75 88 9193 107 110 117 125 126

Sentinazo 12 13 65 71ndash76 78 85 8690 91 94ndash96 99 110 111 114ndash119 126 131

SENTINAZOS 58 60 82 106 110ndash112125 130

Sentinel 80 81 127 131Servicios Web 19Shibboleth 43 44 124 151 153 156SLAR 66SSO 43 44 124 151

Teledeteccioacuten 2 11 31 44

Umbral adaptativo 10 73 89 92 93 110117 125

Umbral simple 73UNICORE 18 23

Vector de caracteriacutesticas 10 73 74 94ndash96 118 126

Caracteriacutesticas de forma 73 94 95Caracteriacutesticas fiacutesicas 73 95Informacioacuten contextual 74 95Texturas 74

Vertidos de hidrocarburo 10 12 60 6265 66 69 71 78 79 82 84 8587ndash89 110 116 123 125 130131

WebSphere 25 26

WSDL 19 48WSM 76 82 84ndash86 130

  • Portada
  • Iacutendice general
  • Iacutendice de figuras
  • Iacutendice de tablas
  • Introduccioacuten
    • Computacioacuten Grid
      • Aplicaciones Grid
        • Motivacioacuten
        • Objetivos
          • Objetivos concretos
            • Estructura de la memoria
              • Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica
                • Evolucioacuten de la Computacioacuten Grid
                  • Estandarizacioacuten de las tecnologiacuteas Grid
                  • Arquitectura de un sistema Grid
                  • Interfaces Grid
                    • Portales Grid primera generacioacuten
                    • Portales Grid segunda generacioacuten
                    • Portales Grid casos de estudio
                        • Proyecto RETELAB
                          • Descripcioacuten del proyecto
                            • Arquitectura general del sistema
                              • Registro y acceso de los usuarios
                                • Autenticacioacuten y autorizacioacuten
                                  • Sistema de almacenamiento distribuido
                                    • Almacenamiento de datos
                                      • Visualizacioacuten de los datos
                                        • Live Access Server
                                        • Integrated Data Viewer
                                          • Gestioacuten y monitorizacioacuten de trabajos
                                            • Integracioacuten con el sistema de almacenamiento distribuido
                                              • Validacioacuten del laboratorio virtual
                                                • ROMS
                                                • Caacutelculo del modelo de produccioacuten primaria
                                                • sentinazos
                                                  • Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacutetica de vertidos de hidrocarburos
                                                    • Estado del arte
                                                    • Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de SAR
                                                      • Descripcioacuten del proyecto
                                                      • Fuentes de datos
                                                        • Sateacutelite envisat
                                                        • Coleccioacuten de datos
                                                          • Preprocesado
                                                            • Calibrado y proyeccioacuten cartograacutefica
                                                            • Maacutescara de tierra
                                                            • Filtro de ruido
                                                              • Segmentacioacuten
                                                                • Establecimiento del umbral adaptativo
                                                                • Aplicacioacuten del umbral adaptativo
                                                                • Filtro de vientos
                                                                • Filtro de aacuterea
                                                                  • Extraccioacuten de caracteriacutesticas
                                                                  • Clasificacioacuten
                                                                    • Redes Neuronales Artificiales
                                                                    • Aacuterboles de decisioacuten
                                                                      • Validacioacuten del sistema de deteccioacuten de vertidos
                                                                        • Desarrollo de un software de escritorio
                                                                        • Integracioacuten en retelab
                                                                            • Resultados
                                                                              • Eficacia
                                                                              • Tiempo de procesamiento
                                                                                • Discusioacuten
                                                                                  • Epiacutelogo
                                                                                    • Resultados y conclusiones
                                                                                    • Trabajo futuro
                                                                                      • Trabajo futuro en el proyecto RETELAB
                                                                                        • Computacioacuten Cloud
                                                                                        • Integracioacuten de la computacioacuten Cloud en retelab
                                                                                          • Evolucioacuten de las aplicaciones desplegadas SENTINAZOS
                                                                                            • Fuentes de datos
                                                                                            • Mejora de los algoritmos
                                                                                                • Bibliografiacutea
                                                                                                • Anexos
                                                                                                • Coacutedigo Fuente
                                                                                                  • Procedimiento para el registro de una JCE
                                                                                                  • Gestioacuten de certificados y roles desde la interfaz de GridSphere
                                                                                                  • Gestioacuten de la ejecucioacuten de las tareas usando PERMIS
                                                                                                  • Integracioacuten de Shibboleth en el sistema
                                                                                                  • Despliegue del sistema de almacenamiento distribuido
                                                                                                    • Listado de acroacutenimos
                                                                                                    • Iacutendice alfabeacutetico
Page 6: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …

IX

Este trabajo no habriacutea sido posible sin el apoyo yo colaboracioacuten de las siguientes institu-ciones

ndash Sociedad de Salvamento y Seguridad Mariacutetima (SASEMAR) concretamente el Cen-tro de Coordinacioacuten de Salvamento de Finisterre que nos facilitoacute los datos sobre losvertidos detectados en la costa gallega durante los uacuteltimos antildeos

ndash Ministerio de Educacioacuten y Ciencia a traveacutes de la financiacioacuten del proyecto laquoLaboratorioVirtual para la Red Nacional de Teledeteccioacuten Oceanograacuteficaraquo con referencia ESP2006-13778-C04

ndash Xunta de Galicia a traveacutes de la financiacioacuten del proyecto laquoAnaacutelise e interpretacioacuten deimaxes de sateacutelite a partires de teacutecnicas de intelixencia artificial aplicacioacuten a contami-nantes no medio marintildeoraquo con referencia PGIDIT08SIN001236PR

ndash Universidad de Santiago de Compostela mediante el laquoPrograma de Contratos Predoc-torales de la Universidad de Santiago de Compostela 2010raquo

Iacutendice general

Iacutendice de figuras XV

Iacutendice de tablas XIX

1 Introduccioacuten 111 Computacioacuten Grid 3

111 Aplicaciones Grid 612 Motivacioacuten 713 Objetivos 8

131 Objetivos concretos 914 Estructura de la memoria 10

I Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica 15

2 Evolucioacuten de la Computacioacuten Grid 1721 Estandarizacioacuten de las tecnologiacuteas Grid 1722 Arquitectura de un sistema Grid 2023 Interfaces Grid 21

231 Portales Grid primera generacioacuten 22232 Portales Grid segunda generacioacuten 24233 Portales Grid casos de estudio 28

3 Proyecto RETELAB 3131 Descripcioacuten del proyecto 31

XII Iacutendice general

311 Arquitectura general del sistema 3232 Registro y acceso de los usuarios 34

321 Autenticacioacuten y autorizacioacuten 3733 Sistema de almacenamiento distribuido 44

331 Almacenamiento de datos 4934 Visualizacioacuten de los datos 52

341 Live Access Server 52342 Integrated Data Viewer 53

35 Gestioacuten y monitorizacioacuten de trabajos 54351 Integracioacuten con el sistema de almacenamiento distribuido 56

36 Validacioacuten del laboratorio virtual 58361 Regional Ocean Model System (ROMS) 58362 Caacutelculo del modelo de produccioacuten primaria 60363 SENTINAZOS 60

II Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacuteticade vertidos de hidrocarburos 63

4 Estado del arte 65

5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de Radar deApertura Sinteacutetica (SAR) 7751 Descripcioacuten del proyecto 7752 Fuentes de datos 80

521 Sateacutelite Envisat 80522 Coleccioacuten de datos 85

53 Preprocesado 86531 Calibrado y proyeccioacuten cartograacutefica 86532 Maacutescara de tierra 87533 Filtro de ruido 88

54 Segmentacioacuten 88541 Establecimiento del umbral adaptativo 89542 Aplicacioacuten del umbral adaptativo 93

Iacutendice general XIII

543 Filtro de vientos 94544 Filtro de aacuterea 94

55 Extraccioacuten de caracteriacutesticas 9456 Clasificacioacuten 96

561 Redes Neuronales Artificiales 98562 Aacuterboles de decisioacuten 105

57 Validacioacuten del sistema de deteccioacuten de vertidos 109571 Desarrollo de un software de escritorio 109572 Integracioacuten en RETELAB 110

6 Resultados 11361 Eficacia 11362 Tiempo de procesamiento 116

7 Discusioacuten 117

Epiacutelogo 123

8 Resultados y conclusiones 123

9 Trabajo futuro 12791 Trabajo futuro en el proyecto RETELAB 127

911 Computacioacuten Cloud 127912 Integracioacuten de la computacioacuten Cloud en RETELAB 129

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 130921 Fuentes de datos 130922 Mejora de los algoritmos 131

Bibliografiacutea 133

Anexos 145

A Coacutedigo Fuente 147A1 Procedimiento para el registro de una Extensioacuten Criptograacutefica de Java (JCE) 147A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 148

XIV Iacutendice general

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151A4 Integracioacuten de Shibboleth en el sistema 151A5 Despliegue del sistema de almacenamiento distribuido 156

Listado de acroacutenimos 161

Iacutendice alfabeacutetico 167

Iacutendice de figuras

11 Ejemplo de un sistema Grid 5

21 Evolucioacuten de las tecnologiacuteas Grid 1822 Arquitectura Grid basada en capas y construida sobre los principios del

modelo de laquoreloj de arenaraquo 2123 Ejemplo de un portal Web desarrollado a traveacutes de portlets 25

31 Arquitectura general del sistema RETELAB 3332 Recursos aportados por el Centro de Supercomputacioacuten de Galicia (CESGA) 3433 Arquitectura del sistema de registro y acceso de usuarios de RETELAB 3834 Esquema simplificado del registro y acceso de usuarios al sistema 3935 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles 4036 Esquema del control de acceso basado en roles de RETELAB 4237 Arquitectura del Data Grid desplegado en RETELAB 4538 Secuencia resumida de acciones para buscar y acceder a los datos almacenados 4739 Diagrama de clases simplificado en el que se presentan las clases utilizadas

para desarrollar las operaciones sobre la Base de Datos (DB) virtual 48310 Portlet para el almacenamiento de datos locales en RETELAB 50311 Portlet para la integracioacuten de datos externos en el sistema 51312 Portlet para el almacenamiento de los resultados generados tras la ejecucioacuten

de un trabajo 52313 Integracioacuten del Live Access Server en RETELAB 53314 Integracioacuten del Integrated Data Viewer (IDV) en RETELAB 54

XVI Iacutendice de figuras

315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten detrabajos en RETELAB 55

316 Integracioacuten del espacio de almacenamiento privado del usuario con el portletde enviacuteo de trabajos 56

317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos 57318 Portlet para la monitorizacioacuten de los trabajos de usuario 58319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten

empleando ROMS 59320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data

Grid y el sistema de visualizacioacuten de IDV 61

41 Oriacutegenes de los vertidos de hidrocarburos 6642 Resolucioacuten espacial de un radar a bordo de un sateacutelite 6743 Antena virtual generada por SAR 6844 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007) 6945 Efecto del viento en la retrodispersioacuten de un pulso SAR 7046 Sistema automaacutetico para la deteccioacuten de sentinazos 7247 Analisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo

durante el antildeo 1999 74

51 Esquema de Separacioacuten de Traacutefico de Fisterra 7852 Imagen SAR del vertido provocado por el accidente del buque petrolero

Prestige (17112002) 7953 Bases de la Agencia espantildeola de Salvamento y Seguridad Mariacutetima

(SASEMAR) en Galicia y recursos asignados a la regioacuten 8054 Espectro electromagneacutetico 8355 Retrodispersioacuten media obtenida de una imagen Radar de Apertura Sinteacutetica

Avanzado (ASAR) Wide Swath Mode (WSM) para vientos de 4 ms 6 ms y10 ms 84

56 Representacioacuten de la densidad de cobertura de la Base de Datos 8557 Aacuterea de estudio y Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF) 8658 DB de imaacutegenes con sentinazos utilizada para el proyecto SENTINAZOS 8659 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten 87510 Maacutescara de tierra utilizada en SENTINAZOS 88

Iacutendice de figuras XVII

511 Ejemplo de uso del filtro de mediana 89512 Piacutexeles muestreados agrupados seguacuten su Aacutengulo de Incidencia (IA) 90513 Elementos de la muestra agrupados por la velocidad del viento 91514 Esquema de acciones realizadas para establecer el umbral adaptativo 92515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para

distintos valores de la velocidad del viento 93516 Componentes principales y porcentaje de varianza explicado 96517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores 97518 Elementos de una neurona artificial 99519 Estructura de una red neuronal Perceptroacuten Multicapa (MLP) 100520 Ejemplo simplificado de una red MLP 101521 Esquema de la neuronas empleadas en la Red Neuronal Artificial (ANN)

desarrollada 103522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP 104523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario 106524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el

proceso de entrenamiento 108525 Aacuterbol de decisioacuten binario podado 108526 Pantalla principal del software de escritorio 109527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de

los paraacutemetros por defecto y un clasificador ANN 111528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en

el laboratorio virtual 112

61 Composicioacuten de dos imaacutegenes SAR y resultados generados por los diferentesclasificadores 114

62 Detalle de los sentinazos detectados por la ANN 115

91 Arquitectura del Cloud relacionada con los servicios que proporciona 129

Iacutendice de tablas

51 Nuacutemero de embarcaciones identificadas en el ESTF 7852 Paraacutemetros orbitales del sateacutelite Envisat 8153 Modos de operacioacuten del sensor ASAR a bordo del Envisat 8354 Coeficientes y puntos de corte para las funciones de umbral adaptativo 9355 Vector de caracteriacutesticas 9556 Componentes principales y porcentaje de varianza explicado 9657 Coeficientes de los componentes principales seleccionados 97

61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten ytest 113

71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia enla clasificacioacuten 118

CAPIacuteTULO 1

INTRODUCCIOacuteN

Las necesidades computacionales de la sociedad actual son cada vez mayores Determi-nadas aacutereas de investigacioacuten como la fiacutesica de altas energiacuteas las ciencias de la Tierra o lameteorologiacutea ven limitado su desarrollo por la necesidad de maacutes y mejores recursos compu-tacionales Aunque el desarrollo tecnoloacutegico es la primera barrera que se encuentran los in-vestigadores tambieacuten lo es el acceso a la propia tecnologiacutea ya que a menudo la tecnologiacuteamaacutes puntera es econoacutemicamente inaccesible o su uso requiere de extensos conocimientos quelimitan su generalizacioacuten

La computacioacuten distribuida surge con el objetivo de permitir la colaboracioacuten y comparti-cioacuten de recursos para reducir costes y maximizar la capacidad de almacenamiento y procesa-miento Su raacutepida evolucioacuten permitioacute a los investigadores resolver problemas complejos quehasta hace poco eran inasumibles y afrontar retos maacutes ambiciosos incluso cuando los mediosde los que disponiacutean eran escasos

La observacioacuten remota de la Tierra es un claro ejemplo en el que las necesidades compu-tacionales avanzan a un ritmo difiacutecil de igualar por el desarrollo tecnoloacutegico Desde que en1957 el Sputnik Sovieacutetico fuese el primer sateacutelite en ser enviado al espacio han sido muchaslas misiones tanto civiles como militares que se han llevado a cabo para observar remotamentela Tierra Antildeo tras antildeo el nuacutemero de misiones espaciales asiacute como el nuacutemero de proyectosde investigacioacuten relacionados con eacutestas se ha ido incrementando y al menos en un futuroa corto y medio plazo la poliacutetica a este respecto seraacute continuista ya que seguacuten un informede Euroconsult Satellite-Based Earth Observation Market Prospects to 2017 se espera quecerca de 200 nuevos sateacutelites esteacuten operativos en el 2017

2 Capiacutetulo 1 Introduccioacuten

Gracias a los avances tecnoloacutegicos las misiones se han vuelto cada vez maacutes sofisticadasy cuentan con instrumentacioacuten maacutes especializada generando un gran volumen de informa-cioacuten sobre nuestro planeta que es necesario almacenar y procesar La observacioacuten remota dela Tierra o teledeteccioacuten se ha convertido en una teacutecnica imprescindible en el seguimiento yestudio de determinados procesos ambientales criacuteticos para nuestro planeta como por ejem-plo el cambio climaacutetico el deshielo o el deterioro de la capa de ozono Del mismo modo lateledeteccioacuten tambieacuten es esencial en el seguimiento de desastres tanto naturales como provo-cados por el hombre como son los incendios los terremotos o los vertidos contaminantes Enparticular la teledeteccioacuten es una herramienta fundamental en el estudio de los oceacuteanos y susfenoacutemenos asociados

Los oceacuteanos cubren cerca de las tres cuartas partes del planeta y albergan al 97 de lasespecies pero a pesar de estas cifras a menudo no somos conscientes de su importancia einfluencia por ejemplo son el pulmoacuten del planeta ya que maacutes de la mitad de la captura mun-dial de CO2 y de la produccioacuten de oxiacutegeno se realizan a traveacutes del mecanismo conocido comoProduccioacuten Primaria (PP) [56] las actividades relacionadas con el mar sustentan al 10-12de la poblacioacuten mundial [42] y nuestra dependencia energeacutetica hacia ellos es incuestionablepuesto que aproximadamente la mitad de la produccioacuten mundial de gas natural y el 30 dela de petroacuteleo se extrae de los yacimientos presentes en el lecho marino [11]

El estudio de los oceacuteanos es una tarea interdisciplinar en el que grupos tan heterogeacuteneoscomo los de los bioacutelogos fiacutesicos meteoroacutelogos oceanoacutegrafos o informaacuteticos deben traba-jar juntos para abordar problemas de naturaleza compleja y obtener los mejores resultadosA menudo dichos grupos se encuentran dispersos y pertenecen a centros diferentes lo quesupone un problema tanto organizativo como de seguridad y en muchos casos este tipo dedificultades puede obstaculizar la buena marcha de los proyectos o directamente imposibi-litarlos Ademaacutes la gran cantidad de datos obtenidos a traveacutes de la observacioacuten remota ynecesarios para la investigacioacuten genera grandes dificultades en cuanto a su almacenamientoprocesamiento y distribucioacuten Los centros necesitan disponer tanto de recursos de compu-tacioacuten de altas prestaciones como de almacenamiento masivo acordes a las necesidades delos proyectos pero esto no siempre es posible

La computacioacuten Grid paradigma de la computacioacuten distribuida se posiciona como la tec-nologiacutea maacutes adecuada para cubrir las demandas tecnoloacutegicas de la investigacioacuten oceanograacuteficay proporcionar un acceso aacutegil y eficiente a los datos almacenados La computacioacuten Grid per-mite desplegar entornos dedicados a compartir recursos entre diferentes centros a traveacutes de la

11 Computacioacuten Grid 3

red y ademaacutes permite administrar grupos virtuales de usuarios que se forman en el marco deun proyecto para maximizar sus posibilidades en torno a objetivos comunes

11 Computacioacuten Grid

Tradicionalmente los grupos y las organizaciones para la investigacioacuten han trabajado deforma local con sus propios recursos (computadores sensores bases de datos etc) y a me-nudo la heterogeneidad de los recursos asiacute como la ausencia en el uso de estaacutendares hadificultado tanto la colaboracioacuten con otros centros como la comparticioacuten de la informacioacutenEste modelo de trabajo queda obsoleto desde el momento en que se afrontan problemas inter-disciplinares interorganizativos y que demandan cantidades ingentes de recursos que ninguacutencentro puede asumir por siacute solo Un ejemplo de ello es el proyecto Large Hadron Collider

(LHC) que genera alrededor de 15 Petabytes de datos cada antildeo [99] los cuales deben ser al-macenados procesados y distribuidos Proyectos de tal envergadura que normalmente englo-ban a multitud de grupos hacen necesario modificar la forma de trabajar y buscar alternativasque permitan compartir recursos para adaptarse a las necesidades de los proyectos

La colaboracioacuten entre grupos interdisciplinares y dispersos geograacuteficamente es una piezaclave en este nuevo modelo de trabajo ya que deja obsoleto el concepto tradicional de orga-nizacioacuten y da paso a las llamadas Organizaciones Virtuales (VOs) donde diferentes grupos seunen durante un periacuteodo de tiempo determinado y comparten sus recursos para acometer unasactividades concretas La comparticioacuten de recursos en VOs debe entenderse en el sentido maacutesgeneral es decir acceso remoto a software Bases de Datos (DBs) sensores computadorasy cualquier otro tipo de medio tanto fiacutesico como loacutegico por lo que se hacen indispensablesmeacutetodos adaptados para su gestioacuten

Durante la deacutecada de los 90 aparece una nueva aproximacioacuten denominada computacioacutenGrid que nace con los objetivos de solucionar las demandas computacionales de la sociedad yde facilitar la adaptacioacuten a los nuevos conceptos organizativos La computacioacuten Grid suponeun nuevo paradigma de computacioacuten distribuida que permite agregar y compartir recursosheterogeacuteneos y geograacuteficamente distribuidos entre diferentes organizaciones

En uno de los primeros esfuerzos por concretar el teacutermino Grid Ian Foster y Carl Kessel-man [46] lo definen como

laquoUna infraestructura hardware y software que proporciona un acceso fiable consistente

generalizado y de bajo coste a capacidades computacionales de alta calidadraquo

4 Capiacutetulo 1 Introduccioacuten

Profundizando en la descripcioacuten tenemos que

ndash Por infraestructura Foster y Kesselman se refieren a un conjunto de recursos hetero-geacuteneos que incluye datos sensores ciclos de computacioacuten etc asiacute como al hardwarenecesario para la interconexioacuten de los recursos y el software utilizado para su monito-rizacioacuten y gestioacuten

ndash El acceso es considerado fiable si proporciona a los usuarios unos niveles de rendimien-to altos predecibles y estables

ndash Por acceso consistente se entiende que se proporcionan servicios a traveacutes de interfa-ces estaacutendar y utilizando paraacutemetros normalizados El uso de estaacutendares beneficia a lageneralizacioacuten del paradigma y al desarrollo de aplicaciones de usuario

ndash Se consideraraacute que el acceso es generalizado si el usuario cuenta con un nuacutecleo deservicios geneacutericos sea cual sea el sistema Grid al que se conecta

ndash El acceso a bajo coste es determinante para su aceptacioacuten ya que su uso deberaacute ser maacutesrentable que el de sus alternativas

A medida que la tecnologiacutea Grid fue evolucionando la definicioacuten anterior fue manifes-taacutendose insuficiente e incluso se dudoacute de la necesidad de este nuevo paradigma por elloFoster et aacutel [52] redefinen el concepto y lo asocian a un problema sin resolver

laquoEl problema real que subyace tras el concepto Grid es la coordinacioacuten de organizaciones

virtuales dinaacutemicas y multiinstitucionales en la resolucioacuten de problemas y la comparticioacuten de

recursosraquo

En la definicioacuten anterior se entiende por una VO un conjunto de personas yo institucionesque se agrupan a traveacutes de una poliacutetica de comparticioacuten de recursos Las VOs pueden variaren gran medida en cuanto a su propoacutesito aacutembito tamantildeo duracioacuten y localizacioacuten

Los autores justifican la necesidad de este nuevo paradigma por no existir hasta ese mo-mento una tecnologiacutea de computacioacuten distribuida que permitiese gestionar recursos compar-tidos basaacutendose en relaciones tan flexibles como las de las VOs con sofisticados controlesde acceso que incluyesen una gestioacuten desde el punto de vista maacutes especiacutefico al maacutes generalcon delegacioacuten de credenciales o que integrase el uso de poliacuteticas tanto locales como globalesy que ademaacutes ofreciera un alto rendimiento calidad de servicio planificacioacuten de las tareasmuacuteltiple asignacioacuten de recursos monitorizacioacuten y bajo coste

11 Computacioacuten Grid 5

La Figura 11 muestra un ejemplo de un sistema Grid y del uso de los recursos compartidospor parte de dos VOs En este ejemplo tres centros ponen a disposicioacuten de la comunidadparte de sus recursos pero gestionados por una poliacutetica de acceso que filtra por la VO a laque pertenecen los usuarios Cada centro estaacute etiquetado con los recursos que comparte y lapoliacutetica de seguridad que se les aplica

Centro B

Centro C

Centro AParticipantes en la VO-Ciclos pueden utilizar potencia computacional siempre y cuando no esteacute en uso por el centro propietario

Participantes en la VO-Aeronaacuteutica pueden acceder a la BD1 y BD2

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW1

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW2 y SW3

Figura 11 Ejemplo baacutesico de un sistema Grid formado por 3 centros que comparten parte de sus recursos con dosVOs (VO-Aeronaacuteutica y VO-Ciclos) Los participantes en la VO-Ciclos aprovechan la potenciacomputacional (ciclos) de los recursos compartidos por los centros lsquoArsquo y lsquoCrsquo Los participantes de laVO-Aeronaacuteutica pueden ejecutar aplicaciones que han sido compartidas por los centros lsquoArsquo y lsquoBrsquo yacceder a las DBs del centro lsquoBrsquo Elaboracioacuten propia a partir de [52]

A medida que las tecnologiacuteas Grid se fueron popularizando el teacutermino Grid se empezoacute aexplotar comercialmente diluyeacutendose su significado y utilizaacutendose como eslogan para captarnuevos clientes Las empresas incluyeron el teacutermino en muchos productos que difiacutecilmentepodiacutean encajar dentro de su definicioacuten En un intento de delimitar el concepto Ian Foster [49]publicoacute una lista con 3 puntos baacutesicos que recogen la esencia del concepto y que en una pu-blicacioacuten posterior junto con Carl Kesselman [8] agrupoacute para proponer una nueva definicioacuten

6 Capiacutetulo 1 Introduccioacuten

laquoUn Grid es un sistema que coordina recursos distribuidos a traveacutes de protocolos e inter-

faces abiertas estaacutendar y de propoacutesito general con el objetivo de proporcionar una calidad

de servicio no trivialraquo

Los elementos clave de la definicioacuten anterior y que formaban la lista de tres puntos baacutesicosse detallan a continuacioacuten

ndash Integracioacuten y gestioacuten de recursos heterogeacuteneos y distribuidos

ndash Uso de protocolos e interfaces estaacutendar abiertos y de propoacutesito general Un sistemaGrid gestiona un entorno formado por recursos heterogeacuteneos por lo que la implemen-tacioacuten de protocolos estaacutendar y libres permitiraacute que cualquier producto o aplicacioacutentanto open-source como comercial pueda interoperar con el resto de componentes delsistema

ndash Garantiacutea de calidad de servicio en cuanto a tiempo de respuesta disponibilidad seguri-dad muacuteltiple asignacioacuten de recursos etc

111 Aplicaciones Grid

En general la computacioacuten Grid se adapta a cualquier aplicacioacuten que por su complejidadno pueda ejecutarse de forma local y que potencialmente posea un alto grado de paraleli-zacioacuten Foster y Kesselman [46] identifican 5 tipos de aplicaciones que pueden obtener elmaacuteximo rendimiento de la computacioacuten Grid pero esperan la incorporacioacuten de otros tipos amedida que la computacioacuten Grid evolucione

ndash Computacioacuten distribuida aplicaciones con problemas de alta complejidad que utilizanla computacioacuten Grid para incorporar potentes recursos computacionales

ndash Computacioacuten de Altas Prestaciones (HTC) se trata de aplicaciones que presentan pro-blemas que requieren la ejecucioacuten de tareas secuenciales con baja interdependencia

ndash Computacioacuten bajo demanda se trata de aplicaciones que utilizariacutean las capacidades dela computacioacuten Grid para satisfacer necesidades puntuales de recursos Son aplicacio-nes dirigidas por una poliacutetica de costes y no de rendimiento

ndash Computacioacuten intensiva de datos este tipo de aplicaciones se centran en sintetizar nuevainformacioacuten a traveacutes del anaacutelisis de grandes cantidades de datos Los datos son divididos

12 Motivacioacuten 7

en segmentos que pueden ser procesados de forma independiente por los diferentesrecursos del sistema Posteriormente se deberaacuten unificar las salidas parciales en unresultado final

ndash Computacioacuten colaborativa aplicaciones centradas en permitir y mejorar las interaccio-nes entre los usuarios a menudo utilizando un espacio virtual comuacuten y compartiendorecursos computacionales

La computacioacuten Grid aporta una serie de beneficios claros para los centros de investiga-cioacuten que tambieacuten pueden trasladarse a la empresa privada [82] como por ejemplo

ndash Permite compartir recursos heterogeacuteneos a traveacutes de VOs (DBs ciclos de computacioacutensoftware etc)

ndash Provee un acceso transparente a recursos remotos

ndash Reduce el nuacutemero de servidores necesarios en las organizaciones

ndash Permite agregar recursos bajo demanda Ante una eventual emergencia su flexibilidadpermitiriacutea alquilar y agregar recursos externos por un tiempo limitado

ndash Optimiza el uso de recursos organizativos compartieacutendolos cuando esteacuten infrautiliza-dos

ndash Reduce el tiempo de ejecucioacuten de aplicaciones complejas

ndash Provee tolerancia a fallos

ndash Permite la virtualizacioacuten de centros de datos

ndash Permite balancear la carga entre los diferentes recursos

12 Motivacioacuten

Como se ha visto en los apartados anteriores el estudio de los oceacuteanos es de vital im-portancia y aglutina disciplinas con poca o ninguna relacioacuten En el pasado soacutelo los grandescentros de investigacioacuten podiacutean contar con equipos multidisciplinares y recursos locales sufi-cientes para afrontar cierto tipo de proyectos La computacioacuten Grid facilitoacute la colaboracioacuten yla comparticioacuten de recursos de altas prestaciones entre centros maacutes modestos

8 Capiacutetulo 1 Introduccioacuten

Desde el punto de vista de las tecnologiacuteas a menudo los usuarios finales son reacios a uti-lizar herramientas o sistemas software que a pesar de ser adecuados para su trabajo presentenuna interfaz de usuario complicada o simplemente diferente a lo que estaacuten acostumbrados

Los middleware Grid como por ejemplo Globus permiten desplegar sistema distribuidosGrid con relativa rapidez y facilidad pero muy limitados en cuanto a usabilidad y basados enuna Interfaz de Liacutenea de Comandos (CLI) poco intuitiva y amigable lo que puede llevar areducir su grado de aceptacioacuten

Seriacutea deseable disponer de un sistema Grid enfocado a la investigacioacuten oceanograacutefica quepermita compartir recursos y posibilite la colaboracioacuten entre diferentes grupos pero desarro-llado desde la sencillez y la usabilidad ya que debido a la heterogeneidad de los grupos losconocimientos tecnoloacutegicos no seraacuten los mismos entre todos los integrantes

13 Objetivos

El presente trabajo nace con el propoacutesito de cubrir las necesidades de la Red Espantildeolade Teledeteccioacuten Marina (RETEMAR) en materia de computacioacuten de altas prestaciones Es-ta Red auna investigadores y tecnoacutelogos de diferentes centros con el objetivo de maximizarrecursos y conocimientos y dirigirlos hacia la consecucioacuten de objetivos comunes en el marcodel desarrollo de proyectos de investigacioacuten El desarrollo de un laboratorio virtual asiacute co-mo de aplicaciones y herramientas enfocadas a la investigacioacuten oceanograacutefica es clave en labuacutesqueda de la cooperacioacuten entre los diferentes socios de RETEMAR

La Red permite afrontar proyectos de mayor envergadura de la que podriacutea abarcarse demanera independiente De entre los objetivos comunes cabe destacar el intereacutes mutuo en lalucha contra la contaminacioacuten marina que desgraciadamente afecta diariamente a las costasespantildeolas

Este trabajo presenta dos objetivos principales

ndash El desarrollo y despliegue de un laboratorio virtual a traveacutes de un entorno de compu-tacioacuten distribuida que permita a los investigadores colaborar y realizar proyectos deforma conjunta

ndash Desarrollar e integrar en el laboratorio un sistema de deteccioacuten de vertidos de hidrocar-buros en el mar a partir del anaacutelisis de imaacutegenes de sateacutelite

13 Objetivos 9

El laboratorio deberaacute permitir a los investigadores acceder a recursos y datos distribuidosasiacute como a la potencia computacional y espacio de almacenamiento necesarios para desarro-llar sus trabajos El acceso deberaacute ser amigable y concebido para que los cientiacuteficos puedancentrar sus esfuerzos en la investigacioacuten y no en el aprendizaje yo utilizacioacuten de las herra-mientas

Dado que los recursos seraacuten interorganizativos la seguridad deberaacute ser una de las bases dela plataforma pero sin ser un impedimento para el trabajo por lo que las poliacuteticas de seguridaddeberiacutean ser transparentes para los usuarios finales

Para validar el uso de la plataforma se desarrollaraacute un sistema de deteccioacuten de vertidosde hidrocarburos que permita monitorizar la costa a traveacutes de imaacutegenes de sateacutelite y de formasemiautomaacutetica identificar y georreferenciar los vertidos

131 Objetivos concretos

Se propone el desarrollo de un entorno colaborativo y distribuido que constituya un labo-ratorio virtual para el desarrollo de proyectos de investigacioacuten interdisciplinares relacionadoscon la teledeteccioacuten oceanograacutefica Para ello se deberaacuten alcanzar los siguientes subobjetivos

1 Despliegue de un sistema de computacioacuten Grid que permita compartir recursos hetero-geacuteneos y distribuidos

2 Desarrollo de una interfaz de usuario amigable como medio de acceso al Grid quepermita a los usuarios finales centrarse en sus trabajos y no en las herramientas

3 Implementacioacuten de un sistema de acceso y registro de usuarios basado en Public Key

Infrastructure (PKI) y Control de Acceso Basado en Roles (RBAC)

4 Despliegue de un sistema de almacenamiento distribuido gestionado por metadatos

5 Implementacioacuten de un sistema de enviacuteo y ejecucioacuten de trabajos optimizado para selec-cionar de forma dinaacutemica y transparente al usuario el mejor recurso Grid para ejecutarla tarea

6 Desarrollo de un sistema de monitorizacioacuten que permita visualizar el estado de cadatarea enviada al Grid

7 Integracioacuten de herramientas de visualizacioacuten que permitan al usuario acceder a las co-lecciones de datos almacenadas en el laboratorio

10 Capiacutetulo 1 Introduccioacuten

8 Despliegue e integracioacuten de herramientas y aplicaciones del aacutembito oceanograacutefico parala validacioacuten del laboratorio

Con el doble propoacutesito de validar el laboratorio y de desarrollar un sistema de apoyo ala lucha contra la contaminacioacuten marina se implementaraacute una aplicacioacuten para la deteccioacutende vertidos de hidrocarburos en la superficie oceaacutenica mediante el anaacutelisis de imaacutegenes desateacutelite Los subobjetivos planteados son los siguientes

1 Desarrollo de un algoritmo de segmentacioacuten basado en una umbralizacioacuten adaptativaque permita separar los posibles vertidos del resto de la imagen

2 Integracioacuten de datos meteoroloacutegicos en el algoritmo de segmentacioacuten

3 Anaacutelisis y desarrollo de un vector de caracteriacutesticas que permita representar a los can-didatos segmentados

4 Implementacioacuten de diferentes algoritmos de clasificacioacuten que a partir de los candidatossegmentados separen los falsos positivos de los vertidos

5 Optimizacioacuten del tiempo de ejecucioacuten de los algoritmos para ser utilizados en tiempocasi real

6 Seleccioacuten del clasificador que proporcione los mejores resultados e integracioacuten del sis-tema de deteccioacuten en el laboratorio virtual

14 Estructura de la memoria

Despueacutes del actual capiacutetulo introductorio en el que se describen los oriacutegenes motivacioacuteny objetivos del trabajo la presente memoria se divide en dos grandes bloques que responden alos objetivos principales de la tesis doctoral Cada uno de estos objetivos se corresponde conun proyecto de investigacioacuten financiado por un organismo diferente pero ambos con una metacomuacuten

La primera parte detalla el desarrollo de RETELAB laquoLaboratorio Virtual para la Red Na-cional de Teledeteccioacuten Oceanograacuteficaraquo RETELAB fue desarrollado gracias a la financiacioacutendel Ministerio de Educacioacuten y Ciencia (MEC) con la referencia ESP2006-13778-C04 entrelos antildeos 2007 y 2010 Siguiendo el espiacuteritu del propio proyecto el desarrollo de RETELABaunoacute el trabajo de varias organizaciones distribuidas y heterogeacuteneas

14 Estructura de la memoria 11

ndash La Universidad de Santiago de Compostela (USC) y el Centro de Supercomputacioacutende Galicia (CESGA) se centraron en la implementacioacuten del laboratorio Por un ladola USC aportoacute su experiencia en teletedeteccioacuten anaacutelisis de imaacutegenes y desarrollo deportales y por otro lado el CESGA aportoacute su amplia su experiencia en el desarrollo deentornos de Computacioacuten de Alto Rendimiento (HPC) y Computacioacuten de Altas Presta-ciones (HTC)

ndash Los usuarios tiacutepicos del laboratorio estaban representados por el Instituto Canario deCiencias del Mar (ICCM) y el Centro Tecnoloacutegico del Mar y los Alimentos del PaiacutesVasco (AZTI) La experiencia de los investigadores de estos centros fue vital para rea-lizar el anaacutelisis de requisitos asiacute como para desarrollar las aplicaciones del laboratorio

El Capiacutetulo 2 estaacute dedicado a la descripcioacuten de diferentes aspectos de la computacioacuten Gridla Seccioacuten 21 muestra las diferentes fases en la evolucioacuten de la tecnologiacutea mientras que laSeccioacuten 22 describe la arquitectura tiacutepica de un sistema Grid para finalmente ocuparse en laSeccioacuten 23 del desarrollo de portales Web como medio de acceso a los sistemas

El Capiacutetulo 3 se centra en la implementacioacuten del laboratorio virtual de RETELAB y pro-fundiza en los diferentes moacutedulos incluidos en su desarrollo

ndash La Seccioacuten 32 describe la implementacioacuten del moacutedulo de acceso y gestioacuten de usuariosy coacutemo la integracioacuten de diferentes tecnologiacuteas permitioacute desplegar un sistema de accesousable y seguro basado en un control de acceso RBAC

ndash La Seccioacuten 33 profundiza en el despliegue y desarrollo del sistema de almacenamientodistribuido utilizado en RETELAB La integracioacuten con la interfaz Web asiacute como elempleo de metainformacioacuten para describir las colecciones de datos son dos de lospuntos fundamentales

ndash La integracioacuten de diferentes herramientas para la visualizacioacuten de las colecciones dedatos presentes en RETELAB es descrita en la Seccioacuten 34

ndash La ejecucioacuten de tareas en RETELAB asiacute como su monitorizacioacuten se aborda en laSeccioacuten 35 A pesar de que no se profundiza en los detalles de la implementacioacuten yaque esta tarea fue desarrollada principalmente por el CESGA este apartado introducecoacutemo se ha integrado y mejorado el metaplanificador GridWay para su utilizacioacuten desdeel laboratorio GridWay facilita a los usuarios el enviacuteo de tareas a un Grid seleccionandoautomaacuteticamente el mejor recurso disponible para su ejecucioacuten

12 Capiacutetulo 1 Introduccioacuten

ndash Por uacuteltimo la Seccioacuten 36 muestra diferentes aplicaciones integradas para validar ellaboratorio virtual e introduce el sistema desarrollado para detectar vertidos de hidro-carburos denominado SENTINAZOS y que centra la siguiente parte de la memoria

La segunda parte de la tesis doctoral describe en detalle el proyecto SENTINAZOS laquoAnaacute-lise e interpretacioacuten de imaxes de sateacutelite a partires de teacutecnicas de intelixencia artificialaplicacioacuten a contaminantes no medio marintildeoraquo El proyecto con referencia PGIDIT08SIN-001236PR fue financiado por la Conselleriacutea de Innovacioacuten e Industria de la Xunta de Galiciaentre los antildeos 2008 y 2010 e implicoacute en su desarrollo a la Universidad de la Coruntildea (UDC) yla USC los equipos de ambas instituciones abordaron el problema desde dos puntos de vistadiferentes pero complementarios

ndash La UDC centroacute su esfuerzos en el desarrollo de algoritmos para la deteccioacuten grandescantidades de vertidos ocasionados por cataacutestrofes

ndash La USC se implicoacute en el desarrollo de un sistema de deteccioacuten de pequentildeos vertidos(sentinazos) ocasionados generalmente por tareas de mantenimiento y en la integra-cioacuten de dicho sistema en RETELAB

Despueacutes de introducir en el Capiacutetulo 4 el problema de la contaminacioacuten oceaacutenica y elestado del arte de los sistemas de deteccioacuten de vertidos el Capiacutetulo 5 se centra en el desarrollodel sistema implementado La descripcioacuten detallada del problema a resolver (Seccioacuten 51) ylas fuentes de datos empleadas (Seccioacuten 52) son la antesala para entrar en el detalle de lasdiferentes fases y algoritmos involucrados en el anaacutelisis e interpretacioacuten de las imaacutegenes Radarde Apertura Sinteacutetica (SAR)

ndash Las diferentes acciones de preprocesado necesarias para preparar los datos SAR parasu posterior anaacutelisis son descritas en la Seccioacuten 53

ndash La segmentacioacuten de la imagen relacionando las condiciones meteoroloacutegicas con laintensidad de la sentildeal del sateacutelite se detalla en la Seccioacuten 54 Durante esta fase losposibles vertidos o candidatos son identificados y aislados

ndash La Seccioacuten 55 describe el proceso por el que cada candidato es descrito empleando unconjunto de caracteriacutesticas

14 Estructura de la memoria 13

ndash Cada candidato a traveacutes de teacutecnicas de Inteligencia Artificial (AI) es clasificado comofalso positivo o vertido seguacuten sus descriptores La implementacioacuten uso y comparacioacutende los diferentes clasificadores empleados es detallada en la Seccioacuten 56

ndash La Seccioacuten 57 describe la aplicacioacuten de escritorio desarrollada para validar el sistemaasiacute como su integracioacuten en RETELAB a traveacutes de un portlet

La parte reservada al desarrollo de SENTINAZOS finaliza con un anaacutelisis detallado (Ca-piacutetulo 6) y la discusioacuten (Capiacutetulo 7) de los resultados obtenidos

Los capiacutetulos finales de la tesis doctoral se reservan para mostrar los resultados y conclu-siones del trabajo (Capiacutetulo 8) y para perfilar las liacuteneas de investigacioacuten abiertas por la tesisdoctoral y que seriacutea interesante desarrollar a corto y medio plazo (Capiacutetulo 9)

Parte I

Laboratorio Virtual de TeledeteccioacutenOceanograacutefica

CAPIacuteTULO 2

EVOLUCIOacuteN DE LA COMPUTACIOacuteN GRID

21 Estandarizacioacuten de las tecnologiacuteas Grid

La computacioacuten Grid (veacutease el Capiacutetulo 1) es un paradigma de computacioacuten distribuidaque surge como respuesta a dos necesidades por un lado la de disponer de entornos espe-cializados en la resolucioacuten de problemas complejos con altas demandas computacionales ypor otro la de gestionar VOs que permitan la colaboracioacuten entre grupos interdisciplinares ydispersos geograacuteficamente

El camino hacia su estandarizacioacuten y globalizacioacuten (veacutease la Figura 21) se inicia a prin-cipios de la deacutecada de los 90 a partir de implementaciones ad hoc que resolviacutean problemasconcretos Las aplicaciones resultantes aprovechaban la potencia computacional procedentede unir diferentes recursos distribuidos

En esta primera etapa la meta de los desarrolladores era hacer que funcionasen las apli-caciones y explorar nuevas posibilidades tecnoloacutegicas La implementacioacuten se realizaba direc-tamente sobre los protocolos de Internet sin seguir ninguacuten tipo de estaacutendar y en general lassoluciones estaban muy limitadas en cuanto a seguridad escalabilidad robustez o interopera-bilidad

I-WAY [44] es considerado el primer Grid moderno que abrioacute la puerta al desarrollo y estu-dio de la computacioacuten Grid en profundidad [22] [9] Se presentoacute en la conferencia ACMIEEESupercomputing del antildeo 1995 (SC95) a traveacutes de una demostracioacuten en la que se conectaron17 centros de supercomputacioacuten por medio de 11 redes de alta velocidad Se creoacute un super-ordenador virtual sobre el que se probaron alrededor de 60 aplicaciones diferentes I-WAYexploroacute varios aspectos que ahora se consideran esenciales en un Grid como la seguridad o

18 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

1990 1995 2000 2005

SolucionesAd-Hoc

Globus Toolkit

Open GridServices Arch

Fun

cion

alid

ad

y e

stan

dari

zaci

oacuten

Gestioacuten de sistemas virtuales compartidos

Estaacutendar de factoImplementacioacuten uacutenica

Estaacutendares de iureMuacuteltiples implementacionesEstaacutendares de internet

Web services etc

2010

Figura 21 Evolucioacuten de las tecnologiacuteas Grid Imagen adaptada de [50]

el enviacuteo y la gestioacuten de trabajos Su eacutexito demostroacute las posibilidades de la computacioacuten Gridy llevoacute a aumentar considerablemente los esfuerzos en el desarrollo de proyectos concebidospara compartir recursos de computacioacuten distribuidos

I-WAY puede considerarse el germen del proyecto Globus [45] que surge con el objetivode investigar y desarrollar tecnologiacuteas Grid fundamentales y marca el comienzo de la segundaetapa en la evolucioacuten hacia la estandarizacioacuten El proyecto liderado por Ian Foster (codesa-rrollador de I-WAY y fundador del concepto de computacioacuten Grid) tiene uno de sus pilaresen la implementacioacuten del Globus Toolkit (GT) [47] El GT es un conjunto de componentessoftware disentildeado para desplegar infraestructuras Grid y proporcionar servicios que gestionenaspectos tales como la seguridad el enviacuteo de trabajos o la administracioacuten de los recursos

El GT se situacutea en la capa de middleware es decir entre la capa de aplicaciones de usuarioy la de recursos Esta capa proporciona herramientas que permiten que los recursos participende forma coordinada en un entorno unificado y aseguren el acceso transparente a los usuarios

Ademaacutes del GT surgieron otros proyectos para el desarrollo de infraestructuras Grid comoLegion [57] o Uniform Interface to Computing Resources (UNICORE) [94] pero desde suprimera versioacuten en 1998 el GT se posicionoacute como el middleware dominante y en 2002 susegunda versioacuten (GT2) se establecioacute como el estaacutendar de facto en el desarrollo de aplicacionesGrid

21 Estandarizacioacuten de las tecnologiacuteas Grid 19

El GT2 fue pionero en el desarrollo de sistemas Grid interoperables [50] pero aunquealgunos de sus componentes fueron desarrollados formalmente en general la implementacioacutendel GT2 careciacutea de directrices y no fue sometida a una revisioacuten puacuteblica

A medida que la computacioacuten Grid se estableciacutea y se popularizaba (trascendiendo inclusoal aacutembito acadeacutemico) se hizo maacutes patente la necesidad de desarrollar estaacutendares que aporta-sen total interoperabilidad no soacutelo a nivel de aplicaciones Grid sino tambieacuten de componentesfundamentales del sistema y permitiesen la integracioacuten de muacuteltiples tecnologiacuteas en un sistemade recursos compartidos [73]

En el antildeo 2002 surge la Open Grid Service Architecture (OGSA) [51] la cual define unestaacutendar que incluye servicios baacutesicos de computacioacuten Grid como la seguridad gestioacuten derecursos administracioacuten de trabajos etc OGSA busca la convergencia entre la tecnologiacuteaGrid y los servicios Web por lo que define una arquitectura abierta basada en servicios paradesarrollar entornos Grid OGSA no aporta detalles para la implementacioacuten del estaacutendar y enconsecuencia surge una importante dificultad OGSA requeriacutea servicios Web con estado peroel estaacutendar de dichos servicios no lo proporcionaba

En 2003 surge la Open Grid Services Infrastructure (OGSI) la cual detalla una posible im-plementacioacuten de OGSA y presenta una versioacuten modificada de los servicios Web denominadaservicios Grid [68] Estos servicios proporcionaban entre otras cosas soporte para el estadogracias a una modificacioacuten del Web Services Description Language (WSDL) [30] llamadaGrid Web Service Definition Language (GWSDL) [115] La tercera versioacuten del GT surge en2004 y en su camino hacia la estandarizacioacuten basa su implementacioacuten en el estaacutendar definidopor OGSI

La comunidad Grid pronto consideroacute que OGSI era una aproximacioacuten poco convenien-te [102] sobre todo por usar una versioacuten modificada de los servicios Web en lugar de basarseen el estaacutendar Se continuoacute trabajando para encontrar una mejor solucioacuten para la implementa-cioacuten del estaacutendar OGSA en general y para la implementacioacuten de servicios Web con estadoen particular En 2004 se propuso la especificacioacuten Web Service Resource Framework (WSRF)con el objetivo de sustituir a OGSI y aportar una implementacioacuten de los servicios Web con es-tado aceptada tanto por la comunidad Grid como por la comunidad de servicios Web WSRFintegra OGSA con los servicios Web puros y es la base para la implementacioacuten de la cuartaversioacuten del Globus Toolkit (GT4) (versioacuten empleada en el desarrollo del laboratorio virtual deRETELAB)

20 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

El teacutermino de servicio Grid ha continuado utilizaacutendose pero a partir de la especificacioacutende WSRF se asocia a cualquier servicio que de acuerdo a la nueva especificacioacuten se ajuste alas convenciones de interfaz de una infraestructura Grid

Continuando con el proceso de estandarizacioacuten Foster y Kesselman [50] anticiparon enel antildeo 2003 una futura fase en la buacutesqueda de un sistema Grid global que denominaron ges-tioacuten de sistemas virtuales compartidos Partiendo de la especificacioacuten de OGSA en esta fasese preveiacutea un incremento del conjunto de servicios y sistemas estaacutendar orientados a la inter-operabilidad Este nuevo conjunto de estaacutendares estariacutea enfocado a la administracioacuten tanto dedispositivos moacuteviles como de grandes sistemas con muacuteltiples VOs y todo ello aumentando elgrado de virtualizacioacuten enriqueciendo los modos de comparticioacuten e incrementando la calidadde servicio

22 Arquitectura de un sistema Grid

La arquitectura de un sistema Grid desarrollado con GT (veacutease la Figura 22) se divideen capas y estaacute construida sobre los principios del modelo de reloj de arena (hourglass mo-

del) [50] en el que las capas intermedias situadas en el cuello del reloj contienen un conjuntode protocolos e interfaces que los desarrolladores de servicios y aplicaciones de maacutes alto nivel(capas superiores) utilizan y que les permiten abstraerse de los desarrollos y tecnologiacuteas delas capas inferiores que gestionan el uso de los recursos locales

ndash Capa de infraestructura (Fabric layer) proporciona las operaciones baacutesicas sobre losrecursos que seraacuten utilizadas como base para el desarrollo de operaciones de maacutes altonivel

ndash Capa de conectividad (Connectivity layer) define el nuacutecleo de los protocolos utilizadospara la comunicacioacuten y la autenticacioacuten requeridos en las transacciones

ndash Capa de recursos (Resource layer) contiene los protocolos necesarios para gestionar deforma remota el acceso e interaccioacuten con los recursos individuales

ndash Capa colectiva (Collective layer) contiene protocolos para la gestioacuten de recursos muacutel-tiples Utiliza los protocolos definidos en las capas inferiores para implementar susoperaciones

23 Interfaces Grid 21

Recursos locales computadoras redes

almacenamiento sensores etc

Acceso seguro a recursos y servicios

Gestioacuten de recursos muacuteltiples diagnoacutestico monitorizacioacuten

etc

Herramientas y aplicaciones de usuario

Capa de aplicaciones

Capa colectiva

Capa de recursos

Capa de conectividad

Capa de infraestructura

Figura 22 Arquitectura Grid basada en capas y construida sobre los principios del modelo de laquoreloj de arenaraquoFigura adaptada de [50]

ndash Capa de aplicaciones (Application layer) esta capa contiene las aplicaciones de usua-rio que se implementan de forma especiacutefica para dar respuesta a un problema dentrodel entorno de una organizacioacuten virtual Para su desarrollo se utilizan las interfacesdesarrolladas en las capas inferiores

23 Interfaces Grid

Existen dos tipos de usuarios relacionados con los sistemas Grid desarrolladores y usua-rios finales Es habitual que los usuarios no tengan grandes conocimientos tecnoloacutegicos y enparticular la formacioacuten en este aacutembito es muy escasa Eacutestos ven al sistema como un mediopara desarrollar su trabajo por lo que la usabilidad del entorno ha de ser primordial La CLIes la solucioacuten baacutesica para el acceso a un Grid pero es muy poco amigable y requiere de unestudio previo de los comandos y sus formas de uso por lo que habitualmente es rechazadapor los usuarios finales Es conveniente desarrollar entornos que faciliten el acceso y utiliza-cioacuten de los sistemas y en la medida de lo posible que abstraigan a los usuarios de los detallestecnoloacutegicos para que puedan centrarse en sus trabajos

Con el desarrollo de la Web 20 surge la tendencia de migrar aplicaciones y sistemas ala Web convirtiendo Internet en un entorno amigable y conocido para el usuario La compu-

22 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

tacioacuten Grid no fue ajena a este cambio y surgieron los llamados portales Grid que actuabancomo interfaces de acceso a los sistemas distribuidos El acceso Web suponiacutea una evolucioacutenen cuanto a la generalizacioacuten y popularizacioacuten de los sistemas Grid ya que permitiacutea accedera los usuarios en cualquier momento y desde cualquier lugar a traveacutes de una interfaz ergonoacute-mica y sin tener que instalar software especiacutefico Desde el punto de vista de su finalidad losportales Grid pueden dividirse en dos categoriacuteas

ndash Portales Grid especializados proveen de un subconjunto de operaciones Grid en elmarco de una aplicacioacuten especiacutefica

ndash Portales Grid de propoacutesito general proveen de un acceso baacutesico y sin propoacutesito concre-to a servicios y recursos de un Grid

Los desarrollos de portales Grid pueden dividirse en dos generaciones dependiendo desu implementacioacuten y tecnologiacuteas utilizadas [69] la primera generacioacuten estaacute caracterizada pordesarrollos fuertemente acoplados con el middleware (habitualmente GT2) mientras que lasegunda generacioacuten hace uso de tecnologiacuteas como por ejemplo los portlets que permitensoluciones maacutes configurables y dinaacutemicas

231 Portales Grid primera generacioacuten

Surgen a mediados de los antildeos 90 como una forma de hacer maacutes accesibles y usables lossistemas Grid Se realizaron grandes esfuerzos para implementar entornos de computacioacutenGrid que ofreciesen a traveacutes de la Web los mismos servicios que un sistema Grid claacutesico Estosdesarrollos previos a los estaacutendares (veacutease la Seccioacuten 21) son soluciones personalizadaspoco modulares y fuertemente acopladas con el middleware Esta primera generacioacuten aportoacutesoluciones pero sobre todo un valioso conocimiento de la problemaacutetica que permitioacute allanarel terreno para desarrollos posteriores A continuacioacuten se detallan algunas de las limitacionesmaacutes importantes [69]

ndash Los portales tienen poca o ninguna posibilidad de personalizacioacuten por parte del usuariofinal

ndash El alto acoplamiento entre los portales y el middleware Grid hace que sea muy compli-cado integrar servicios suministrados por otro middleware

23 Interfaces Grid 23

ndash En esta eacutepoca el desarrollo de la computacioacuten Grid era muy dinaacutemico La integracioacutende nuevas funcionalidades Grid no contempladas desde un primer momento era muycomplicada

Aunque no son los uacutenicos los ejemplos presentados a continuacioacuten son una muestra rele-vante de sistemas de primera generacioacuten Es importante destacar que se describen las primerasversiones importantes pero que eacutestos han continuado evolucionando y cambiando por lo quelas limitaciones mencionadas no tienen que estar presentes en las sucesivas versiones

UNICORE Uno de los primeros ejemplos importantes de portales Grid de propoacutesitogeneral fue UNICORE [94] No dependiacutea de ninguna implementacioacuten especiacutefica ni de servi-cios ni de un middleware Grid sino que se trataba de una solucioacuten completa para la gestioacuten yuso de una red de recursos heterogeacuteneos y distribuidos En los primeros prototipos el accesoa UNICORE se proporcionaba a traveacutes de un applet disponible a traveacutes de la Web Imple-mentaciones posteriores descartaron el uso del applet en beneficio de una aplicacioacuten Java deescritorio [38]

GridPort 20 Es un toolkit basado en scripts CGI de Perl para desarrollar y desplegarraacutepidamente portales Grid [107] Fue implementado pensando en potenciar la compatibilidada expensas de sacrificar rendimiento y flexibilidad y por ello se utilizaron tecnologiacuteas baacutesicasy se descartaron otras maacutes complejas y actuales como los applets (en el lado del cliente) oJava Server Pages (JSP) y servlets (en el lado del servidor) Se utiliza GT para acceder a losrecursos de alta computacioacuten y sus comandos son invocados a traveacutes de los scripts La interfazde usuario se construye a traveacutes de paacuteginas HTML que contienen llamadas a los scripts Tantoel uso de scripts y de HTML para modelar la interfaz como la encapsulacioacuten de los serviciosen los propios scripts facilita el despliegue pero complica el mantenimiento y personalizacioacutendel portal

Grid Portal Development Kit (GPDK) Es un toolkit que provee de una serie de compo-nentes reutilizables que permiten interactuar con los recursos de un sistema Grid y desarrollarportales y aplicaciones con interfaces personalizables [85] En la medida de lo posible GPDKfue desarrollado a traveacutes de software libre y abierto GT2 es el middleware utilizado para elacceso y gestioacuten del sistema distribuido mientras que el desarrollo del portal y las aplicacio-

24 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

nes se basan en JSP y servlets La interaccioacuten entre Java y GT2 se realiza a traveacutes de Java

Commodity Grid Kit (CoG) [113]

232 Portales Grid segunda generacioacuten

El inicio de la segunda generacioacuten de portales Grid viene marcado por la aparicioacuten de losportlets o componentes reutilizables para portales Web y por el desarrollo de los estaacutendaresGrid basados en servicios

Tecnologiacuteas empleadas

Portlets Como hemos visto en el apartado anterior los portales de primera generacioacutenestaban muy limitados en cuanto a personalizacioacuten y esto se solucionoacute en gran medida gra-cias a la aparicioacuten de los portlets Seguacuten la primera versioacuten de la especificacioacuten del estaacutendarde desarrollo de portlets de Java (JSR168) [10]

laquoUn portlet es un componente Web desarrollado en Java y gestionado por un contene-

dor de portlets que procesa peticiones y genera contenido dinaacutemico Los portales utilizan

portlets como componentes de la interfaz de usuario que se pueden activar o desactivar y que

proporcionan una capa de presentacioacuten a los sistemas de informacioacutenraquoEl usuario final ve al portlet como una ventana dentro de un portal que proporciona in-

formacioacuten o acceso a un servicio concreto como por ejemplo un calendario noticias o elacceso a un buzoacuten de correo [61] Un portlet genera un fragmento de coacutedigo HTML que esincrustado en una seccioacuten del portal La unioacuten de los fragmentos generados por los diferentesportlets forman la interfaz del portal Una caracteriacutestica importante de este tipo de portales esla posibilidad de personalizacioacuten que ofrecen al usuario final ya que el contenido generadopuede variar dependiendo de la configuracioacuten e incluso es posible administrar queacute portletsestaacuten activos y cuaacuteles no (veacutease la Figura 23) Es faacutecil imaginarse un portal como un puzzleque puede tomar cualquier forma (la elige el usuario final) y en el que se pueden intercambiarpiezas siendo cada pieza un portlet Lo interesante es que estas piezas pueden ser reutilizadaspara formar parte de nuevos portales pues lo uacutenico que se exige es que el portal de des-tino sea compatible con el Application Programming Interface (API) estaacutendar de desarrollode portlets Cada portlet funciona de forma independiente respecto al resto y tiene su propiociclo de vida que es gestionado por el contenedor de portlets

23 Interfaces Grid 25

Contenedor de portlets Podemos definir un contenedor de portlets como un entorno deejecucioacuten en donde los portlets pueden ser instanciados usados y finalmente destruidos Esresponsabilidad del contenedor la gestioacuten del ciclo de vida del portlet [69] Un contenedorde portlets no puede ser usado de forma independiente sino que se despliega dentro de uncontenedor de servlets y aprovecha sus funcionalidades

Noticias de la Red X-

Red Nacional de Teledeteccioacuten Oceanograacutefica

Gestioacuten de Credenciales X-

Activo

X-

X-

Modelo Produccioacuten Primaria

Roms

X-Sentinazos

Seleccionar portlet activo

Portlets con acceso restringido Usuario no autorizado

Portlets con acceso restringido Usuario autorizado

Figura 23 Ejemplo de un portal Web desarrollado a traveacutes de portlets

Portlets Grid

Un portlet Grid es un tipo especial de portlet que estaacute asociado a un servicio Grid pro-porcionado por un middleware Gracias a la estandarizacioacuten tanto de los portlets como de losservicios Grid un portlet puede ser reutilizado e interactuar con un servicio Grid sea cualsea el middleware que lo hace accesible por lo que se puede afirmar que los portales Griddesarrollados con portlets se encuentran deacutebilmente acoplados al middleware

Entornos para el desarrollo de portales Web basados en portlets

Los entornos disentildeados para desarrollar portales basados en portlets no son especiacuteficosde la computacioacuten Grid es decir son geneacutericos y pueden contener portlets de cualquier tipo(incluido portlets Grid) WebSphere y GridSphere son probablemente los entornos de mayorpopularidad

26 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

IBM WebSphere Portal Es una aplicacioacuten J2EE que se ejecuta sobre un servidor deaplicaciones con el mismo nombre y que permite desarrollar y administrar portales Web cen-trados en el acceso a aplicaciones contenidos y servicios a traveacutes de portlets [69] Es unaimplementacioacuten propietaria que actualmente se encuentra en su octava versioacuten Durante susprimeras versiones el desarrollo de portlets estaba basado en el API de IBM que aunquefundamentalmente era similar al API JSR168 sus pequentildeas diferencias [59] impediacutean la to-tal compatibilidad de los portlets El soporte para el API JSR168 fue incluido a partir de laversioacuten 502 y la versioacuten actual soporta tanto el API JSR168 como el API JSR286

Con el portal se distribuye un toolkit que permite su administracioacuten y personalizacioacuten asiacutecomo la creacioacuten prueba depuracioacuten y despliegue de portlets para un raacutepido desarrollo ElIBM WebSphere Portal tambieacuten provee de mecanismos para la personalizacioacuten de la vista delportal por el usuario final permitiendo seleccionar las aplicaciones y contenidos asiacute comoestablecer la forma en que son mostrados

GridSphere Es uno de los entornos de desarrollo de portales basados en portlets maacutesconocidos y utilizados [87] y concretamente fue el empleado para desplegar el laboratoriovirtual de RETELAB Se trata de un proyecto de coacutedigo libre desarrollado en el marco delproyecto GridLab que incluye un contenedor de portlets un conjunto baacutesico de portlets ylibreriacuteas de desarrollo

GridSphere es compatible con el API de WebSphere y con el API estaacutendar para portlets loque permite una raacutepida integracioacuten del software desarrollado por terceros Cuando el proyectofue iniciado la primera versioacuten del estaacutendar todaviacutea no se habiacutea publicado por lo que deentrada fue construido conforme al de IBM La compatibilidad con el estaacutendar fue antildeadidaen una versioacuten posterior

El conjunto baacutesico de portlets incluido en GridSphere facilita el desarrollo de nuevosportales y aporta funcionalidades baacutesicas como la administracioacuten de usuarios y grupos elacceso de los usuarios al portal la gestioacuten de las cuentas o la personalizacioacuten del portal

Entornos y herramientas para el desarrollo de portlets Grid

Para facilitar la implementacioacuten de portlets Grid y su despliegue en los portales surgieronproyectos especiacuteficos que proporcionaban tanto entornos de desarrollo como toolkits

23 Interfaces Grid 27

GridPortlets y Open Grid Computing Environments (OGCE) son dos de los entornos dedesarrollo maacutes populares y extendidos Ambos aportan herramientas baacutesicas que permiten alos desarrolladores interactuar con el middleware facilitando el desarrollo de portlets Grid

OGCE Es un proyecto de coacutedigo libre que proporciona un ecosistema en el que seintegran diferentes tecnologiacuteas y herramientas para la creacioacuten de portales Grid [12] [116]

Varias son las liacuteneas en las que OGCE ha centrado sus esfuerzos

ndash Establecer un entorno de desarrollo de portlets Grid desde la segunda versioacuten del OG-CE los portlets desarrollados cumplen con el estaacutendar y pueden ser reutilizados Parafacilitar su implementacioacuten OGCE proporciona una utilidad que permite la creacioacuten deportlets estaacutendar a traveacutes de la herramienta de desarrollo Web denominada Velocity [4]

ndash Abstraer a los desarrolladores de aplicaciones del sistema Grid utilizado OGCE noutiliza un uacutenico API para acceder a los diferentes servicios Grid sino que se basa enun conjunto procedente de varios proyectos como CoG o GridPort CoG se puede con-siderar el API principal y proporciona una capa de abstraccioacuten que independiza a losportlets del middleware utilizado

ndash Desarrollar servicios Grid avanzados la segunda versioacuten de OGCE integra y proporcio-na servicios para por ejemplo monitorizar los recursos locales utilizando el GridPort

Information Repository (GPIR) incorporar el repositorio semaacutentico de contenido Tu-pelo [5] o generar interfaces de servicio Web para las aplicaciones cientiacuteficas que sedesee integrar en el portal

ndash Desarrollar servicios para la colaboracioacuten de grupos OGCE desarrolloacute servicios y di-sentildeoacute interfaces portlet para integrar las herramientas colaborativas Sakai [3]

OGCE ha sido el entorno utilizado para el desarrollo de los portlets en RETELAB ademaacutestambieacuten se incorporaron al laboratorio varios portlets ya implementados por OGCE como elportlet para la administracioacuten de credenciales o el dedicado a la gestioacuten de ficheros remotos

GridPortlets Surge dentro del proyecto GridSphere con el objetivo de proporcionar alos desarrolladores un entorno para la implementacioacuten de portlets Grid [97] GridPortletsdistribuye una coleccioacuten de portlets baacutesicos que pueden ser utilizados individualmente o juntoa otras aplicaciones y que permiten desplegar un portal Grid baacutesico Este conjunto de portlets

28 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

estaacute implementado a traveacutes de componentes JSP reutilizables que pueden ser integrados ennuevas implementaciones

Al contrario de OGCE que utilizaba varias APIs GridPortlets proporciona una uacutenica APIde alto nivel pensada para acceder a los servicios Grid e interactuar con los recursos y asiacutedesarrollar portlets y aplicaciones Grid especiacuteficas

Los portlets desarrollados a traveacutes de GridPortlets no son completamente independientesde GridSphere y aunque teoacutericamente son compatibles con el API estaacutendar no se puedenintegrar faacutecilmente en otros contenedores de portlets [116] GridPortlets pensando en la usa-bilidad proporciona una sencilla pero potente interfaz para el enviacuteo de trabajos que abstrae alusuario de los detalles de bajo nivel y almacena un detallado historial de cada trabajo proce-sado para que pueda ser consultado a posteriori

233 Portales Grid casos de estudio

Durante la primera deacutecada del siglo XXI sobre todo en los primeros antildeos la incidencia delos sistemas Grid en la sociedad fue en aumento no soacutelo en el campo acadeacutemico sino tambieacutenen el empresarial La estandarizacioacuten de las tecnologiacuteas Grid y la mejora de las interfaces deusuario hicieron de esta tecnologiacutea una valiosa herramienta Fueron muchos los sistemas Griddesplegados y numerosos tambieacuten los portales Grid desarrollados para interactuar con lossistemas de una forma amigable Una gran mayoriacutea de estos portales estaban centrados enla visualizacioacuten de informacioacuten monitorizacioacuten de los recursos y sistemas y en la ejecucioacutende tareas simples no obstante algunos otros profundizaron en la tecnologiacutea y desarrollaronaplicaciones Web que facilitaban la realizacioacuten de tareas Grid complejas a los usuarios

GENIUS Grid Portal La Organizacioacuten Europea para la Investigacioacuten Nuclear (CERN)en general y el proyecto LHC en particular han ejercido una gran influencia en el desarrollode la tecnologiacutea Grid El portal Grid GENIUS [19] [15] implementado dentro del marco delproyecto europeo DataGrid fue desarrollado para proporcionar acceso a los datos del LHC ypermitir su utilizacioacuten en diferentes aplicaciones sobre un sistema Grid Estaba disentildeado paraproporcionar un acceso seguro a funcionalidades Grid como el enviacuteo y ejecucioacuten de trabajosla administracioacuten de datos o el acceso interactivo para el anaacutelisis de los datos generados

GENIUS fue un portal Grid pionero basado en una versioacuten extendida del GT Este mid-

dleware modificado extendioacute la interfaz de Globus facilitando la interaccioacuten entre las aplica-ciones software y el sistema Grid La primera versioacuten del portal se puede considerar dentro

23 Interfaces Grid 29

de la primera generacioacuten de portales Grid (veacutease la Seccioacuten 231) ya que su desarrollo estaacutefuertemente acoplado con el middleware utilizado

El portal permitiacutea el acceso remoto de usuarios pero manteniacutea la necesidad de tener unacuenta personal en el servidor del portal con la que se proporcionaba acceso al sistema deficheros local La autenticacioacuten y autorizacioacuten de los usuarios sobre los recursos Grid se rea-lizaba a traveacutes de la delegacioacuten de credenciales implementada con MyProxy (veacutease la Sec-cioacuten 32)

Earth System Grid (ESG) En general los proyectos relacionados con el estudio de laTierra poseen una serie de particularidades que dificultan su desarrollo a traveacutes de mediostradicionales

ndash Generan cantidades ingentes de informacioacuten bien sea a traveacutes de la observacioacuten directade fenoacutemenos o bien a traveacutes de la ejecucioacuten de modelos que los simulan

ndash Los algoritmos y modelos utilizados suelen requerir una gran potencia computacional

ndash Implican ciencias interdisciplinares en donde trabajan cientiacuteficos de diferentes ramasque deben colaborar para obtener el maacuteximo rendimiento de las investigaciones

La computacioacuten Grid se adapta especialmente bien a este tipo de proyectos y en concretoel proyecto ESG [23] es uno los maacutes relevantes Centrado en la investigacioacuten climaacutetica ESGproporciona un entorno colaborativo con el objetivo de almacenar distribuir y procesar lasenormes cantidades de datos utilizadas en el seno de sus proyectos

Ademaacutes de proporcionar la infraestructura necesaria para el almacenamiento de la infor-macioacuten climaacutetica gran parte de los esfuerzos del proyecto fueron destinados a desarrollarestaacutendares y servicios de metainformacioacuten orientados a administrar navegar buscar y com-partir los datos almacenados Un portal Grid facilita el acceso a los datos y los servicios debuacutesqueda y recuperacioacuten de informacioacuten

El acceso a los recursos Grid se basa en el sistema de delegacioacuten de credenciales de My-Proxy (veacutease la Seccioacuten 32) pero ESG desarrolloacute y empleoacute un novedoso sistema de registrode usuarios para la generacioacuten automaacutetica de credenciales El Portal-based User Registra-

tion Service (PURSe) [53] permite el registro de usuarios y la creacioacuten y administracioacuten desus Certificados Digitales (DCs) y respectivos proxies de forma automaacutetica Originalmentefue desarrollado dentro del proyecto pero posteriormente evolucionoacute como sistema indepen-diente e integrable en nuevos portales Grid

30 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

PURSe encaja perfectamente con la poliacutetica de facilidad de uso que dirige el proyectoRETELAB por lo que fue integrado como medio de registro de usuarios No obstante elmoacutedulo de registro fue modificado y mejorado para dar un soporte maacutes amplio que el propor-cionado por defecto y asiacute ajustarse a las necesidades del laboratorio virtual Los detalles deimplementacioacuten y de integracioacuten se muestran en detalle en la Seccioacuten 32

P-Grade P-Grade es un portal Grid basado en GridSphere concebido para soportarformas complejas de ejecucioacuten de trabajos dirigidas por flujos de tareas (workflows) P-Gradeestaacute disentildeado para trabajar con Globus como middleware lo que le permite integrarse concualquier sistema Grid que lo utilice y aportarle la capacidad avanzada de administracioacuten deflujos de tareas Proporciona a los usuarios un editor de flujos que permite disentildear localmentelas tareas y subirlas al servidor Empleando Java Web Start (JavaWS) los usuarios puedendescargar el editor desde el portal y eacuteste se instala automaacuteticamente y de forma transparenteen la estacioacuten de trabajo del usuario Dentro de un mismo flujo de tareas P-Grade soportala asignacioacuten de trabajos a recursos que pertenezcan a diferentes Grids e incluso la creacioacutende flujos colaborativos entre varios investigadores Es tarea del usuario la asignacioacuten de losrecursos en concreto en donde se vaya a ejecutar una parte del flujo por lo que el usuario debeconocer la estructura del sistema

CAPIacuteTULO 3

PROYECTO RETELAB

31 Descripcioacuten del proyecto

RETELAB es un laboratorio virtual desplegado sobre un sistema distribuido que propor-ciona un entorno de trabajo colaborativo enfocado al desarrollo de proyectos de teledeteccioacutenoceanograacutefica [78] [33] Nace en el seno de la red RETEMAR con el objetivo proporcionarun entorno para llevar a cabo proyectos de altas prestaciones entre sus integrantes

Seguacuten las especificaciones iniciales los requerimientos que debiacutea cubrir el laboratoriovirtual eran

ndash Gestioacuten de recursos compartidos el laboratorio virtual debiacutea poseer la capacidad deintegrar y administrar recursos distribuidos pertenecientes a los diferentes centros de laRed

ndash Soporte para el almacenamiento administracioacuten e intercambio de datos distribuidos elalmacenamiento local tiene grandes limitaciones a la hora de administrar las ingentescantidades de datos capturados a traveacutes de la teledeteccioacuten por lo que RETELAB de-biacutea disponer de un sistema de datos distribuidos que permitiese almacenar procesar ycompartir la informacioacuten

ndash Potencia computacional en general las aplicaciones cientiacuteficas oceanograacuteficas (mode-los climaacuteticos deteccioacuten de contaminantes etc) demandan una gran cantidad de recur-sos computacionales El sistema proporcionariacutea la potencia necesaria para su ejecucioacuten

32 Capiacutetulo 3 Proyecto RETELAB

ndash Seguridad dado que el laboratorio proporcionariacutea acceso a recursos compartidos laseguridad debiacutea ser uno de los pilares en el disentildeo e implementacioacuten de RETELAB

ndash Interfaz amigable es necesario que la interfaz de acceso al sistema sea intuitiva y faacutecilde utilizar para que los usuarios puedan centrarse en sus trabajos sin tener que dedicaresfuerzos al aprendizaje de nuevas herramientas

ndash Visualizacioacuten el laboratorio virtual debiacutea proporcionar las herramientas necesarias paravisualizar tanto los resultados de los trabajos como los datos almacenados

Las especificaciones del sistema junto con las caracteriacutesticas tiacutepicas de las aplicacionesque se desea ejecutar hacen de la computacioacuten Grid la tecnologiacutea maacutes adecuada para el desa-rrollo del laboratorio virtual y el acceso a traveacutes de un portal Grid la opcioacuten maacutes simple yamigable para el usuario final

311 Arquitectura general del sistema

El disentildeo de RETELAB se corresponde con una arquitectura cliente-servidor multicapa(veacutease la Figura 31) en la que una aplicacioacuten cliente tiacutepicamente un navegador Web realizapeticiones a un servidor que las procesa y devuelve un resultado A continuacioacuten se describenbrevemente las principales capas del sistema

ndash Capa de aplicaciones en esta capa se situacutea el servidor Web (Tomcat + Apache) en el queestaacute desplegado el portal Grid a traveacutes del cual se accede al sistema El portal basadoen el contenedor de portlets GridSphere contiene diferentes portlets que encapsulan ygestionan tareas sobre los recursos de alta computacioacuten

ndash Capa de middleware en esta capa estaacute desplegada la cuarta versioacuten del Globus Tool-

kit que contiene la tecnologiacutea y herramientas necesarias para gestionar un Grid GT4proporciona una coleccioacuten de servicios que permiten a las aplicaciones (capa superior)operar sobre los recursos de alta computacioacuten (capa inferior)

ndash Capa de recursos en esta capa se situacutean los recursos del sistema Se trata de recursosdistribuidos y heterogeacuteneos que pertenecen a diferentes centros

31 Descripcioacuten del proyecto 33

Figura 31 Arquitectura general del sistema RETELAB

Recursos del sistema

El sistema Grid de RETELAB permite incluir recursos de cualquier centro participante enel proyecto pero en el despliegue inicial soacutelo se ponen a disposicioacuten de la comunidad recursosde la USC y del CESGA

La USC colaboroacute con un cluster compuesto por 11 nodos 10 AMD Opteron 2212 y 1INTEL Xeon 5130 cada uno de los cuales presenta las siguientes caracteriacutesticas arquitecturax86_64 2 procesadores dual core frecuencia de 2GHz 4GB RAM e interconexioacuten Giga-Ethernet

El CESGA aportoacute un cluster compuesto de 4 nodos HP Proliant de las siguientes carac-teriacutesticas arquitectura x86_64 2 procesadores Intel Xeon Quadcore X5355 (8 coresequipo)frecuencia de 266GHz 8 GB de RAM 4 x 2MB cacheacute (L2) e interconexioacuten GigaEthernet

Los recursos proporcionados por el CESGA se aprovecharon al maacuteximo gracias a la pla-taforma de virtualizacioacuten Xen [6] Tal y como se muestra en la Figura 32 uno de los nodosdel cluster fue virtualizado para alojar a 3 recursos virtuales diferentes

ndash RETELAB UI aloja la interfaz de acceso al laboratorio virtual es decir el portal Grid

34 Capiacutetulo 3 Proyecto RETELAB

ndash CESGA CE gestiona los trabajos que le llegan al cluster actuando como nodo principalo laquocabezaraquo

ndash Nodo de trabajo se ha virtualizado un nodo de trabajo que si bien no tiene la potenciacomputacional del resto de los nodos es aprovechado y utilizado como parte del cluster

Fedora Core 6 + XENScientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Hardware

Xenreg Hypervisor

CEUI Nodo Trabajo

Scientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Cluster CESGA

Figura 32 Recursos aportados por el CESGA

32 Registro y acceso de los usuarios

El objetivo de esta seccioacuten es mostrar el moacutedulo para el registro y acceso de los usuarios deRETELAB al sistema pero para una mejor comprensioacuten es necesario introducir brevementealgunos conceptos sobre la infraestructura de seguridad del GT

32 Registro y acceso de los usuarios 35

Security Grid Infrastructure (GSI)

La GSI es un conjunto de herramientas libreriacuteas y protocolos usados por el GT paragestionar el acceso de los usuarios y aplicaciones a los recursos de altas prestaciones [70]Los pilares fundamentales del GSI son la PKI y los Certificados Digitales (DCs) X509

Cada participante de un sistema Grid dispone de un DC X509 que lo identifica y queprincipalmente estaacute compuesto por

ndash Un nombre que identifica a la persona o recurso al que representa el DC

ndash La clave puacuteblica del propietario del DC

ndash El nombre de la Autoridad Certificadora (CA) que ha firmado el DC y que garantiza laidentidad del propietario Es esencial que todos los participantes de un Grid confiacuteen ytengan acceso a las claves puacuteblicas de las CAs utilizadas para firmar los DCs

ndash La firma digital de la CA que valida el DC

Es importante diferenciar dos teacuterminos en el aacutembito de la seguridad Grid

ndash Autenticar proceso de identificar uniacutevocamente a un usuario o a un recurso

ndash Autorizar proceso que identifica las acciones que puede realizar un usuario sobre unrecurso concreto

Autenticacioacuten El proceso de autenticacioacuten de participantes en un sistema Grid es mu-tuo es decir para establecer una comunicacioacuten entre dos participantes es necesario que cadauno de ellos se identifique ante el otro a traveacutes del siguiente meacutetodo

1 La entidad lsquoArsquo establece una conexioacuten con la entidad lsquoBrsquo y le enviacutea su DC

2 La entidad lsquoBrsquo comprueba la autenticidad del DC utilizando la clave puacuteblica de la CAcon la firma del certificado

3 Una vez validado el certificado lsquoBrsquo trata de confirmar que la entidad que envioacute el DC esrealmente su propietaria y para ello enviacutea un mensaje aleatorio para que lsquoArsquo lo codifiqueutilizando su clave privada

4 La entidad lsquoArsquo utiliza su clave privada para codificar el mensaje y eacuteste es devuelto a lsquoBrsquo

36 Capiacutetulo 3 Proyecto RETELAB

5 lsquoBrsquo utiliza la clave puacuteblica de lsquoArsquo contenida en el DC para descodificar el mensaje ycomprobar que es el mismo que el original

6 Una vez que lsquoArsquo es autenticada lsquoBrsquo iniciariacutea nuevamente el proceso enviando su DC alsquoArsquo

Cuando un usuario desarrolla una tarea en un Grid eacutesta puede requerir varios recursoso puede que durante su procesamiento necesite solicitar servicios en nombre del usuarioSeguacuten el meacutetodo de autenticacioacuten mostrado cada vez que el usuario necesite un recurso orequiera un servicio deberiacutea autenticarse El uso de la clave privada exige la atencioacuten delusuario ya que se almacena cifrada y es necesario que el usuario introduzca su contrasentildeacada vez que sea necesaria su autenticacioacuten Esto puede resultar tedioso en tareas complejassobre todo si se dilatan en el tiempo Para solucionarlo GSI introduce el concepto de dele-gacioacuten Este mecanismo permite al usuario asignar un proxy a la tarea deseada y evita tenerque presentar su DC cada vez que la tarea realiza una operacioacuten en su nombre Los proxies

son credenciales con un tiempo de vida muy reducido generadas por los usuarios a partir susDCs La identidad de los proxies es la misma que la de los DCs salvo una pequentildea modifi-cacioacuten que indica su naturaleza La creacioacuten de un proxy implica la generacioacuten tanto de unaclave puacuteblica como de una privada que se almacenan sin cifrar y a las que se puede accedersin contrasentildea evitando la accioacuten del usuario

Autorizacioacuten Por defecto GSI proporciona unos sistemas de autorizacioacuten muy baacutesicosde entre los que cabe destacar el sistema gestionado por el GridMap Cada recurso poseeun fichero denominado GridMap que contiene una lista que relaciona nombres de usuario(identificadores presentes en los DCs) con cuentas de usuario locales Si el usuario tiene unacuenta local entonces puede utilizar dicho recurso Es conveniente disponer de sistemas queayuden a la creacioacuten y gestioacuten de dichas listas y de las cuentas correspondientes

La ventaja es que GSI tambieacuten proporciona mecanismos para el desarrollo e integracioacutende sistemas de autorizacioacuten propios y esto seraacute aprovechado para gestionar la autorizacioacuten delos usuarios de RETELAB

MyProxy

MyProxy [86] es un repositorio on-line de certificados cuya finalidad es proporcionarproxies temporales bajo demanda para que puedan ser utilizados en cualquier momento y

32 Registro y acceso de los usuarios 37

desde cualquier lugar MyProxy puede ser utilizado para delegar credenciales a servicios queactuacuteen en lugar del usuario y es el meacutetodo maacutes habitual para delegar y usar credenciales enlos portales Grid MyProxy puede ser utilizado de dos modos diferentes

ndash Repositorio de credenciales de usuario MyProxy actuacutea como almaceacuten de los DCs y delas claves privadas de los usuarios Abstrae al usuario del uso y almacenamiento de loscertificados y permite generar proxies temporales bajo demanda Este uso implica queel usuario delega la seguridad de sus DCs en el servidor

ndash Repositorio de proxies MyProxy almacena los proxies generados por los usuarios atraveacutes de sus DCs y genera nuevos representantes con una vida maacutes corta que los origi-nales Es necesario que los usuarios generen y alojen nuevos proxies cada vez que losalmacenados caduquen

321 Autenticacioacuten y autorizacioacuten

Uno de los requisitos fundamentales para la construccioacuten del laboratorio virtual (veacutease laSeccioacuten 31) era el desarrollo de una interfaz de usuario sencilla y amigable que no demandasegrandes conocimientos tecnoloacutegicos La sencillez de un sistema debe empezar desde el regis-tro y acceso de los usuarios pero a menudo esto entra en conflicto con los requerimientos deseguridad por lo que fue necesario encontrar una solucioacuten equilibrada

La seguridad en RETELAB estaacute basada en el modulo GSI del GT4 lo que condiciona elacceso al sistema y supone que los usuarios deban disponer de un DC El proceso para obtenery emplear un DC es cuanto menos tedioso para el usuario y puede producir rechazo al usodel sistema por lo que es necesario adaptarlo para que sea maacutes coacutemodo Por otro lado esimportante que el sistema de autorizacioacuten sea sencillo de administrar pero lo suficientementepotente para responder a las siguientes preguntas

ndash iquestQuieacuten puede acceder

ndash iquestQueacute recursos puede utilizar

ndash iquestQueacute tareas puede realizar sobre un recurso concreto

Un RBAC [91] parece ser la mejor alternativa En RBAC los permisos se encuentran asociadosa roles y los usuarios son poseedores de uno o maacutes roles por lo que adquieren los permisosasociados a eacutestos Los roles permiten reflejar con mayor veracidad la estructura de una VO y el

38 Capiacutetulo 3 Proyecto RETELAB

puesto o tareas desempentildeadas por un investigador concreto dentro de ella La administracioacutendel control de acceso es considerablemente maacutes sencilla que si se gestiona la seguridad a nivelde usuario

Registro y Acceso

El registro y acceso de los usuarios de RETELAB se ha implementado integrando ymejorando diferentes sistemas para conseguir una solucioacuten amigable sin sacrificar la seguri-dad [76] [77] La Figura 33 muestra un diagrama en donde se aprecian los diferentes sistemasintegrados

Figura 33 Arquitectura del sistema de registro y acceso de usuarios de RETELAB

El acceso al portal puede contemplarse desde tres escenarios diferentes (veacutease la Figu-ra 34) acceso de un usuario no registrado acceso de un usuario registrado y acceso de unusuario perteneciente a una red de centros de confianza

Usuario no registrado

El registro de un nuevo usuario se realiza a traveacutes de un portlet de registro basado enel sistema PURSe [53] [2] Este sistema permite registrar a un usuario y solicitarle un DCde forma automaacutetica en el mismo momento en que enviacutea sus datos Por cada registro el

32 Registro y acceso de los usuarios 39

Usuario

Shibboleth

Recuperar

Certificados

Registro Usuario

PURSe

Usuario

Registrado

Acceder al Portal

AutenticarIdentificar

Usuario

No

No

Siacute

No

Rol

Identificar desde

Shibboleth

Auntenticar Centro Origen

Redirigir Datos Usuario

Crear Cuenta

Temporal

Rol

Generar

Certificados

Siacute

Acceso Concedido

Siacute

Figura 34 Esquema simplificado del registro y acceso de usuarios al sistema

administrador del portal recibe un aviso para que valide los datos del nuevo usuario y sies oportuno se genera el DC a traveacutes de una CA propia del sistema Los certificados y lasclaves privadas son almacenados en MyProxy e identificados con el nombre y contrasentildeaproporcionados por el usuario al registrarse

Para integrar el RBAC fue necesario implementar una mejora sobre PURSe para quepudiese dar soporte a los roles de usuario Gracias a esta mejora el administrador puedeasignar roles a los usuarios que gestionan sus accesos tanto al portal como a los recursosdel sistema La mejora realizada permite crear automaacuteticamente Certificados de Atributos(ACs) X509 con informacioacuten sobre los roles de los usuarios y almacenarlos en un aacuterbol dedirectorios Lightweight Directory Access Protocol (LDAP) para su posterior uso en la gestioacutendel acceso

Detalles de implementacioacuten La implantacioacuten de un sistema RBAC en RETELAB serealizoacute intentando que tuviese el menor impacto posible sobre el resto de los subsistemas

40 Capiacutetulo 3 Proyecto RETELAB

integrados con el objetivo de que fuese reutilizable y sencillo de instalar En el proceso seintentoacute aprovechar al maacuteximo el coacutedigo libre desarrollado por los proyectos integrados (PUR-Se PERMIS GridSphere etc) e implementar nuevas clases que sirviesen de nexo entre lasdiferentes tecnologiacuteas

Para integrar los roles con el sistema de registro PURSe fue necesario implementar variasclases Java (veacutease la Figura 35) que se encapsularon como un ARchivo Java (JAR) generarun archivo de propiedades con los datos de acceso al LDAP y antildeadir un nuevo moacutedulo deregistro en el fichero webxml de PURSe El diagrama mostrado en la Figura 35 contiene lasclases implicadas en la asignacioacuten de roles El moacutedulo de registro es el nexo con el paquetePURSe y el encargado de laquoescucharraquo los eventos y realizar las acciones consecuentes PURSeproporciona un moacutedulo de registro para integrarse con GridSphere que da de alta a los usua-rios en el portal pero ademaacutes permite antildeadir nuevos moacutedulos siempre y cuando implementenla interfaz RegistrationModule El moacutedulo RetelabRegistrationModule fue desarrollado espe-ciacuteficamente para dar soporte a los ACs Cuando un nuevo usuario es dado de alta a traveacutesde PURSe el evento es capturado y gestionado por la clase RetelabRegistrationModule Loseventos de PURSe se reciben como objetos que contienen tanto la informacioacuten de la accioacutencomo los datos del usuario Utilizando la informacioacuten personal y la traveacutes de la clase Certi-

ficateGenerator se genera un AC que es firmado por la clase RetelabSigningUtility Una vezse ha generado un AC la clase LdapConnector es utilizada para almacenarlo en el directorioLDAP Las clases dedicadas tanto a la generacioacuten como a la firma de los ACs fueron im-plementadas basaacutendose en clases de PERMIS que es el software empleado para gestionar elacceso de los usuarios registrados a los recursos a traveacutes de roles

---

----

Figura 35 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles

La solucioacuten desarrollada utiliza DCs generados por PURSe y ACs creados a traveacutes de cla-ses basadas en procedimientos empleados por PERMIS Es interesante destacar un problema

32 Registro y acceso de los usuarios 41

surgido de la integracioacuten de los dos tipos de certificados para la creacioacuten de los DCs se utili-zoacute el proveedor de Extensioacuten Criptograacutefica de Java (JCE) denominado Cryptix mientras quepara los ACs se utilizoacute el JCE IAIK Para utilizar un proveedor JCE es necesario registrarloy concretamente un error en la implementacioacuten de Cryptix impediacutea su uso en caso de quealguacuten otro proveedor fuese registrado con posterioridad Al utilizar varios JCEs se generabanerrores frecuentemente por lo que fue necesario insertar un procedimiento previo a su utiliza-cioacuten para comprobar el orden de registro y modificarlo en caso de que fuese necesario (veacuteaseel Coacutedigo A1)

Una de las ventajas de usar GridSphere como base para el desarrollo del portal fue quedisponiacutea de una serie de portlets ya desarrollados para crear portales Web baacutesicos Del nuacutecleode portlets de GridSphere cabe destacar el portlet de administracioacuten que entre otras cosaspermite crear y asignar roles a los usuarios del portal GridSphere en base a dichos rolesgestiona el uso y acceso de los usuarios a los portlets

Dado que la gestioacuten del sistema Grid tambieacuten estaacute basada en roles y con el objetivo dedesarrollar un sistema de administracioacuten sencillo y usable se implementoacute una mejora sobreel sistema de administracioacuten de GridSphere para dar soporte a los ACs De este modo unadministrador puede gestionar los roles tanto del portal como del sistema Grid desde un puntouacutenico ya que en el momento en que un rol es asignado el AC correspondiente es creado yalmacenado automaacuteticamente en el directorio LDAP

Para dar soporte a los ACs fue necesario modificar la clase de GridSphere UserManager-

Portlet El fragmento de Coacutedigo A2 muestra los cambios realizados en el meacutetodo que antildeadeusuarios a GridSphere

Usuario registrado

Los usuarios con cuenta en RETELAB pueden acceder al portal autenticaacutendose en unportlet dedicado a tal fin Una vez que el usuario es identificado el sistema utiliza su nom-bre y contrasentildea para recuperar sus credenciales almacenadas Las acciones que el usuariopuede realizar sobre el sistema estaacuten guiadas por su rol y una poliacutetica de autorizacioacuten basa-da en un modelo RBAC PERMIS [28] [27] es el sistema de autorizacioacuten basado en rolesutilizado para gestionar el acceso de los usuarios a los servicios Grid Su integracioacuten con elGT4 se realiza gracias a que eacuteste permite configurar para cada servicio Grid una secuenciade mecanismos de autorizacioacuten denominados Policy Decision Point (PDP) PERMIS puededesplegarse como un PDP para antildeadir un control basado en roles al sistema Para gestionar

42 Capiacutetulo 3 Proyecto RETELAB

la autorizacioacuten de la ejecucioacuten de tareas en un recurso especiacutefico de acuerdo a un rol esnecesario modificar la poliacutetica de autorizacioacuten del meacutetodo createManagedJob en el ficheromanaged-job-factory-security-configxml y antildeadir el PDP de PERMIS como se muestra en elfragmento de Coacutedigo A3

El control de acceso de un usuario a un servicio o recurso Grid se realiza desde 3 puntoscomo puede verse en la Figura 36

1 Se comprueba si el usuario posee un rol suficiente para acceder a un determinadoportlet

2 Se comprueba que el usuario tenga un DC activo en el portal

3 Si el usuario invoca un servicio Grid PERMIS comprueba su rol y dependiendo de lapoliacutetica de seguridad del recurso solicitado se permite o no su uso

Figura 36 Esquema del control de acceso basado en roles de RETELAB

32 Registro y acceso de los usuarios 43

Acceso confiable

Actualmente y debido a la gran proliferacioacuten de sistemas a traveacutes de Internet cada personagestiona multitud de cuentas y registros lo que supone recordar una gran cantidad de nombresy contrasentildeas En muchos casos se acaba sacrificando la seguridad anotando las contrasentildeaso utilizando siempre los mismos datos para facilitar la tarea

Shibboleth [83] es un software que proporciona un sistema de autenticacioacuten Single-Sign

On (SSO) a traveacutes de la Web Esto significa que permite acceder a varios sistemas indepen-dientes a traveacutes de una uacutenica identificacioacuten Shibboleth se basa en una red confiable de sociosen los que cada uno tiene su propio sistema de autenticacioacuten A grandes rasgos su funciona-miento es el siguiente cuando un usuario perteneciente a uno de los centros de la red quiereacceder a un sistema de otro centro eacuteste uacuteltimo lo redirige al sistema de autenticacioacuten delcentro de origen Una vez que el usuario es autenticado el centro de origen manda los da-tos personales al centro de destino que permite o deniega el acceso en base a la informacioacutenrecibida

La integracioacuten de Shibboleth con RETELAB tiene como punto de partida la solucioacutendisentildeada por el grupo Meta Access Management System (MAMS) para su utilizacioacuten junto aGridSphere En RETELAB se ha partido de la versioacuten de MAMS y se ha desarrollado unamejora para registrar y generar automaacuteticamente los DCs y ACs de los usuarios que accedan atraveacutes de esta opcioacuten Los datos para generar los certificados deberaacuten ser enviados por el centroque lo autentica La secuencia de pasos para acceder a RETELAB a traveacutes de Shibboleth esla siguiente

1 El usuario accede a RETELAB a traveacutes del portlet de acceso de Shibboleth

2 El sistema muestra al usuario una lista con los centros asociados para que seleccione acuaacutel pertenece

3 El sistema redirige al usuario al sistema de autenticacioacuten correspondiente

4 Una vez que el sistema externo autentica al usuario eacuteste es redirigido nuevamente alportal de RETELAB junto con sus datos personales (nombre rol etc)

5 RETELAB utiliza la informacioacuten recibida para generar las credenciales del usuarionecesarias incluyendo el AC para utilizar el sistema

44 Capiacutetulo 3 Proyecto RETELAB

Para la integracioacuten de los DCs y ACs en el procedimiento de SSO se actuoacute principal-mente en la clase GridSphereServlet Esta clase fue previamente modificada en el proyectoMAMS para crear usuarios Shibboleth en el portal GridSphere y en el caso de RETELABse incorporaron los meacutetodos necesarios para la gestioacuten de los DCs y ACs El coacutedigo para lacreacioacuten y almacenamiento del los DCs asociados a los usuarios de Shibboleth se muestra enel Coacutedigo A4 mientras que el procedimiento para la creacioacuten de los ACs se presenta en elCoacutedigo A5

La inclusioacuten de Shibboleth en el sistema de RETELAB permite que los socios del proyectoque deseen integrarse en una Red de confianza puedan autenticarse a traveacutes de sus sistemasinternos sin necesidad de registrarse en el portal

33 Sistema de almacenamiento distribuido

El sistema de almacenamiento de RETELAB [75] [80] fue disentildeado para gestionar gran-des colecciones de datos provenientes de la teledeteccioacuten y de los propios proyectos ocea-nograacuteficos En RETELAB el concepto de dato debe entenderse como un fichero binario querepresenta un producto obtenido a traveacutes de un sensor o generado a traveacutes de un proceso deanaacutelisis de datos previos Este tipo de productos requiere un considerable espacio en disco porlo que su almacenamiento masivo es una tarea complicada que no puede ser resuelta utilizan-do DBs tradicionales La computacioacuten Grid puede afrontar este reto a traveacutes de un Data Grides decir un sistema de almacenamiento distribuido entre los diferentes recursos del Grid RE-TELAB no pretende ser soacutelo una herramienta para el almacenamiento y procesamiento sinoque busca ser un medio para compartir conocimiento entre la comunidad oceanograacutefica porello debe proporcionar procedimientos a los usuarios que de forma sencilla permitan pu-blicar y compartir los resultados de sus investigaciones Estos procedimientos deberiacutean estarbasados en el uso de metadatos para describir los productos almacenados y asiacute facilitar losprocesos de localizacioacuten y distribucioacuten de los mismos

Los metadatos son datos que describen el contenido de otros datos Funcionan de formasimilar a un iacutendice para localizar objetos A cada objeto se le asigna una laquoficharaquo que lo des-cribe a traveacutes de varios campos y que es utilizada para localizarlo dentro de un almaceacuten Unejemplo clarificador seriacutea el de las fichas de los libros en una biblioteca En RETELAB ca-da dato almacenado tiene asociado un conjunto de pares campo-valor que lo describen y queayudan a realizar buacutesquedas maacutes concretas a traveacutes de las colecciones de datos Los metadatos

33 Sistema de almacenamiento distribuido 45

pueden estar almacenados de forma interna incrustados dentro del propio dato al que describe(cabecera) o en un almacenamiento externo

Figura 37 Arquitectura del Data Grid desplegado en RETELAB

La arquitectura de la solucioacuten implementada que puede verse en la Figura 37 estaacute forma-da por tres capas la capa inferior que contiene a los recursos del Grid almacena las coleccio-nes de datos la capa intermedia o middleware integra las diferentes tecnologiacuteas que formanel nuacutecleo del sistema y por uacuteltimo la capa superior proporciona la interfaz de usuario paraacceder al sistema de almacenamiento

Las tecnologiacuteas presentes en la capa de middleware son las encargadas de gestionar elalmacenamiento de RETELAB El nuacutecleo del Data Grid lo forma el servicio de GT4 deno-minado Replica Location Service (RLS) Los elementos almacenados estaacuten identificados porun Nombre Loacutegico de Fichero (LFN) y cada uno de ellos tiene asociado lsquoNrsquo Nombres Fiacutesicosde Ficheros (PFNs) es decir las diferentes rutas donde estaacute almacenado ya que puede estarreplicado Por lo tanto el servicio laquoconoceraquo la localizacioacuten especiacutefica de cada dato dentrode RETELAB relacionando LFNs con PFNs El RLS funciona gracias a dos subsistemas el

46 Capiacutetulo 3 Proyecto RETELAB

Local Replica Catalog (LRC) y el Replica Location Index (RLI) Por un lado cada recursodel Data Grid de RETELAB tiene desplegado un LRC con un listado que relaciona los LFNscon los PFNs almacenados en ese recurso y por otro lado RETELAB posee un RLI que deforma centralizada relaciona los LFNs con los diferentes LRCs donde estaacuten almacenados Estarea de cada LRC informar al RLI de las colecciones de datos que gestiona

Para describir correctamente los datos es necesario disponer de un conjunto de metadatosque permita reflejar todas sus caracteriacutesticas y particularidades RETELAB ha utilizado el es-taacutendar para metadatos geoespaciales ISO 19115 [7] Este estaacutendar proporciona un conjuntode metadatos orientado a describir datos geoespaciales aportando informacioacuten sobre la iden-tificacioacuten la extensioacuten la calidad el modelo espacial y temporal la referencia espacial y ladistribucioacuten de dichos datos

El almacenamiento y gestioacuten de los metadatos se hizo de forma externa al propio dato(la alternativa seriacutea agregarlos en la propia cabecera) y centralizada empleando el Metadata

Catalog System (MCS) [100] El MCS es un servicio del GT4 que proporciona un cataacutelogode metadatos a traveacutes de una interfaz que cumple con el estaacutendar de OGSA Este cataacutelogopermite describir datos a traveacutes de metainformacioacuten OGSA-DAI [17] que proporciona unainterfaz OGSA para el acceso a ficheros XML y DBs relacionales puede integrarse con elMCS para proporcionarle la capacidad de almacenamiento de los metadatos asiacute como losmecanismos de autenticacioacuten propios de un Grid

El sistema de almacenamiento fue integrado en el portal Grid para que el usuario pudieseutilizarlo a traveacutes de los diferentes portlets desplegados El proceso de acceso y recuperacioacutende un archivo almacenado se resume en la Figura 38 e incluye los siguientes pasos

1 El usuario utilizando metadatos realiza una consulta a traveacutes del portlet correspon-diente

2 El sistema consulta el MCS para obtener los nombres loacutegicos cuyos metadatos se ajus-tan a la consulta de usuario

3 El sistema consulta al RLI para saber queacute LRCs gestionan los datos relacionados conlos alias obtenidos

4 El sistema consulta a los LRCs las direcciones fiacutesicas vinculadas a los LFN

33 Sistema de almacenamiento distribuido 47

5 A traveacutes de la direccioacuten fiacutesica el sistema puede mover los datos utilizando por ejemploel servicio GridFTP [13] El GridFTP que es parte del GT4 se basa en el protocolo FTPpara proporcionar transferencias de datos seguras robustas raacutepidas y eficientes

Figura 38 Secuencia resumida de acciones para buscar y acceder a los datos almacenados

Los usuarios no soacutelo pueden buscar y utilizar las colecciones de datos del sistema sinoque pueden publicar los resultados de sus trabajos asignaacutendoles una lista de metadatos quelos describan Ademaacutes cada usuario dispone de un espacio virtual propio donde puede des-cargar datos para editarlos y cuando esteacuten listos subirlos y compartirlos con el resto de lacomunidad La integracioacuten del Data Grid con el sistema de enviacuteo de trabajos se detalla en laSeccioacuten 351

Detalles de implementacioacuten Para facilitar la integracioacuten de la DB con los portlets sedesarrolloacute y empaquetoacute en un JAR un conjunto de clases que proporcionan las herramientaspara la gestioacuten de la DB virtual Cada portlet que quisiese emplear la DB soacutelo necesitabaincorporar el JAR entre sus libreriacuteas El paquete es descrito a traveacutes del diagrama de clasessimplificado de la Figura 39 Las clases implementadas interactuacutean con las clases proporcio-nadas por el GT4

48 Capiacutetulo 3 Proyecto RETELAB

Figura 39 Diagrama de clases simplificado en el que se presentan las clases utilizadas para desarrollar lasoperaciones sobre la DB virtual

El desarrollo de las clases para la gestioacuten de la DB tuvo varias dificultades y entre ellases interesante destacar dos [80]

ndash Integracioacuten de OGSA-DAI y el MCS GT proporciona libreriacuteas para gestionar el MCSconcretamente la clase DaiMCSClient es una implementacioacuten de un cliente para conec-tarse al MCS sobre OGSA-DAI Esta clase hace uso de otra llamada GenericServiceFet-

cher que se encarga de instanciar clases que implementan interfaces para comunicarsecon los diferentes servicios de datos GenericServiceFetcher se conecta con un servicioa traveacutes de una URL y recupera el WSDL que lo describe El anaacutelisis del WSDL lepermite determinar la distribucioacuten de OGSA-DAI empleada para implementarlo y asiacuteinstanciar la interfaz adecuada El coacutedigo utilizado para recuperar el WSDL intenta rea-lizar una conexioacuten a una URL pero sin especificar la clase responsable para gestionardicha conexioacuten Si la clase responsable no estaacute definida de forma expliacutecita se asignauna en tiempo de ejecucioacuten que depende del protocolo usado para la conexioacuten CuandoGenericServiceFetcher forma parte de un software de escritorio funciona correctamente

33 Sistema de almacenamiento distribuido 49

pero en un entorno J2EE debido a la forma de cargar las clases en memoria que usa elTomcat no encuentra la clase responsable adecuada Fue necesario modificar y hacerexpliacutecito la clase que debiacutea cargar en la conexioacuten modificando la clase GenericService-

Fetcher (veacutease el Coacutedigo A6)

ndash Gestioacuten de proxies cuando un usuario se autentica en el portal el sistema obtiene auto-maacuteticamente un proxy de su DC del repositorio MyProxy El GT proporciona libreriacuteaspara gestionar dicho proxy y definirlo como el DC por defecto para que sea empleadoen las autenticaciones El problema surge con el servicio RLS que necesita que el DCesteacute almacenado fiacutesicamente en un directorio local Para solucionarlo se desarrolloacute unprocedimiento de conexioacutenvalidacioacuten con la DB que fijaba el DC por defecto para quefuese utilizado por los servicios que lo requiriesen y ademaacutes fuera almacenado localy temporalmente para que el RLS pudiese usarlo en la autenticacioacuten El procedimientoempleado se detalla en el Coacutedigo A7

331 Almacenamiento de datos

Se han desarrollado diferentes procedimientos para introducir datos en el sistema de al-macenamiento de RETELAB que cubren las diferentes necesidades de sus usuarios

Almacenamiento de datos locales Se ha habilitado un sistema de transferencia y al-macenamiento de datos locales (veacutease la Figura 310) que permite a los usuarios compartirdatos con la comunidad Para transferir los datos el usuario debe seleccionar el producto desu computadora que desea compartir asignarle un LFN y describirlo a traveacutes de metadatosescogidos a traveacutes de una lista confeccionada a partir del estaacutendar ISO 19115

Almacenamiento de datos viacutea FTP En el campo de la observacioacuten de la Tierra eshabitual que los usuarios utilicen datos almacenados en servidores FTP externos para susproyectos Se ha implementado un portlet (veacutease la Figura 311) que permite el acceso a dichosservidores para copiar y transferir datos a RETELAB El usuario debe introducir sus datos deacceso navegar a traveacutes del aacuterbol de directorios del servidor FTP seleccionar los elementosque quiere antildeadir y describirlos a traveacutes de metadatos Si los datos estaacuten comprimidos puedeestablecerse el tipo de compresioacuten para que eacutestos sean desempaquetados automaacuteticamenteantes de almacenarse

50 Capiacutetulo 3 Proyecto RETELAB

Figura 310 Portlet para el almacenamiento de datos locales en RETELAB

Almacenamiento de datos generados en RETELAB Los datos generados tras la eje-cucioacuten de una tarea en RETELAB pueden compartirse con el resto de la comunidad a traveacutesdel sistema de almacenamiento (veacutease la Figura 312) El usuario puede visualizar los datos desalida y seleccionar los que desee antildeadir al Data Grid y al igual que en el resto de los casospodraacute ir antildeadiendo los metadatos que considere necesarios para describir cada elemento

Inicializacioacuten del Data Grid La introduccioacuten de nuevos elementos en el sistema de al-macenamiento se hace por defecto de uno en uno a traveacutes de un portlet dedicado pero estono es asumible en el momento de desplegar el sistema ya que es necesario dar de alta grandescolecciones de datos Se desarrolloacute un sistema de registro automaacutetico de datos a traveacutes de fi-cheros XML que indicaban rutas alias y metadatos para cada elemento Este procedimiento esde uso exclusivo del administrador y permite dar de alta automaacuteticamente grandes voluacutemenesde datos

Con el doble propoacutesito de probar el proceso para la inicializacioacuten del Data Grid y el deproporcionar suficientes recursos para poder ejecutar los proyectos que validariacutean el laborato-rio (veacutease la Seccioacuten 36) se dieron de alta varias colecciones de datos

ndash Una coleccioacuten de imaacutegenes SAR correspondientes por un lado al Golfo de Meacutexicoy por otro a la costa noroeste de la Peniacutensula Ibeacuterica asiacute como los datos de viento

33 Sistema de almacenamiento distribuido 51

Figura 311 Portlet para la integracioacuten de datos externos en el sistema

asociados a eacutestas en formato Network Common Data Form (NetCDF) Estos productosfueron empleados para desarrollar y validar el proyecto de SENTINAZOS (veacutease laSeccioacuten 363)

ndash Una coleccioacuten de datos en NetCDF empleada para desarrollar la aplicacioacuten para elcaacutelculo de la PP (veacutease la Seccioacuten 363) que incluiacutea

bull Datos de temperatura superficial del mar provenientes de los sensores AVHRR yMODIS

bull Datos sobre la concentracioacuten de clorofila provenientes de los sensores MODIS ySeaWIFS

bull Datos sobre la radiacioacuten solar disponible para el caacutelculo de la fotosiacutentesis estima-dos por la NASA

Cada producto almacenado fue etiquetado con un conjunto de metadatos para describirlo yasiacute facilitar su posterior identificacioacuten y buacutesqueda

El formato NetCDF [93] ha sido ampliamente utilizado en RETELAB debido a su popu-laridad dentro de la comunidad cientiacutefica Es utilizado regularmente en aplicaciones relacio-

52 Capiacutetulo 3 Proyecto RETELAB

Figura 312 Resultados de la ejecucioacuten de un trabajo en el Grid El usuario puede visualizarlos y revisarlos yoantildeadirlos al Data Grid previa descripcioacuten usando metadatos

nadas con la climatologiacutea meteorologiacutea o la oceanografiacutea para el intercambio de datos esdecir como formato de entradasalida

34 Visualizacioacuten de los datos

Se han integrado dos tipos de visores en RETELAB para la visualizacioacuten de los datosbien para validar las buacutesquedas bien para el anaacutelisis de los resultados tras ser procesados

341 Live Access Server

Un Live Access Server (LAS) [101] es un servidor con la capacidad de conectarse a ser-vidores externos OPeNDAP [32] para el acceso e intercambio de datos Estaacute disentildeado paraproporcionar acceso a datos cientiacuteficos georreferenciados y trabajar con informacioacuten prove-niente de distintos servidores como si fuese una uacutenica DB

Un LAS permite generar graacuteficos de forma dinaacutemica solicitar fragmentos de datos en unavariedad de formatos comparar variables almacenadas en DBs diferentes y generar estadiacutesti-cas baacutesicas La herramienta de visualizacioacuten por defecto es Ferret software de coacutedigo abiertoespecialmente dirigido a trabajar con datos georreferenciados y que permite crear datos cien-

34 Visualizacioacuten de los datos 53

tiacuteficos y proporciona una poderosa herramienta de anaacutelisis Una de las grandes ventajas de unLAS es que cualquier usuario puede acceder a traveacutes de un simple navegador

Se desplegoacute un LAS en RETELAB y se integroacute dentro del portal a traveacutes de un portlet conun Iframe elemento HTML que permite empotrar un documento HTML dentro de otro eneste caso se utilizoacute para incrustar la interfaz Web del LAS como puede verse en la Figura 313

Figura 313 Integracioacuten del Live Access Server en RETELAB

342 Integrated Data Viewer

El Integrated Data Viewer (IDV) [84] desarrollado por Unidata es una herramienta soft-ware implementada en Java que permite visualizar y analizar datos geocientiacuteficos Para in-tegrar IDV en el sistema se desarrolloacute un procedimiento que por cada elemento recuperadotras una consulta a la DB o por cada resultado producido por la ejecucioacuten de un trabajogenera dinaacutemicamente un enlace a un fichero Java Networking Launching Protocol (JNLP)La descarga por medio del enlace de este fichero inicia previa confirmacioacuten del usuario lainstalacioacuten temporal del software IDV La instalacioacuten se realiza de forma automaacutetica y trans-parente gracias a JavaWS y una vez finalizada IDV es cargado con los datos asociados alenlace El uacutenico requisito para su utilizacioacuten es disponer del Entorno de Ejecucioacuten de Java(JRE) que incluye al propio JavaWS

54 Capiacutetulo 3 Proyecto RETELAB

La Figura 314 muestra una composicioacuten de coacutemo un usuario podriacutea acceder a un ficheroNetCDF almacenado en su directorio virtual y visualizarlo a traveacutes del IDV de forma automaacute-tica

Figura 314 Integracioacuten del IDV en RETELAB

35 Gestioacuten y monitorizacioacuten de trabajos

A pesar de que el CESGA fue el principal desarrollador del moacutedulo de enviacuteo y monito-rizacioacuten de trabajos su descripcioacuten en el documento es necesaria debido a que es una partefundamental de RETELAB y se ha colaborado activamente en su integracioacuten con el resto delos moacutedulos del sistema

Existen diferentes alternativas que permiten a los usuarios enviar trabajos a un sistemaGrid pero requieren la interaccioacuten del usuario para por ejemplo decidir a queacute recurso delGrid se enviacutean las tareas lo que implica conocer su arquitectura La interaccioacuten con el usuarioresta transparencia y complica el proceso

Como se ha mencionado en varias ocasiones RETELAB ha sido disentildeado teniendo comopremisa la facilidad de uso por lo que el sistema de enviacuteo y monitorizacioacuten de trabajos fuedesarrollado para que permitiese a los usuarios configurar ejecutar monitorizar y recuperar

35 Gestioacuten y monitorizacioacuten de trabajos 55

los resultados sin necesidad de conocer detalles de implementacioacuten del sistema Grid Estenivel de abstraccioacuten se consiguioacute principalmente gracias a la integracioacuten de un metaplanifi-cador que optimiza el uso de los recursos compartidos y realiza tareas para el descubrimientode recursos planificacioacuten de tareas ejecucioacuten monitorizacioacuten y recuperacioacuten de trabajos

RETELAB incorporoacute un portlet para el enviacuteo y monitorizacioacuten de trabajos que interactuacuteacon el metaplanificador GridWay [64] [65] a traveacutes del API de Distributed Resource Ma-

nagement Application (DRMAA) [112] La eleccioacuten de Gridway como metaplanificador sebasoacute en varias de sus caracteriacutesticas permite interoperar con diferentes middleware Grid tie-ne soporte para DRMAA y permite enviar trabajos empleando el estaacutendar Job Submission

Description Language (JSDL) [16] Un esquema resumido de la arquitectura utilizada para elenviacuteo y monitorizacioacuten de trabajos puede verse en la Figura 315

Figura 315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten de trabajos en RETELAB

Detalles de implementacioacuten La integracioacuten del metaplanificador con el portal Web fuebastante laboriosa ya que Gridway fue originalmente concebido para ser empleado por usua-rios Unix a traveacutes de CLI o de aplicaciones DRMAA Tal y como estaba originalmente dise-ntildeado GridWay utilizaba el mismo proceso de Unix y el mismo proxy para todos los trabajosque se lanzaban desde la misma cuenta de usuario La identificacioacuten y el acceso de usuarios

56 Capiacutetulo 3 Proyecto RETELAB

de RETELAB no se basa en cuentas de Unix sino que son identificados por su proxy y su AC(veacutease la Seccioacuten 32) Todos los usuarios de RETELAB utilizan la misma cuenta de Unix anivel de recurso de Grid lo que lo hace incompatible con el disentildeo de GridWay Fue nece-sario implementar junto con el equipo de desarrollo del GridWay una versioacuten mejorada delmetaplanificador [33] que manteniendo la compatibilidad con el estaacutendar DRMAA permi-tiese identificar a los usuarios no soacutelo por su cuenta Unix sino tambieacuten por el identificadorpresente en el DC X509

351 Integracioacuten con el sistema de almacenamiento distribuido

El portlet para el enviacuteo de trabajos estaacute totalmente integrado con el Data Grid lo que per-mite por un lado utilizar los datos almacenados en RETELAB como paraacutemetros de entradaen los trabajos de usuario y por otro publicar y compartir los resultados de los trabajos conla comunidad

Test-1

aware

Figura 316 Integracioacuten del espacio de almacenamiento privado del usuario con el portlet de enviacuteo de trabajos

Los paraacutemetros de entrada para un trabajo pueden ser antildeadidos desde el directorio privadode un usuario como puede verse en la Figura 316 o desde el Data Grid

En el caso de que el usuario quiera utilizar los datos almacenados en el Data Grid deberaacutehacer uso de la buacutesqueda dirigida por metadatos Los resultados que obtenga podraacuten ser visua-

35 Gestioacuten y monitorizacioacuten de trabajos 57

lizados a traveacutes del IDV y asiacute confirmar su idoneidad antes de incorporarlos a su trabajo LaFigura 317 muestra la secuencia de buacutesqueda e incorporacioacuten de datos del Data Grid comoparaacutemetros de un trabajo

a

b

Figura 317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos a) Portlet de enviacuteo de trabajos con accesoa la buacutesqueda a traveacutes de la DB virtual b)Resultados de la buacutesqueda y seleccioacuten de los paraacutemetrospara el trabajo

Una vez lanzado el trabajo al Grid RETELAB pone a disposicioacuten del usuario un portletde monitorizacioacuten de tareas (veacutease la Figura 318) en el que puede verse el estado (esperaejecucioacuten error o finalizado) de todos sus trabajos Una vez que el trabajo ha finalizado el

58 Capiacutetulo 3 Proyecto RETELAB

monitor permite acceder a los resultados del mismo visualizarlos e incluso integrarlos en elData Grid (veacutease la Figura 312) en caso de que el usuario quiera compartirlos

Figura 318 Portlet para la monitorizacioacuten de los trabajos de usuario

36 Validacioacuten del laboratorio virtual

Una vez finalizado el desarrollo del laboratorio virtual fue probado desplegando variasaplicaciones desarrolladas en entornos de investigacioacuten en el aacuterea de la oceanografiacutea La in-tegracioacuten de estas aplicaciones sirvioacute para validar el sistema y para proporcionar softwareespecializado a la comunidad Todas las aplicaciones desplegadas estaacuten completamente inte-gradas en el portal por lo que hacen uso del sistema de autenticacioacuten del Data Grid y de lagestioacuten y monitorizacioacuten de trabajos

De entre las aplicaciones que a continuacioacuten se van a describir el Regional Ocean Mo-

del System (ROMS) y el modelo de produccioacuten primaria son aplicaciones desarrolladas porterceros que fueron adaptadas para ser ejecutadas en RETELAB mientras que el proyectoSENTINAZOS es un desarrollo propio concebido para solucionar un problema concreto quepor su entidad alcance y necesidad de investigacioacuten adicional del estado del arte es descritoen detalle en la segunda parte del presente documento

361 ROMS

ROMS [98] es un modelo de circulacioacuten oceaacutenica de nueva generacioacuten especialmente di-sentildeado para simular de manera precisa sistemas oceaacutenicos regionales La Figura 319 muestra

36 Validacioacuten del laboratorio virtual 59

un ejemplo de una simulacioacuten de la temperatura superficial oceaacutenica en la costa noroeste dela peniacutensula Ibeacuterica

Figura 319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten empleando ROMS

ROMS fue desarrollado en Fortran 9095 e implementa ademaacutes del meacutetodo en serie dosmeacutetodos de paralelizacioacuten [114] Message Passing Interface (MPI) y Open Multiprocessing

(OpenMP) mutuamente excluyentes Una caracteriacutestica del modelo es que todas sus entradasy salidas se basan en el formato NetCDF lo que facilita compartir los datos entre los usuariosy otras aplicaciones

El portlet que integra ROMS en el laboratorio fue desarrollado junto con el CESGA ypermite definir y ejecutar instancias del modelo Los usuarios a traveacutes de la interfaz Webpueden configurar los paraacutemetros de las simulaciones seleccionar los datos de entrada a traveacutesdel Data Grid monitorizar el estado de sus trabajos y cuando esteacuten finalizados recuperar losresultados En esta versioacuten es el usuario en el momento de la configuracioacuten quien debeseleccionar el modo de ejecucioacuten de la aplicacioacuten ya sea en serie o en paralelo viacutea OpenMPo MPI

60 Capiacutetulo 3 Proyecto RETELAB

362 Caacutelculo del modelo de produccioacuten primaria

RETELAB debiacutea poder integrar aplicaciones realizadas por los propios centros asociadosal proyecto por lo que se adaptoacute a traveacutes de un portlet un modelo realizado por el ICCMpara el caacutelculo de la Produccioacuten Primaria (PP) oceaacutenica

La PP puede definirse como la generacioacuten de componentes orgaacutenicos a partir del CO2 querealizan los organismos autoacutetrofos a traveacutes de los procesos de fotosiacutentesis o quimiosiacutentesis Esun mecanismo clave que permite a los oceacuteanos a traveacutes del fitoplancton ser los pulmones delplaneta ya que gracias a la PP se genera cerca del 50 de la produccioacuten global de oxiacutegeno yse captura alrededor de la mitad del CO2 mundial El caacutelculo de este paraacutemetro es fundamentalpara comprender el papel que juega el ciclo del carbono en el sistema climaacutetico mundial

Los llamados modelos biooacutepticos son los meacutetodos maacutes utilizados para el caacutelculo a granescala de la PP Estos modelos se basan en informacioacuten obtenida a traveacutes de sateacutelites queincluye entre otros datos informacioacuten sobre las biomasas de fitoplancton y de la luminosidadoceaacutenica En concreto el modelo implementado para RETELAB es una adaptacioacuten del Verti-cally Generalised Production Model (VGPM) desarrollado por Berhefeld y Falkowsky [20]

El portlet implementado permite definir los paraacutemetros de entrada al modelo y ejecutarloen el sistema Grid Los paraacutemetros esperados para un correcto funcionamiento son la tempe-ratura superficial oceaacutenica la concentracioacuten de clorofila y los datos sobre la radiacioacuten dispo-nible para fotosiacutentesis La Figura 320 muestra una composicioacuten que ilustra la visualizacioacutende resultados del caacutelculo de PP una vez lanzada la tarea en el sistema Grid

363 SENTINAZOS

Despueacutes de haber integrado y adaptado aplicaciones desarrolladas por terceros se afrontoacuteel reto de implementar una desde cero que aprovechase el sistema y ademaacutes fuese uacutetil para lacomunidad en un problema de difiacutecil solucioacuten como es la deteccioacuten semiautomaacutetica de con-taminantes marinos basados en hidrocarburos La contaminacioacuten marina es un problema quehabitualmente afecta a nuestras costas y que a menudo se relaciona con grandes cataacutestrofesde petroleros Sin embargo en un mayor porcentaje es originada por pequentildeos derrames quebien sea de forma fortuita debido a pequentildeos accidentes o bien sea de forma premeditada acausa de tareas de mantenimiento se producen diariamente Los centros de vigilancia ma-riacutetima invierten una gran cantidad de recursos en la vigilancia y persecucioacuten de estos actospero cubrir toda la superficie costera es una tarea inabarcable Los sateacutelites aportan la cober-

36 Validacioacuten del laboratorio virtual 61

Figura 320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data Grid y el sistema devisualizacioacuten de IDV

tura necesaria para el estudio y monitorizacioacuten de grandes aacutereas y concretamente estudiosprevios [25] [110] demostraron la viabilidad del uso de las imaacutegenes SAR de sateacutelites en ladeteccioacuten de este tipo de contaminantes

El objetivo es desarrollar una aplicacioacuten que permita el anaacutelisis de imaacutegenes de SAR paradetectar hidrocarburos e integrarla en RETELAB ya que esto proporcionariacutea ciertas ventajascomo

ndash Distribuir el almacenamiento de las imaacutegenes SAR

ndash Compartir las colecciones de imaacutegenes que cada centro disponga con el resto de parti-cipantes del proyecto

ndash Optimizar los algoritmos ya que tienen una gran carga computacional que en granmedida estaacute asociada a los bucles que las analizan y que son candidatos a ser paraleli-zados

ndash Ejecutar diferentes instancias de la aplicacioacuten al mismo tiempo aprovechando los dife-rentes recursos del sistema y asiacute analizar simultaacuteneamente diferentes aacutereas de la costa

62 Capiacutetulo 3 Proyecto RETELAB

Aunque la bibliografiacutea muestra que existen algoritmos similares para la deteccioacuten de ver-tidos eacutestos suelen presentar uno o varios de los siguientes problemas

ndash Requieren la presencia activa de un operador

ndash El coste computacional es demasiado alto para su uso en tiempo real

ndash Las implementaciones se basan en libreriacuteas comerciales con licencias privativas

ndash No tienen en cuenta los efectos de los fenoacutemenos meteoroloacutegicos principalmente elviento en la deteccioacuten de los vertidos

Debido a la complejidad de los algoritmos desarrollados la segunda parte de la tesis estaacutededicada a describirlos en detalle y resaltar el caraacutecter innovador de los mismos

Parte II

Validacioacuten del Laboratorio Virtualavances en la deteccioacuten automaacutetica de

vertidos de hidrocarburos

CAPIacuteTULO 4

ESTADO DEL ARTE

Introduccioacuten

Aunque existen muchos tipos de contaminantes los vertidos de hidrocarburos son pro-bablemente los que maacutes afectan al ecosistema marino A pesar de lo que popularmente esaceptado las grandes cataacutestrofes provocadas por los petroleros suponen una pequentildea parte dedicha contaminacioacuten Un estudio de la Agencia Espacial Europea (ESA) [39] reveloacute que tansoacutelo un 7 de los vertidos pueden ser atribuidos a accidentes mientras que un 45 corres-ponden a derrames que habitualmente se realizan durante operaciones de mantenimiento (porejemplo la limpieza de las sentinas) y que denominaremos sentinazos un 13 proviene defuentes naturales y el 35 restante corresponde a vertidos realizados directamente en los riacuteos

Los vertidos afectan a la economiacutea (turismo pesca etc) y al ecosistema de las regionesdamnificadas por lo que son necesarios sistemas y herramientas para su localizacioacuten Unaraacutepida identificacioacuten permitiriacutea minimizar su impacto e incluso identificar a sus causantesLos sensores que operan en el rango de las microondas comuacutenmente llamados radares handemostrado ser de gran utilidad en la deteccioacuten de vertidos de hidrocarburos

Radar El radar es un sistema de deteccioacuten activo [31] cuyo funcionamiento baacutesicamenteconsiste en el enviacuteo de un pulso de energiacutea en el rango de las microondas hacia la superficieterrestre Este haz es reflejado y retrodispersado por la superficie y parte de la energiacutea esrecogida nuevamente por la antena del radar La intensidad de la sentildeal que vuelve a la antenaes medida y grabada para posteriormente ser utilizada en la construccioacuten de una imagen de la

66 Capiacutetulo 4 Estado del arte

45

7

13

35

Sentinazos

Accidentes

Emanaciones

naturales

Riacuteos

Figura 41 Oriacutegenes de los vertidos de hidrocarburos Imagen adaptada de [39]

zona estudiada Cada piacutexel de la imagen estaacute asociado a un aacuterea sobre el terreno y almacena unvalor que representa la cantidad de energiacutea que regresa al sensor debido a la retrodispersioacuten

Tradicionalmente los buques y los aviones han sido los medios de vigilancia maacutes utili-zados en la lucha contra la contaminacioacuten oceaacutenica Por un lado los buques equipados consistemas de radar son uacutetiles para detectar contaminantes en sus proximidades y obtener mues-tras de los vertidos pero su restringida cobertura limita su eficacia por otro lado los avionesde vigilancia que utilizan sistemas de Radar Lateral Aerotransportado (SLAR) permiten vi-gilar aacutereas maacutes extensas pero su coste hace que sea poco viable emplearlos para monitorizarsuperficies de gran tamantildeo de forma intensiva y simultaacutenea En resumidas cuentas tanto losbuques como los aviones son adecuados como medios de primera intervencioacuten pero seriacuteadeseable un sistema maacutes econoacutemico con mayor cobertura

El uso de sistemas de radar instalados a bordo de sateacutelites permite abarcar aacutereas muchomaacutes extensas y a un coste razonable pero su resolucioacuten espacial no es adecuada para la buacutes-queda de pequentildeos derrames de hidrocarburos La resolucioacuten es la habilidad para distinguirdos objetos separados por la miacutenima distancia posible Si la distancia entre los objetos essuficiente cada uno de ellos estaraacute localizado en una celda de la imagen diferente y seraacuten dis-tinguibles en caso contrario el radar devolveraacute una combinacioacuten de la energiacutea reflejada porlos dos objetos como si fuese uno soacutelo [74] Tanto el radar aerotransportado como el espacialobservan la superficie lateralmente (veacutease la Figura 42) y su resolucioacuten espacial es diferente

67

en la direccioacuten paralela a la trayectoria del sateacutelite tambieacuten denominada resolucioacuten en acimuty en la perpendicular es decir en la direccioacuten al objetivo

En la perpendicular a la trayectoria del sateacutelite el sistema puede discriminar dos objetossi la distancia entre ellos es mayor que la mitad de la anchura del pulso (pulse width) enviadoLa resolucioacuten perpendicular se calcula a traveacutes de la siguiente foacutermula

Rp =c middot τ

2=

c2 middotβ

(41)

siendo c la velocidad de la luz y τ la anchura del pulso Tambieacuten puede expresarse atraveacutes el ancho de banda del pulso (pulse bandwidth) representado por β

Normalmente los radares a bordo de sateacutelites trabajan en anchos de banda que van desdelos 10 a los 40 MHz Este rango generariacutea resoluciones que van desde los 15 a los 37 metrosque son suficientemente buenas para la deteccioacuten de vertidos El problema principal estaacute aso-ciado a la resolucioacuten en acimut es decir en la trayectoria del sateacutelite que se calcula como

Rac =λ middotdLA

(42)

siendo λ la longitud de onda d la distancia del sensor al objetivo y LA la longitud de laantena

d

A

A

B

B

Rac

Rac

800 km

d=1131 km

15deg

45deg

Trayect

oria d

el sa

teacutelit

e

Perpendicular a la trayectoria

Figura 42 Resolucioacuten espacial de un radar a bordo de un sateacutelite

68 Capiacutetulo 4 Estado del arte

Dado que la longitud de onda estaacute situada dentro de un rango determinado de microondasy que no puede haber grandes variaciones de la altura a la que orbita el sateacutelite la resolucioacutenen acimut queda directamente determinada por la longitud de la antena Obtener una oacuteptimaresolucioacuten utilizando sistemas de radar sobre plataformas espaciales implicariacutea el uso de an-tenas de enormes proporciones lo que seriacutea impracticable Empleando los datos de ejemplode la Figura 42 un radar que operase en la Banda C con una longitud de onda de 5 cm y queviajase a bordo de un sateacutelite que orbitase a 800 km de altura necesitariacutea una antena de casi 2km para conseguir una resolucioacuten de 30 m cuando el Aacutengulo de Incidencia (IA) fuese de 45

LA =005 middot1131 middot103

30= 1885m (43)

Para solucionar este haacutendicap surge un tipo especial de radar llamado SAR que permiteobtener resoluciones de pocos metros con antenas de pequentildeas dimensiones Por ejemplo laresolucioacuten del Envisat alcanzaba los 30 m empleando una antena rectangular de 13 m x 10m

SAR Los principios baacutesicos del funcionamiento del SAR solucionan la limitacioacuten deresolucioacuten del radar El SAR montado sobre una plataforma moacutevil analiza y recoge diferentesmedidas de un mismo punto durante su trayecto (Figura 43) Esto permite simular una antenade las mismas proporciones que la distancia entre la primera y la uacuteltima medicioacuten llegando aconseguir resoluciones de tan soacutelo unos pocos metros

Liacutenea de tierra

Traza

Antena virtual

Primera medicioacuten

Uacuteltima medicioacuten

Figura 43 Antena virtual generada por SAR

Las imaacutegenes SAR son complejas y difiacuteciles de interpretar y esto es debido a muacuteltiplesfactores (la superficie es estudiada lateralmente el aacutengulo de emisioacuten e incidencia del haz de

69

energiacutea variacutea la sentildeal de retorno se ve afectada por la distancia entre la antena y la superficieestudiada etc) La Figura 44 muestra un ejemplo de una imagen SAR en la que se apreciacoacutemo la intensidad no es homogeacutenea Las zonas maacutes cercanas al sateacutelite y con menor IA danlugar a niveles de intensidad maacutes altos (representados de forma maacutes clara) mientras que laszonas maacutes alejadas y con aacutengulos mayores son representadas de forma maacutes oscura debido alos bajos niveles de intensidad

Figura 44 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007)

Ademaacutes de la amplia cobertura y buena resolucioacuten que puede conseguirse con el SAR esnecesario destacar que al ser un sensor activo su funcionamiento no depende de la radiacioacutensolar y puede utilizarse durante el diacutea y la noche Ademaacutes el sensor es independiente de lacobertura nubosa ya que su haz de energiacutea en el rango de las microondas le permite atravesarlasin sufrir alteraciones

Un estudio en mayor profundidad de SAR y de sus aplicaciones puede encontrarse en [66]

Imaacutegenes SAR de la superficie oceaacutenica

La superficie del mar en condiciones moderadas de viento presenta cierta rugosidad ge-nerada por las ondas capilares Esta rugosidad provoca una retrodispersioacuten uniforme del hazde energiacutea enviado por el SAR Los vertidos de hidrocarburos asiacute como determinados fe-

70 Capiacutetulo 4 Estado del arte

noacutemenos naturales [63] como las algas el hielo o los vientos de baja intensidad suprimendichas ondas capilares provocando un aplanamiento de la zona (veacutease la Figura 45b) Estasaacutereas tienen un comportamiento especular frente al haz de energiacutea que reduce considerable-mente la cantidad de radiacioacuten retornada al sensor Los piacutexeles que representan a este tipo dezonas almacenan valores de retrodispersioacuten muy bajos lo que provoca que se visualicen comoaacutereas oscuras El efecto provocado por los distintos fenoacutemenos naturales y que es similar alde los vertidos es conocido como look-alike Si el viento que afecta a la zona del vertido essuficientemente fuerte el efecto de laquoaplanamientoraquo de los hidrocarburos es atenuado hacien-do muy difiacutecil o imposible distinguirlo del mar limpio (veacutease la Figura 45c) Por el contrariosi el aacuterea analizada estaacute afectada por vientos de baja intensidad (veacutease la Figura 45a) lasondas capilares desaparecen y el contraste entre el vertido y el mar limpio no es suficientepara distinguirlos por lo que aparecen look-alikes

Diversos estudios [40] [92] [43] han fijado la velocidad del viento miacutenima y necesariapara detectar contaminantes entre 2 y 3 ms El liacutemite superior se encuentra maacutes difuso dadoque depende del tipo de hidrocarburo y del tiempo que ha pasado desde su vertido pero podriacuteaestablecerse que a partir de 10 ms su deteccioacuten es complicada y que una velocidad de entre12 y 15 ms podriacutea ser considerada el umbral maacuteximo para poder identificar un sentinazo Lascondiciones oacuteptimas de viento se encontrariacutean en el rango de 35 a 70 ms [54]

(a) (b) (c)Vientos de baja intensidad lt3 ms Vientos moderados Vientos fuertes gt 15 ms

Figura 45 Efecto del viento en la retrodispersioacuten de un pulso SAR

71

Metodologiacuteas para la deteccioacuten de vertidos de hidrocarburos en imaacutegenes SAR

Inspeccioacuten manual La inspeccioacuten manual de las imaacutegenes SAR para la deteccioacuten desentinazos es la teacutecnica maacutes popular y maacutes sencilla de aplicar Estaacute basada en dos grandesfases

ndash Localizacioacuten de fenoacutemenos sospechosos

ndash Anaacutelisis y asignacioacuten de un grado de probabilidad (alto medio o bajo) de que seansentinazos

Aunque la mayoriacutea de los fenoacutemenos detectados pueden ser clasificados correctamente porun experto basaacutendose soacutelo en la imagen existen algunos maacutes confusos en los que el operadornecesita utilizar informacioacuten externa adicional para su correcta clasificacioacuten como puede serdatos de vientos periodo del antildeo forma caracteriacutesticas del aacuterea de observacioacuten etc

Inspeccioacuten automaacutetica La literatura muestra un gran esfuerzo en el desarrollo de siste-mas automaacuteticos y semiautomaacuteticos para la deteccioacuten de vertidos analizando imaacutegenes SARPuede encontrarse un extenso repaso a los antecedentes bibliograacuteficos tanto en el anaacutelisisde Brekke y Solberg [25] como en el de Topouzelis [110] Dichos trabajos muestran que lamayoriacutea de los sistemas despueacutes de realizar alguacuten tipo de preprocesado sobre las imaacutegenes(calibrado proyeccioacuten filtrado de ruido enmascaramiento de la tierra etc) aplican un algo-ritmo compuesto de 3 grandes fases

ndash Segmentacioacuten el objetivo es localizar aislar y extraer todas las aacutereas susceptibles deser vertidos de hidrocarburos (incluyendo los falsos positivos)

ndash Extraccioacuten de caracteriacutesticas las regiones previamente detectadas son analizadas y ca-racterizadas

ndash Clasificacioacuten analizando las caracteriacutesticas extraiacutedas y a traveacutes de un clasificador seasigna a cada candidato una etiqueta o una probabilidad de ser sentinazo o look-alike

La extraccioacuten de caracteriacutesticas y la clasificacioacuten pueden estar apoyadas por informacioacutencontextual como por ejemplo proximidad a fuentes de vertidos (plataformas petroliacuteferasbarcos etc) o datos meteoroloacutegicos La Figura 46 resume las fases principales de un sistemaautomaacutetico

72 Capiacutetulo 4 Estado del arte

Figura 46 Sistema automaacutetico para la deteccioacuten de sentinazos

Comparativa entre la inspeccioacuten automaacutetica y la inspeccioacuten manual Los sistemasmanuales presentan ciertas desventajas frente a los automaacuteticos su eficiencia depende dela experiencia del experto que analiza las imaacutegenes el ojo humano tiene dificultades paraclasificar aacutereas difusas donde las fronteras entre la mancha y el fondo no estaacuten claras eloperador tiende a sobreseleccionar piacutexeles al delinear los bordes de las manchas el tiempo deprocesamiento es claramente superior al de un sistema automaacutetico etc

La principal desventaja de los sistemas automaacuteticos respecto a los manuales tiene que vercon la confianza en los mismos Los medios de vigilancia in-situ como barcos y aviones soncostosos y limitados y aunque los sistemas automaacuteticos pueden clasificar correctamente lamayoriacutea de los sentinazos existe un pequentildeo nuacutemero de ellos que son clasificados incorrec-tamente Los sistemas de deteccioacuten automaacuteticos suelen utilizarse como una herramienta deapoyo a las decisiones donde un operario tiene la uacuteltima palabra a la hora de movilizar losmedios de vigilancia

Teacutecnicas de deteccioacuten automaacutetica de sentinazos

Los siguientes subapartados profundizan en las teacutecnicas utilizadas para desarrollar lasprincipales fases de los algoritmos de deteccioacuten

Segmentacioacuten Analizando la intensidad de la sentildeal recuperada por el sensor es posibledistinguir ciertos fenoacutemenos oceaacutenicos Como se ha visto anteriormente los sentinazos asiacutecomo otros fenoacutemenos naturales se representan en las imaacutegenes SAR con valores de baja in-

73

tensidad El objetivo de esta fase es detectar todos los posibles sentinazos siendo su resultadouna imagen binaria en la que se destacan todos los candidatos El umbral de intensidad paraque un piacutexel sea segmentado no es constante y depende de factores asociados al aacuterea estudia-da como el IA del haz del sateacutelite o las condiciones meteoroloacutegicas La segmentacioacuten es unafase fundamental dentro del algoritmo dado que si un sentinazo no es aislado en esta fase nopodraacute ser clasificado como tal en fases posteriores

La diferencia de contraste entre los candidatos y el fondo de la imagen sugiere que lasteacutecnicas basadas en umbrales pueden ser adecuadas para la segmentacioacuten por lo que tanto lasteacutecnicas de umbralizacioacuten simple [41] como las de umbralizacioacuten adaptativa [103] [104] [37]han sido ampliamente utilizadas Ademaacutes de las basadas en umbrales han sido empleadasotras teacutecnicas para la segmentacioacuten como son las redes neuronales [108] [54] las teacutecnicasbasadas en texturas [21] [72] o las basadas en deteccioacuten de bordes [29] [81]

Debido a la complejidad de la segmentacioacuten y a las dimensiones de las imaacutegenes SAReacutesta es la fase computacionalmente maacutes costosa La velocidad de ejecucioacuten del algoritmo escrucial para dar una respuesta en tiempo cuasi real Para acelerar la segmentacioacuten algunossistemas reducen la resolucioacuten radiomeacutetrica de la imagen original de 32 bits codificaacutendolaen 8 bits [90] [54] o bien analizan soacutelo pequentildeas Regiones de Intereacutes (ROIs) de la imagenprincipal que previamente han sido seleccionadas por un experto [37] otros en cambio usanfactores de escape en sus algoritmos para no procesar todos los piacutexeles de la imagen [104]

Extraccioacuten de caracteriacutesticas Una vez detectados los candidatos eacutestos son analizadosy caracterizados El vector de caracteriacutesticas deberiacutea recoger la informacioacuten necesaria parauna posterior clasificacioacuten A pesar de que existen algunos trabajos que intentan unificar elnuacutemero y tipo de caracteriacutesticas [109] [111] en general no existen estudios sistemaacuteticos sobrela extraccioacuten de caracteriacutesticas y su influencia en la clasificacioacuten y por ello su eleccioacuten sueleproducirse de forma heuriacutestica No obstante la mayoriacutea de las caracteriacutesticas utilizadas seengloban en las siguientes clases

ndash Caracteriacutesticas geomeacutetricas desde el punto de vista de la composicioacuten quiacutemica del hi-drocarburo la forma no guarda una relacioacuten directa con el vertido no obstante desdeel punto de vista de su origen estudios previos [92] muestran que la forma de los sen-tinazos es caracteriacutestica y pertenece a uno de los tipos mostrados en la Figura 47

ndash Caracteriacutesticas fiacutesicas asociadas al nivel de intensidad de los piacutexeles que forman elcandidato y a los de la superficie circundante

74 Capiacutetulo 4 Estado del arte

ndash Texturas en contraposicioacuten a las caracteriacutesticas obtenidas de cada piacutexel de forma aisla-da las texturas aportan informacioacuten sobre la correlacioacuten espacial de dichos piacutexeles enun aacuterea

ndash Informacioacuten contextual la informacioacuten exclusivamente basada en la mancha puede noser suficiente para una correcta clasificacioacuten de las aacutereas maacutes confusas y es en estepunto donde la informacioacuten contextual como la distancia a una posible fuente del ver-tido [104] o los datos meteoroloacutegicos [40] puede ser de utilidad

Figura 47 Anaacutelisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo durante el antildeo 1999 Figuraadaptada de [92]

Clasificacioacuten El objetivo de esta fase es distinguir cuaacuteles de los candidatos segmentadosson sentinazos y cuaacuteles son look-alikes (falsos positivos) utilizando para ello un clasificadorcuya entrada es el vector de caracteriacutesticas obtenido en la fase anterior La comparacioacuten enteacuterminos de eficiencia entre los distintos clasificadores existentes en la bibliografiacutea resultamuy complicada dado que cada sistema utiliza su propio conjunto de pruebas y las caracte-riacutesticas extraiacutedas de los candidatos son diferentes Es conveniente resaltar que muchos de losconjuntos de prueba utilizados no contienen sentinazos confirmados in-situ sino que han sidodetectados y clasificados por un operador de forma manual En otros muchos casos simple-mente no se especifica la forma en que fueron identificados

75

En la bibliografiacutea podemos encontrar muacuteltiples aproximaciones al problema de la clasifi-cacioacuten Las Red Neuronal Artificial (ANN) [71] y sus diferentes implementaciones han sidomuy utilizadas

ndash Frate et aacutel [37] utilizaron una DB con 600 imaacutegenes ERS de baja resolucioacuten (100 m x100 m) codificadas en 8 bits de la que se extrajeron 139 candidatos (71 sentinazos y 68look-alikes) Utilizando un clasificador basado en una ANN y a traveacutes de una validacioacutencruzada (dejando uno fuera) se clasificoacute correctamente al 82 de los sentinazos y al90 de los look-alikes

ndash Topouzelis et aacutel [108] parten de una DB de 24 imaacutegenes de alta resolucioacuten (25 m x 25m) codificadas en 8 bits De la DB se seleccionaron 159 fragmentos (90 look-alikes y69 sentinazos) La ANN utilizada clasificoacute correctamente el 91 de los sentinazos y el87 de los look-alikes

ndash Oscar Garciacutea-Pineda et aacutel [54] seleccionaron de una DB con 700 imaacutegenes Radarsatcodificadas en 8 bits dos conjuntos de entrenamiento con 14 y 10 imaacutegenes respectiva-mente y dos conjuntos de validacioacuten con 5 imaacutegenes cada uno Un primer clasificadorentrenado para distinguir los piacutexeles con hidrocarburos de los piacutexeles con mar limpiofue aplicado sobre el conjunto de 14 imaacutegenes obtenieacutendose una eficacia del 9822El segundo clasificador entrenado sobre el conjunto de 10 imaacutegenes para clasificar en-tre 3 tipos de piacutexeles (sentinazos mar limpio y bajo viento) obtuvo una eficacia del9774

Otro gran grupo de clasificadores son los basados en modelos probabiliacutesticos

ndash Solberg et aacutel [103] combinaron un modelo estadiacutestico con un sistema basado en reglase incorporaron informacioacuten contextual (datos de vientos y distancia a posibles oriacutegenesdel vertido) Aplicando el algoritmo sobre 84 imaacutegenes SAR (inspeccionadas por unoperador) y usando un meacutetodo de validacioacuten cruzada su eficacia alcanzoacute el 94 en ladeteccioacuten de sentinazos y el 99 en la de look-alikes Este modelo ha sido mejoradoen varias ocasiones

bull Solberg y Brekke [104] trabajaron con un conjunto de entrenamiento consistenteen 56 imaacutegenes del Envisat y 71 imaacutegenes del Radarsat y un conjunto de pruebacon 27 imaacutegenes del Envisat El conjunto de prueba conteniacutea 37 sentinazos con-firmados y 12110 look-alikes (obtenidos de la segmentacioacuten de las imaacutegenes)

76 Capiacutetulo 4 Estado del arte

El 994 de los look-alikes fueron clasificados correctamente mientras que laeficacia en la deteccioacuten de los sentinazos alcanzoacute el 784

bull Brekke y Solberg [26] se basaron en el modelo anterior para desarrollar un sis-tema de deteccioacuten de sentinazos en dos pasos En el primer paso emplearon unclasificador estadiacutestico normalizado con el objetivo de detectar todos los senti-nazos y en un segundo paso aplicaron un estimador de confianza que asignabauna probabilidad a cada sentinazo Su DB se componiacutea de 104 imaacutegenes EnvisatWide Swath Mode (WSM) divididas en tres subconjuntos entrenamiento (56 imaacute-genes) validacioacuten (20 imaacutegenes) y test (27 imaacutegenes) La eficacia del clasificadorfue del 927 sobre los sentinazos y del 897 con los look-alikes

ndash Fiscella et aacutel [41] realizaron una comparativa entre un clasificador de probabilidadcompuesta y uno basado en la distancia de Mahalanobis El conjunto de datos de entre-namiento estaba compuesto por 80 sentinazos y 43 look-alikes mientras que el de testque estaba analizado por un operador teniacutea 11 sentinazos 6 look-alikes y 4 indefinidosEl 818 de los sentinazos y el 100 de los look-alikes fueron correctamente clasifi-cados usando la distancia de Mahalanobis mientras que el clasificador de probabilidadcompuesto identificoacute el 909 de los sentinazos y el 67 de los look-alikes

La eficacia de los diferentes meacutetodos de clasificacioacuten es totalmente dependiente de las fa-ses previas y por tanto es difiacutecil compararlos Es necesario segmentar el candidato para poderclasificarlo siendo clave para su correcta clasificacioacuten las caracteriacutesticas seleccionadas y supoder discriminatorio Es importante tambieacuten destacar que las eficacias de algunos clasifica-dores viene dada a nivel de piacutexel [54] y las de otros a nivel de candidato [103] En generalla eficacia a nivel de piacutexel suele ser maacutes elevada dado que se evaluacutea una muestra mayor y loserrores de clasificacioacuten si son pocos quedan maacutes diluidos

CAPIacuteTULO 5

SISTEMA AUTOMAacuteTICO DE DETECCIOacuteN DE

VERTIDOS EN IMAacuteGENES DE SAR

51 Descripcioacuten del proyecto

Galicia es una regioacuten en el noroeste de Espantildea con maacutes de 1200 km de costa y aproxi-madamente 720 playas donde el mar ha jugado siempre un papel muy importante en la vidade sus habitantes La pesca y la agricultura han sido pilares fundamentales de su economiacutea yactualmente el sector turiacutestico juega tambieacuten un papel esencial Sus costas playas y las bon-dades de su gastronomiacutea particularmente la relacionada con el producto de mar (pescados ymariscos) son en buena parte culpables del incremento turiacutestico Ademaacutes se encuentran enesta regioacuten importantes astilleros y puertos tanto civiles como militares

La situacioacuten geograacutefica de Galicia convierte a sus costas en un paso obligado para buenaparte del traacutefico mariacutetimo europeo El Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF)mostrado en la Figura 51 es utilizado para dirigir y controlar este traacutensito Las viacuteas de circu-lacioacuten estaacuten empezando por la maacutes proacutexima a la costa a 217 millas naacuteuticas (40 km) 283millas naacuteuticas (524 km) 355 millas naacuteuticas (657 km) y 395 millas naacuteuticas (73 km) deCabo Fisterra Las viacuteas C y D del ESTF son usadas para navegar de norte a sur mientras quela A y B se utilizan en sentido contrario Las viacuteas B y D estaacuten reservadas para embarcacionescon mercanciacuteas peligrosas

Cada antildeo miles de buques de mercanciacuteas navegan a lo largo del ESTF y debido a lanormativa internacional todos los barcos tienen que informar de su posicioacuten al servicio de

78 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

7degW8degW9degW10degW

44degN

43degN

42degN

0 30 60 90 12015

Millas naacuteuticas130ordm

75ordm

Cabo Vilaacuten

Cabo Fisterra

Traacutefico

costero

D C B A

Figura 51 Esquema de Separacioacuten de Traacutefico de Fisterra

Traacutefico Mariacutetimo de Fisterra al cruzar las liacuteneas de demora 130 a Cabo Vilaacuten y 75 a CaboFisterra La Tabla 51 muestra el nuacutemero de informes recibidos entre los antildeos 1999 y 2009

Antildeo 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009Buques 41829 44561 44331 43209 43469 42538 43212 41942 42136 42354 40320

Tabla 51 Nuacutemero de embarcaciones identificadas en el ESTF

Este intenso traacutefico tiene graves consecuencias medioambientales en forma de accidentesy vertidos como por ejemplo el del petrolero Urquiola en 1976 o el del Mar Egeo en 1992 Sinembargo la cataacutestrofe maacutes importante y con mayor repercusioacuten ha sido la del buque petroleroPrestige que el 13 de Noviembre del antildeo 2002 sufrioacute un accidente frente a la costa gallegapara acabar hundieacutendose al cabo de seis diacuteas En la Figura 52 se observa la extensioacuten delvertido 5 diacuteas despueacutes de la cataacutestrofe La amplia cobertura cientiacutefica del accidente permitioacuteobtener multitud de datos y de informacioacuten lo que unido a un incremento de los recursoseconoacutemicos tuvo como consecuencia el desarrollo de varios proyectos para la deteccioacuten yseguimiento de grandes vertidos [90] [18] [34]

A pesar de que los medios de vigilancia y prevencioacuten se incrementaron despueacutes de la ca-taacutestrofe se descubren regularmente pequentildeos vertidos (sentinazos) provenientes de las ope-raciones de mantenimiento y limpieza de sentinas Es conveniente recordar que los pequentildeos

51 Descripcioacuten del proyecto 79

vertidos a pesar de no ser tan mediaacuteticos son la fuente de contaminacioacuten por hidrocarburosmaacutes importante (veacutease la Figura 41)

8deg30W9degW9deg30W10degW10deg30W

44degN

43deg30N

43degN

42deg30N

42degN

0 10 20 30 405

Millas naacuteuticas

Figura 52 Imagen SAR del vertido provocado por el accidente del buque petrolero Prestige (17112002)

La Agencia espantildeola de Salvamento y Seguridad Mariacutetima (SASEMAR) es la autoridadpuacuteblica encargada de monitorizar las costas gallegas en general y el ESTF en particular SA-SEMAR como se observa en la Figura 53 cuenta con varias bases de vigilancia en Galiciay con recursos tanto marinos como aeacutereos para efectuar la monitorizacioacuten y la vigilancia Eluso de buques y aviones es costoso y limitado por lo que el acuerdo suscrito con la Agen-cia Europea de Seguridad Mariacutetima (EMSA) para recibir hasta un maacuteximo 12 avisos al mesprovenientes de la inspeccioacuten de imaacutegenes SAR sobre posibles vertidos es especialmente uacutetilEstos avisos son evaluados por el personal de SASEMAR y cuando se considera apropiadoenviacutean sus propios recursos a la zona

En general una nacioacuten costera como es Espantildea y en particular Galicia con su intenso traacute-fico mariacutetimo y su traacutegico historial de cataacutestrofes medioambientales deberiacutea poseer su propiosistema de anaacutelisis de imaacutegenes SAR sin depender de sistemas de terceros Con este aacutenimose desarrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos a partirde imaacutegenes SAR que aunque resulta faacutecilmente adaptable a otras regiones fue optimizadopara su uso en las costas gallegas [79] Se prestoacute especial atencioacuten a su implementacioacuten conel objetivo de dar una respuesta en tiempo cuasi real sin sacrificar la eficiencia Las diferentesherramientas software o libreriacuteas utilizadas para el desarrollo del prototipo estaacuten soportadaspor licencias puacuteblicas lo que permite la libre distribucioacuten del producto final Los siguientes

80 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

A Coruntildea

Porto do Son

Vigo

Recursos de SASEMAR en Galicia

1 avioacuten de vigilancia CESSNA 337-G

1 avioacuten de vigilancia CN235-300

1 helicoacuteptero S61N - Sikorsky

1 helicoacuteptero AW139

3 buques polivalentes

Figura 53 Bases de la SASEMAR en Galicia y recursos asignados a la regioacuten

apartados detallan el desarrollo del algoritmo utilizado y su incorporacioacuten a un prototipo LaSeccioacuten 52 presenta la DB de imaacutegenes usada para el desarrollo y las fuentes de datos uti-lizadas Las particularidades del algoritmo se describen en las Secciones 53 54 55 y 56Por uacuteltimo la Seccioacuten 57 se centra en la descripcioacuten del prototipo implementado y en suintegracioacuten en RETELAB

52 Fuentes de datos

521 Sateacutelite Envisat

En Marzo del 2002 la ESA puso en oacuterbita el sateacutelite de observacioacuten terrestre Envisat [1]Su objetivo principal era dotar a Europa de una mayor capacidad para la observacioacuten de laTierra desde el espacio y dar continuidad a las misiones predecesoras de los sateacutelites ERS-1 y ERS-2 La instrumentacioacuten del Envisat estaba disentildeada para realizar observaciones ymediciones del oceacuteano la tierra el hielo y la atmoacutesfera Estuvo operativo hasta el 8 de Abrildel 2012 diacutea en que se perdioacute el contacto El 9 de Mayo del 2012 la ESA dio por finalizadaoficialmente la misioacuten Algunos de los paraacutemetros orbitales del sateacutelite pueden consultarse enla Tabla 52

La continuidad de las misiones europeas para la observacioacuten de la Tierra estaacute garantizadacon la serie de sateacutelites Sentinel que estaacute siendo desarrollada por la ESA dentro del programa

52 Fuentes de datos 81

de Monitorizacioacuten Global para el Medioambiente y la Seguridad (GMES) Se espera que elprimer sateacutelite Sentinel sea lanzado durante el antildeo 2013

Oacuterbitas por diacutea 143Periodo repeticioacuten de ciclo 35 diacuteasOacuterbitas por ciclo 501Periacuteodo orbital 10059 minVelocidad de la oacuterbita 745 kmsInclinacioacuten orbital 9855

Altitud media 7998 km

Tabla 52 Paraacutemetros orbitales del sateacutelite Envisat

A bordo del Envisat viajaban 10 instrumentos dedicados a la observacioacuten de la Tierra

ndash El instrumento de Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite(DORIS) ofreciacutea datos sobre la oacuterbita del sateacutelite con gran precisioacuten Esta informacioacutenera utilizada para determinar la posicioacuten exacta del sateacutelite

ndash El Espectroacutemetro de Imaacutegenes de Resolucioacuten Media (MERIS) mediacutea la reflectancia dela Tierra en el rango del espectro solar analizando el color de los oceacuteanos y la coberturadel terreno Los mapas de alta resolucioacuten generados con sus datos son utilizados paraevaluar los efectos del cambio climaacutetico

ndash El Radioacutemetro Avanzado de Exploracioacuten Longitudinal (AATSR) permitiacutea medir la tem-peratura de la superficie de la Tierra y de los oceacuteanos a partir de la radiacioacuten teacutermicainfrarroja que emite nuestro planeta

ndash El Altiacutemetro de Radar (RA-2) era capaz de registrar la topografiacutea de la superficie te-rrestre con una precisioacuten de unos pocos centiacutemetros lo que haciacutea posible analizar porejemplo la evolucioacuten temporal del nivel del mar

ndash El objetivo principal del Radioacutemetro de Microondas (MWR) era el de realizar medicio-nes del vapor de agua de la atmoacutesfera y del contenido de agua liacutequida de las nubes

ndash El instrumento para Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Es-trellas (GOMOS) proporcionaba una cartografiacutea global del ozono en altitud y un segui-miento de tendencia de gran precisioacuten

82 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash El Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva (MIPAS) era unespectroacutemetro independiente de la luz solar que serviacutea para realizar mediciones de altaresolucioacuten del espectro de emisiones gaseosas en la atmoacutesfera terrestre

ndash La misioacuten principal del Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes paraCartografiacutea Atmosfeacuterica (SCIAMACHY) era registrar el espectro de rayos solares quepasan a traveacutes de la atmoacutesfera Se utilizaba para encontrar huellas de absorcioacuten espectralproducidas por determinados gases y entre otras utilidades permitiacutea realizar mapasglobales de polucioacuten atmosfeacuterica

ndash El Retrorreflector Laacuteser (LRR) era un sensor pasivo utilizado como reflector de pul-sos laacuteser de alta potencia enviados desde estaciones en tierra y que proporcionaba ladistancia entre el sateacutelite y la estacioacuten

ndash El Radar de Apertura Sinteacutetica Avanzado (ASAR) era un novedoso instrumento SARdel que se obtuvieron los datos utilizados para el desarrollo de SENTINAZOS La si-guiente Seccioacuten profundiza su descripcioacuten

La mayoriacutea de los instrumentos presentados excepto el MWR y el RA-2 teniacutean coberturaglobal y necesitaban entre 1 y 3 diacuteas para completarla

Radar de Apertura Sinteacutetica Avanzado

El ASAR es un sensor activo que opera en el rango de las microondas concretamenteen la banda C con una frecuencia de 5331 GHz En la figura 54 se muestra el espectroelectromagneacutetico ofreciendo mayor detalle en el rango de las microondas

Las caracteriacutesticas particulares del sensor ademaacutes de su independencia de la luz solar yde la cobertura nubosa lo hacen especialmente eficiente en el estudio de temas tan diversoscomo frentes oceaacutenicos oleaje marino deteccioacuten de barcos y contaminantes movimiento yextensioacuten de hielos agricultura estudios urbaniacutesticos desastres naturales etc Dependiendodel aacuterea de estudio se trabajaraacute en uno de los 5 modos de operacioacuten soportados por el sensory que son descritos en la Tabla 53

Envisat Wide Swath Mode

El Envisat Wide Swath Mode (WSM) es el modo de operacioacuten que mejor se adapta a labuacutesqueda de vertidos de hidrocarburos Por un lado gracias a la teacutecnica ScanSAR ofrece una

52 Fuentes de datos 83

Banda

Frecuencia (GHz)

Long onda (cm)

InfrarojoMedio

MicroondasRadar

Radio Bandas Audio AC

UV

GammaRayos X

P L S C X K Q V W

039 155

03 10 30 100 300 1000

56463610957539

100 30 10 3 1 03

Vis

ible

10 10 1010 10 10 10 10 10 10 120 18 16 14 12 10 8 6 4 2

Longitud de onda

Frecuencia Hz

00

3 Å

03

3 Å

30

30

0 Å

03

μm

3 μ

m

30

μm

30

m

03

cm

3 c

m

30

cm

3 m

30

m

30

0 m

3 k

m

30

km

30

0 k

m

Longitud de onda (λ)

04

μm

07

μm

Figura 54 Espectro electromagneacutetico Figura adaptada de la web de la ESA [1]

Modo Trazas Polarizacioacuten Resolucioacuten (m) Cobertura aproxima-da (km)

IA (grados sexagesi-males)

Ruido de fondo (dB)

Image Mode(IM)

IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

AlternatingPolarisation(AP)

IS1 IS2 IS3IS4 IS5 IS6o IS7

HHVVHHHVVVVH

30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

Wide Swath(WS)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 150 400 17minus42 -21 a -26

Global Moni-toring (GM)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 1000 400 17minus42 -32 a -35

Wave (WV) IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 5 15minus45 -20 a -22

Tabla 53 Modos de operacioacuten del sensor ASAR a bordo del Envisat

amplia cobertura de 405 km y una resolucioacuten media de 150 m Por otro lado la relacioacuten entreel ruido de fondo y la retrodispersioacuten es adecuada para la buacutesqueda de sentinazos en casi todaslas condiciones cuando se utiliza la polarizacioacuten vertical-vertical

Polarizacioacuten Los radares pueden transmitir el haz energeacutetico con polarizacioacuten horizon-tal (H) o con polarizacioacuten vertical (V) y recibir la sentildeal retornada nuevamente con polariza-cioacuten horizontal vertical o ambas Esto es interesante debido a que los diferentes materiales

84 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de los que estaacute compuesta la cubierta terrestre reflejan las sentildeales con intensidades diferentesdependiendo de la polarizacioacuten e incluso algunos materiales convierten una polarizacioacuten enotra Dependiendo del objetivo de la investigacioacuten es maacutes adecuado un tipo u otro de pola-rizacioacuten Los productos de Envisat WSM pueden trabajar con dos tipos de polarizacioacuten lavertical-vertical (VV) y la horizontal-horizontal (HH)

Ruido de fondo Los sistemas para la adquisicioacuten de datos y procesamiento de sentildealesestaacuten afectados por diferentes tipos de ruido y de sentildeales no deseadas La suma de todo estoes lo que se define como ruido de fondo o noise floor La intensidad de este ruido situacutea elumbral o medida miacutenima que puede ser tomada e identificada con certeza es decir no sepuede identificar nada cuya intensidad de sentildeal sea inferior al ruido de fondo ya que quedaenmascarado por dicho ruido

La retrodispersioacuten del oceacuteano variacutea dependiendo del IA la polarizacioacuten y la velocidad ydireccioacuten del viento Los productos WSM de Envisat con polarizacioacuten VV poseen un ruidode fondo entre -21 dB y -26 dB que se encuentra por debajo de la media de retrodispersioacutendel oceacuteano en casi todas las condiciones Esta caracteriacutestica permite buscar la presencia dehidrocarburos ya que eacutestos se asocian a valores de retrodispersioacuten inferiores a los generadospor las aacutereas del mar sin presencia de contaminantes La Figura 55 muestra la retrodispersioacutendel oceacuteano obtenida de una imagen SAR que no teniacutea presencia de hidrocarburos Se puedeobservar que la retrodispersioacuten variacutea seguacuten el IA y la velocidad del viento

Aacutengulo de incidencia (grados)

Retr

odis

pers

ioacuten (

dB

)

Vientos 10 msVientos 6 msVientos 4 ms

15 20 25 30 35 40 45

5

0

-5

-10

-15

-20

-25

Figura 55 Retrodispersioacuten media obtenida de una imagen ASAR WSM para vientos de 4 ms 6 ms y 10 ms

52 Fuentes de datos 85

522 Coleccioacuten de datos

Para el desarrollo del sistema se ha contado con una coleccioacuten de 47 imaacutegenes WSM conpolarizacioacuten VV del Envisat obtenidas a traveacutes de un convenio con la ESA Las imaacutegenestomadas entre los antildeos 2007 y 2011 corresponden al noroeste de la Peniacutensula Ibeacuterica estandola mayoriacutea centradas en la costa gallega como puede verse en el mapa de densidad mostradopor la Figura 56

Figura 56 Representacioacuten de la densidad de cobertura de la Base de Datos

La regioacuten de estudio es una ampliacioacuten del ESTF construida tal y como se muestra en laFigura 57

Las imaacutegenes de los antildeos 2007 y 2008 contienen sentinazos detectados por operadoresde la EMSA a los que se les ha asignado una probabilidad (alta baja o media) de ser hidro-carburos El resto de la coleccioacuten contiene sentinazos y look-alikes confirmados a traveacutes demisiones aeacutereas de SASEMAR El nuacutemero de imaacutegenes de la coleccioacuten y cuaacutentas de ellascontienen sentinazos (confirmados o no) se puede ver en la Figura 58a agrupadas por antildeo Laclasificacioacuten de los sentinazos de la coleccioacuten es mostrada en la Figura 58b

La Figura 59 muestra la posicioacuten geograacutefica de los vertidos presentes en la DB Eacutestos secaracterizan por estar agrupados en torno al ESTF lo cual es debido a que es paso obligadopara los buques y en consecuencia sufre en mayor medida el efecto de los sentinazos

86 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 57 Aacuterea de estudio y ESTF

a b

Figura 58 a) Imaacutegenes SAR e imaacutegenes con sentinazos agrupadas por antildeo b) Clasificacioacuten de las manchas de laBase de Datos

53 Preprocesado

531 Calibrado y proyeccioacuten cartograacutefica

La DB utilizada para el desarrollo del proyecto almacena productos Envisat WSM de nivel1 Para que estos productos se adapten a las necesidades del proyecto es necesario aplicar-les varias operaciones de preprocesado por un lado las imaacutegenes son calibradas [95] conel objetivo de conseguir valores que realmente representen la retrodispersioacuten de la superficie

53 Preprocesado 87

Figura 59 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten

estudiada y que puedan ser comparados entre ellos La calibracioacuten aplicada consiste en unaserie de correcciones radiomeacutetricas que permiten comparar imaacutegenes sin importar si fueronobtenidas por el mismo sensor en queacute momento fueron tomadas el modo usado o si fueronprocesadas por diferentes procesadores Por otro lado las imaacutegenes calibradas son proyecta-das a un mismo sistema de referencia de coordenadas

Una vez realizadas estas actividades de preprocesado las imaacutegenes pueden utilizarse co-mo datos de entrada al sistema no obstante se aplicaraacuten otras dos funciones un enmascara-miento de la tierra y un filtrado de ruido antes de proceder a la segmentacioacuten con el objetivode optimizar la informacioacuten contenida en las mismas

532 Maacutescara de tierra

El objetivo del sistema es la deteccioacuten de vertidos de hidrocarburos en la superficie oceaacute-nica Las imaacutegenes utilizadas tienen una cobertura de 400 km x 400 km y al estar centradasen el ESTF contienen habitualmente regiones de tierra que corresponden a la costa noroestede la Peniacutensula Ibeacuterica Para no procesar dichas regiones eacutestas son enmascaradas asignandovalores nulos a los piacutexeles que las forman

88 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Desde el punto de vista espacial la costa gallega es muy compleja debido a la presencia delas riacuteas y otros accidentes geograacuteficos La costa y sobre todo las riacuteas funcionan como parapetoprotegiendo de los vientos a la superficie oceaacutenica y como se ha visto en el Capiacutetulo 4 lasaacutereas marinas dominadas por vientos de baja intensidad se visualizan en las imaacutegenes SARde forma similar a las afectadas por vertidos (falsos positivos) Para evitar estos look-alikes

se ha ampliado la maacutescara de tierra en 3 millas naacuteuticas tal y como puede apreciarse en lafigura 510

5degW6degW7degW8degW9degW10degW11degW

46degN

45degN

44degN

43degN

42degN

Regioacuten de Intereacutes

0 50 100 15025Millas Nauacuteticas

Figura 510 Maacutescara de tierra utilizada La franja roja representa una ampliacioacuten de 3 millas naacuteuticas a partir de laliacutenea de costa

533 Filtro de ruido

Previamente al procesado de las imaacutegenes es necesario aplicar un filtro de mediana conuna ventana de 3 x 3 piacutexeles con el objetivo de eliminarsuavizar el ruido de las imaacutegenesLa Figura 511 muestra un ejemplo de aplicacioacuten del filtro de mediana y coacutemo el valor de unpiacutexel se ve influenciado por los de su entorno

54 Segmentacioacuten

El objetivo de esta fase es detectar sobre la imagen SAR todos los piacutexeles susceptiblesde pertenecer a un vertido de hidrocarburo y generar una imagen binaria donde los candidatosdestaquen de la superficie marina limpia

54 Segmentacioacuten 89

Mediana - valor seleccionado

15 10 11 10 10

13 10 9 10 13

12 11 15 13 14

12 10 13 7 15

16 15 12 13 10

darr 7 9 10 10 10 11 13 13 15

darr

Secuencia ordenada

Figura 511 Ejemplo de uso del filtro de mediana para reducir el ruido de la imagen Imagen adaptada de [35]

Dado que los bajos niveles de intensidad generados por las aacutereas con baja retrodispersioacutenestaacuten asociados a hidrocarburos (ademaacutes de a otros fenoacutemenos naturales) es loacutegico pensar queuna segmentacioacuten basada en umbrales pueda ser el meacutetodo maacutes adecuado La complejidad delas imaacutegenes SAR (por ejemplo la fuerte dependencia del nivel medio de intensidad con el IA) provoca que los umbrales simples no sean adecuados Una funcioacuten de umbral adaptativo quetenga en cuenta el IA del piacutexel analizado ademaacutes de otros factores parece la mejor opcioacuten

541 Establecimiento del umbral adaptativo

Con el objetivo de establecer una funcioacuten de umbral adaptativo se muestrearon 1652 piacute-xeles pertenecientes a zonas afectadas por vertidos de hidrocarburos De cada piacutexel se registroacutesu valor de intensidad y su IA asociado La Figura 512 presenta graacuteficamente los piacutexelesmuestreados agrupados por su IA

En este histograma se observa que los IAs de los piacutexeles seleccionados no estaacuten distribui-dos uniformemente y la razoacuten es que la mayoriacutea de las imaacutegenes de la DB estaacuten centradas enel ESTF por lo que la relacioacuten entre las aacutereas de la imagen y los IAs se mantiene relativa-mente constante El rango de IAs con mayor nuacutemero de piacutexeles muestreados suele coincidircon el aacuterea cubierta por el ESTF que es la zona que contiene la mayor cantidad de vertidosLos piacutexeles de la muestra fueron agrupados de acuerdo con su IA en intervalos de 1 entre los17 y los 42 Para cada intervalo se calculoacute la media y su desviacioacuten tiacutepica y se descartaronlos piacutexeles con valores de intensidad superiores a la suma de los dos valores calculados Paracada intervalo se seleccionaron los valores de intensidad maacuteximos (veacutease Ecuacioacuten 51) y conestos puntos como liacutemite superior se realizoacute un estudio de regresioacuten para obtener una funcioacutenque los aproximase

x = max(B)B = y isin B yle ν(A)+σ(B) (51)

90 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 512 Piacutexeles muestreados agrupados seguacuten su IA

El resultado del anaacutelisis fue que tanto una funcioacuten de cuarto grado (52) como una expo-nencial negativa (53) se ajustaban de forma significativa a los datos de la muestra

y =minus63401 middot10minus6x4 +000073027x3minus0029919x2 +050015xminus26381 (52)

y = 74199eminus018212x (53)

Estas funciones debiacutean representar los valores maacuteximos de intensidad que podiacutea almace-nar un piacutexel en funcioacuten de su IA asociado en caso de que representase un vertido es decirtodo piacutexel con un valor de intensidad igual o menor se considerariacutea vertido Se optoacute por unaaproximacioacuten agresiva ya que es preferible en esta fase de segmentacioacuten obtener algunosfalsos positivos a descartar vertidos

Las pruebas efectuadas aplicando cualquiera de las dos funciones mostraron demasiadosfalsos positivos La obtencioacuten de look-alikes en la fase de segmentacioacuten no es preocupantee incluso es esperada dado que es la fase de clasificacioacuten la que tradicionalmente asumela responsabilidad de seleccionar cuaacuteles son los sentinazos y cuaacuteles no pero seriacutea deseableobtener el miacutenimo posible y asiacute disminuir la responsabilidad del clasificador

Las funciones obtenidas estaban basadas en la intensidad y en el IA pero determinadosestudios previos [40] ponen de manifiesto la importancia de los factores meteoroloacutegicos y

54 Segmentacioacuten 91

particularmente los vientos en la deteccioacuten de sentinazos Dado que el nivel de retrodispersioacutentiene relacioacuten directa con la rugosidad de la superficie (veacutease la Figura 45) y eacutesta se debe ala presencia de viento la funcioacuten adaptativa deberiacutea tener en cuenta los datos del viento de lazona estudiada La Figura 55 muestra la influencia de la velocidad del viento en la intensidadUtilizar datos de viento en la fase de segmentacioacuten permitiraacute realizar una segmentacioacuten maacutesprecisa facilitando el trabajo posterior del clasificador

1 2 3 4 5 6 7 8 9

0

100

10

200

300

400

500

600

Piacutex

ele

s m

uestr

eados

Total piacutexeles 1652

Velocidad del viento (ms)0

Figura 513 Elementos de la muestra agrupados por la velocidad del viento

La forma maacutes directa de acceder a los datos de viento correspondientes a la zona cubiertapor una imagen SAR es a traveacutes de los datos contenidos en la propia imagen CMOD5 [60] esun modelo geofiacutesico desarrollado para datos obtenidos en la banda C que permite relacionarla retrodispersioacuten generada por la rugosidad de la superficie oceaacutenica con la velocidad y di-reccioacuten del viento Utilizando este modelo se obtuvieron los datos de viento correspondientesa las imaacutegenes de la DB Los resultados generados con una resolucioacuten menor que la de laimagen SAR fueron interpolados usando el algoritmo Kriging [88] para obtener la mismaresolucioacuten que la imagen original

La muestra de 1652 piacutexeles fue enriquecida antildeadiendo los datos de velocidad de vientocalculados con el modelo CMOD5 Los piacutexeles de la muestra fueron agrupados seguacuten la velo-cidad del viento (veacutease Figura 513) La mayoriacutea de estos piacutexeles tienen asociadas velocidadesde viento entre los 3 y 7 ms por lo que cubren el rango oacuteptimo para la deteccioacuten de verti-dos [54] Los piacutexeles con vientos mayores a 7 ms se agruparon en un soacutelo intervalo ya que la

92 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

muestra no teniacutea suficientes datos como para realizar maacutes divisiones Cada grupo creado fuenuevamente dividido en subconjuntos en base al IA En cada subconjunto (con al menos 10valores) se calculoacute la media y la desviacioacuten tiacutepica de los valores de intensidad Finalmente seescogioacute el valor de intensidad maacutes alto para cada subconjunto siempre y cuando fuese igual omenor a la suma de la media y el doble de la desviacioacuten tiacutepica de dicho subconjunto Noacuteteseque en esta ocasioacuten al ajustar mejor los valores gracias a los vientos se optoacute por relajar elumbral maacuteximo empleando dos veces la desviacioacuten tiacutepica y no soacutelo una como en el caso de laumbralizacioacuten sin vientos (veacutease Ecuacioacuten 51) El esquema del proceso seguido se muestraen la Figura 514

A=muestra de 1652 piacutexeles

A1= piacutexeles con

viento lt 4 ms

A2= piacutexeles con

viento lt 5 ms

A3= piacutexeles con

viento lt 6 ms

A4= piacutexeles con viento lt 7 ms

A5= piacutexeles con viento gt= 7 ms

A1= piacutexeles con

aacutengulo de incidencia[1718]

A2= piacutexeles con

aacutengulo de incidencia[1819]

A25= piacutexeles con

aacutengulo de incidencia[4142]

x25x2x1

xi=max(Bi) Bi=yisinAi y le A

i + 2σAi

Figura 514 Esquema de acciones realizadas para establecer el umbral adaptativo

El resultado de este proceso es un conjunto de intensidades para cada rango de velocidadestudiado Realizando un anaacutelisis de regresioacuten sobre los datos se comproboacute que al igual queen la primera aproximacioacuten una funcioacuten de cuarto grado y una exponencial negativa se ajus-taban de forma significa a la muestra Estudiando dichas funciones con maacutes detalle y a traveacutesde pruebas de segmentacioacuten se comproboacute que los mejores resultados se obteniacutean usando lafuncioacuten de cuarto grado en los aacutengulos de incidencia menores y la exponencial negativa en losmayores Se establecioacute una funcioacuten definida por partes para el caacutelculo adaptativo del umbralen el que el IA es utilizado para establecer el punto de corte entre las partes La Tabla 54presenta los coeficientes de las funciones adaptados seguacuten la velocidad del viento asiacute comolos puntos de corte establecidos por los IAs

54 Segmentacioacuten 93

Velocidad del viento Funcioacuten de cuarto grado Punto de corte Funcioacuten exponencial negativa

vel lt= 4ms 63662lowast10minus6x4minus000083671x3 +0041262x2minus090719x+75353 378 59169eminus017881x

vel lt= 5ms 30874lowast10minus6x4minus000043845x3 +0023424x2minus055931x+50588 3625 66689eminus017944x

vel lt= 6ms 21022lowast10minus6x4minus000031131x3 +0017414x2minus04365x+41503 3682 57770eminus017217x

vel lt= 7ms 27742lowast10minus6x4minus000039094x3 +002086x2minus050088x+45883 3752 54477eminus016858x

vel gt 7ms 12416lowast10minus6x4minus000019466x3 +0011604x2minus031143x+3182 368 62053eminus017101x

Tabla 54 Coeficientes y puntos de corte para las funciones de umbral adaptativo

Las funciones exponenciales negativas para vientos de 4 ms 6 ms y mayores que 7 msse representan graacuteficamente en la Figura 515

0

005

01

015

02

025

03

20 25 30 35 40

Inte

nsi

da

d

Aacutengulo de incidencia

Viento lt=4 msViento lt=6 msViento gt 7 ms

Figura 515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para distintos valores de lavelocidad del viento

542 Aplicacioacuten del umbral adaptativo

El proceso de segmentacioacuten se aplica sobre todos los piacutexeles de una imagen SAR exceptolos que previamente han sido enmascarados como tierra y los que pertenecen a zonas fueradel aacuterea de alcance del sensor

De cada piacutexel procesado se extrae su intensidad el IA y la velocidad del viento A partirde la velocidad del viento y de los coeficientes presentados en la Tabla 54 se obtienen lasfunciones adecuadas y el punto de corte (IA) entre la funcioacuten polinoacutemica y la exponencialnegativa Seguacuten el IA del piacutexel y tras compararlo con el punto de corte se selecciona una

94 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de las dos funciones y se utiliza el aacutengulo como paraacutemetro La funcioacuten devolveraacute un umbralque identificaraacute el maacuteximo valor de intensidad que podriacutea tener el piacutexel analizado para serconsiderado parte de un sentinazo Si la intensidad es menor o igual al umbral el piacutexel seraacuteetiquetado como candidato y en caso contrario como superficie limpia

543 Filtro de vientos

Dado que existen estudios previos que consideran que es necesaria una velocidad del vien-to de al menos 3 ms para detectar un sentinazo los piacutexeles segmentados que esteacuten afectadospor vientos de intensidad menor que ese umbral son considerados look-alikes y son eliminadosde la imagen segmentada

544 Filtro de aacuterea

Los medios de vigilancia contra la polucioacuten como los buques y aviones tienen un costede uso elevado y son limitados por lo que soacutelo son utilizados cuando la situacioacuten es poten-cialmente dantildeina o el vertido tiene una dimensioacuten considerable Las estructuras formadas porlos piacutexeles segmentados que tengan un aacuterea menor que 50 piacutexeles (equivalente a 03km2) sonconsideradas como falsos positivos o como pequentildeos sentinazos no dantildeinos que pueden sereliminados de la imagen segmentada

55 Extraccioacuten de caracteriacutesticas

El resultado de la fase de segmentacioacuten es una imagen binaria donde aparecen resaltadostodos los sentinazos junto con un gran nuacutemero de look-alikes Es tarea de un clasificador sepa-rar los sentinazos de los falsos positivos y para una correcta clasificacioacuten es necesario obtenerun vector de caracteriacutesticas para cada candidato que pueda ser analizado por el clasificador

El vector de caracteriacutesticas utilizado para el desarrollo de este algoritmo estaacute basado entres tipos de caracteriacutesticas

ndash Caracteriacutesticas de forma la forma puede ser un factor determinante para clasificar uncandidato Estudios anteriores [92] han mostrado que debido a su naturaleza los senti-nazos pueden agruparse en 5 grandes clases desde el punto de vista de su forma (veacuteasela Figura 47)

55 Extraccioacuten de caracteriacutesticas 95

ndash Caracteriacutesticas fiacutesicas se han incorporado caracteriacutesticas asociadas al nivel de intensi-dad de los piacutexeles dado que su importancia y utilidad ha sido refrendada por estudiosprevios [37]

ndash Informacioacuten contextual Los datos de contexto en general y maacutes concretamente los devientos [40] son de gran utilidad a la hora de detectar sentinazos y deben ser incorpora-dos al vector de caracteriacutesticas

Tipo Nombre Descripcioacuten

Forma

APR Aacuterea PeriacutemetroElongacioacuten Eje mayor Eje menor

MPR Eje mayor PeriacutemetroRectangularidad Aacuterea Aacuterea (Min rect engloba)

Circularidad Periacutemetro2 (4 πAacuterea)Thickness Nuacutemero de erosiones necesarias para dividir un objeto

Hu1 (η20 +η02)

Hu2 (η20minusη02)+4η211

Hu3 (η30 +3η12)2 +(3η21minusη03)

2

Hu4 (η30 +η12)2 +(η21 +η03)

2

Hu5 (η30 minus 3η12)(η30 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η21 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Hu6 (η20minusη02)[(η30minusη12)2minus (η21η03)

2]+4η21(η30 +η12)(η21 +η03)

Hu7 (3η21 minus η30)(η00 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η12 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Flusser y Suk - I1 (η20η02minusη211)η4

00

Flusser y Suk - I2 (minusη230η2

03 +6η30η21η12η03minus4η30η312minus4η3

21η03 +3η221η2

12)η1000

Flusser y Suk - I3 (η20η21η03minusη20η212minusη11η30η03 +η11η21η12 +η02η30η12minusη02η2

21)ν700

Flusser y Suk - I4 (minusη320η2

03 + 6η220η11η12η03 minus 3η2

20η02η212 minus 6η20η2

11η21η03 minus 6η20η211η2

12 +12η20η11η02η21η12 minus 3η20η2

02η221 + 2η3

11η30η03 + 6η311η21η12 minus 6η2

11η02η30η12 minus6η2

11η02η221 +6η11η2

02η30η21minusη302η2

30)η1100

Contexto AI IA respecto al centroide de la manchaViento Velocidad del viento en el aacuterea estudiada

Fiacutesicas Intensidad Intensidad media de los piacutexeles contenidos en la mancha candidatoASR Ratio de la intensidad del candidato respecto al aacuterea circundante

Nota ηi j representa a los momentos centrales normalizados

Tabla 55 Vector de caracteriacutesticas

El vector generado (veacutease Tabla 55) estaacute compuesto por 21 componentes de los que 17corresponden a caracteriacutesticas de forma Para disminuir la dimensionalidad del vector se apli-coacute un Anaacutelisis de Componentes Principales (PCA) [67] sobre las caracteriacutesticas de forma LaTabla 56 contiene los porcentajes de varianza explicados por los componentes principalesobtenidos tras el PCA mientras que la Figura 516 muestra graacuteficamente el porcentaje expli-cado por el subconjunto de componentes maacutes representativo Finalmente se sustituyeron las

96 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

17 caracteriacutesticas de forma por los 5 primeros componentes cubriendo asiacute maacutes del 92 de lavarianza y reduciendo considerablemente la dimensionalidad del vector Los coeficientes delos componentes principales seleccionados se muestran en la Tabla 55

PCA1 PCA2 PCA3 PCA4 PCA5

0

10

20

30

40

50

60

70

80

90

0

10

20

30

40

50

60

70

80

90

100 100

Componentes Principales

Vari

anza E

xplicada

Figura 516 Componentes principales y porcentaje de varianza explicado

Componente Principal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17Varianza explicada () 477716 183024 138332 73918 50537 37671 19663 08758 04884 03178 00938 00693 00414 00142 00089 00041 00001

Tabla 56 Componentes principales y porcentaje de varianza explicado

56 Clasificacioacuten

Una vez caracterizados los candidatos es necesario clasificarlos y asignarles una clase(sentinazo o look-alike) El vector de caracteriacutesticas de cada candidato es la entrada para unclasificador cuya salida seraacute una clase o etiqueta identificaacutendolo La eficiencia del clasificadorestaacute directamente relacionada con los datos del vector es decir un buen clasificador no podraacuteclasificar correctamente si las caracteriacutesticas no discriminan suficientemente bien

La maacutexima seguida para el desarrollo de los clasificadores fue la de minimizar el nuacuteme-ro de falsos negativos incluso cuando la consecuencia era incrementar el nuacutemero de falsospositivos Para el sistema es asumible mostrar falsos positivos debido a que o bien el siste-ma es semiautomaacutetico es decir un operador humano filtra los resultados antes de enviar losmedios de vigilancia o bien el sistema es completamente automaacutetico en cuyo caso los siste-mas de vigilancia se activariacutean tras el descubrimiento del look-alike con el consecuente gasto

56 Clasificacioacuten 97

Var1 PCA Var2 PCA Var3 PCA Var4 PCA Var5 PCAAPR -00321 00466 06160 01722 -01237

elongacioacuten 01770 03460 -01469 02321 -01141MPR 02596 00579 03499 00017 -00160

Rectangularidad -01196 -00306 02473 00149 08811Circularidad 03070 -00775 00457 -00321 -02217

Thickness -00013 00530 06099 01626 -02103Hu1 03299 00316 -00735 00802 -00472Hu2 03371 00255 -00683 01573 00767Hu3 03389 -00366 -00237 00670 01383Hu4 02769 03158 -00167 -00164 01338Hu5 02092 04218 -00049 -00343 01185Hu6 02055 04349 -00000 -00842 01202Hu7 -02791 03182 -00151 00583 -01003FS1 02795 -02692 00373 -02175 -00562FS2 00728 -02281 -01329 07528 00772FS3 -02540 02239 -01053 04511 -00382FS4 -02567 03457 -00020 -01540 -00864

Tabla 57 Coeficientes de los componentes principales seleccionados

econoacutemico pero sin consecuencias medioambientales Los falsos negativos por el contrariono podriacutean detectarse ni de forma automaacutetica ni por un operador ya que el sistema no losmostrariacutea y esto conllevariacutea un mayor impacto en el ecosistema dado que no se activariacutean losprotocolos de gestioacuten de forma temprana

Los siguientes apartados describen dos clasificadores desarrollados para identificar loscandidatos generados en la segmentacioacuten Para su desarrollo y entrenamiento se ha utilizadouna DB de candidatos previamente etiquetados con 155 falsos positivos y 80 sentinazos quefueron distribuidos en 3 grandes grupos (veacutease la Figura 517) el 70 de los elementos fuereservado para el entrenamiento un 15 fue utilizado para el conjunto de validacioacuten y el15 restante fue seleccionado para el conjunto de test

Base de datos de candidatos

155 Look-alikes 80 Sentinazos

128 66 27 14

101 52 27 14

Test

Validacioacuten

Datos para el entrenamiento

Entrenamiento

85 15

1570

Figura 517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores

98 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

561 Redes Neuronales Artificiales

Introduccioacuten

Las ANN tratan de emular el comportamiento del cerebro humano y la extraccioacuten de co-nocimiento geneacuterico a partir de un conjunto de datos [71] Las ANNs al igual que el cerebroestaacuten compuestas de procesadores elementales llamados neuronas artificiales o simplementeneuronas que conectadas entre siacute o a entradas externas cooperan para producir un estiacutemulode salida Cuando un conjunto de neuronas recibe todas sus entradas de una misma fuente ytodas sus salidas se dirigen a un mismo destino forman una capa

Una neurona artificial se caracteriza por los siguientes elementos (veacutease la Figura 518)

ndash Estado inicial las neuronas de la red presentan un estado o valor inicial (atminus1) previo arecibir los estiacutemulos externos y que influiraacute en su respuesta a eacutestos

ndash Conexiones neuronales valores de entrada a la neurona j-eacutesima (xi) con unos pesosasociados (wi j)

ndash Funcioacuten de propagacioacuten determina la entrada de la neurona (Net j) Generalmente es elsumatorio de cada uno de sus estiacutemulos externos o entradas (xi) multiplicado por su pesoasociado (wi j) Es habitual que se incluya un teacutermino constante (x0) denominado sesgoLa inclusioacuten de este elemento se deriva del comportamiento de las neuronas bioloacutegicasque poseen umbrales internos de activacioacuten que distorsionan el impacto causado porlos estiacutemulos recibidos El teacutermino suele tener el valor lsquo1rsquo y el valor y signo de su pesoindica su influencia en la funcioacuten

ndash Funcioacuten de activacioacuten o transferencia combina el valor inicial de la neurona (atminus1) conla entrada obtenida por la funcioacuten de propagacioacuten (Net j) para producir un nuevo estadoo valor de la neurona

ndash Funcioacuten de salida transforma el estado de la neurona generado a traveacutes de la funcioacutende transferencia en una sentildeal de salida (y j) que se trasmitiraacute a las siguientes neuronasHabitualmente la funcioacuten de salida coincide con la funcioacuten identidad es decir el valorde salida es en la praacutectica el valor retornado por la funcioacuten de transferencia

Una de las caracteriacutesticas maacutes importantes de las ANNs es su capacidad de generalizara partir de ejemplos lo que permite dar una respuesta correcta ante patrones no presentadospreviamente Las ANNs tienen la capacidad de aprender creando modificando o destruyendo

56 Clasificacioacuten 99

w1j

wdj

wnj

F(aj(t-1)Netj)=aj(t)) f(aj(t))=yj rarr yj

Entradas Pesos Entrada total Func activacioacuten Func salida Salida

X0Sesgo w0j

Netj=sum wkjmiddotxk k=0

n

X1

Xd

Xn

Neurona j-eacutesima

Figura 518 Elementos de una neurona artificial Figura adaptada de [71]

sus conexiones (pesos) entre sus neuronas Existen diferentes algoritmos de aprendizaje perotodos ellos pueden ser englobados en uno de los dos grandes tipos presentados a continuacioacuten

ndash Aprendizaje supervisado se caracteriza por la presencia de un agente que controla elproceso de entrenamiento estableciendo una respuesta correcta para una serie de valo-res de entrada determinados Si la salida de la red no es la salida deseada el supervisormodifica iterativamente los pesos de las neuronas de la red (wi j) con el objetivo de queel resultado tienda al deseado Eacuteste es el tipo de aprendizaje utilizado para desarrollar laANN para la deteccioacuten de los sentinazos y en concreto se usoacute una teacutecnica de aprendi-zaje por correccioacuten de error denominada backpropagation Las teacutecnicas por correccioacutende error ajustan los pesos de las conexiones de la red en base a la diferencia entre lasalida deseada y la obtenida Una de las reglas maacutes sencillas para la correccioacuten es lasiguiente

wt+1i j = wt

i j +∆wi j

∆wi j = α(r jminus y j)x j(54)

Dada una conexioacuten neuronal entre la neurona i-eacutesima y la j-eacutesima con un peso wi j en elinstante t ∆wi j representariacutea la variacioacuten en el peso de la conexioacuten en el instante t +1es decir la correccioacuten del error En el caacutelculo de ∆wi j α es un factor de aprendizaje r j

es la salida deseada ante un determinado patroacuten mientras que y j es la salida realmenteobtenida y finalmente x j es la entrada a la neurona j

100 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash Aprendizaje no supervisado se presenta a la red una serie de patrones sin una respues-ta asociada La red busca particularidades correlaciones o categoriacuteas presentes en losdatos de entrada y los categoriza

Las conexiones neuronales son uno de los elementos fundamentales en el aprendizaje ypueden producirse entre neuronas de una misma capa o entre neuronas de capas diferentessin limitaciones El modelo de ANNs maacutes utilizado en la praacutectica es el Perceptroacuten Multicapa(MLP) que constituye un modelo particular en el que la propagacioacuten de los datos es siemprehacia adelante es decir ninguna salida neuronal constituye la entrada a una neurona de lamisma capa o de una capa anterior Las redes MLP (veacutease la Figura 519) estaacuten compuestaspor una capa neuronas de entrada donde se recogen los datos del exterior una o varias capasde neuronas ocultas y una capa de salida que devuelve los resultados de la red

Figura 519 Estructura de una red neuronal MLP

Algoritmo de retropropagacioacuten de errores

Debido a su sencillez y eficacia el algoritmo de retropropagacioacuten de errores o de backpro-

pagation [58] es uno de los algoritmos de aprendizaje supervisado maacutes extendido para redesMLP Baacutesicamente el algoritmo modifica iterativamente los pesos de las conexiones entre lasneuronas con el objetivo de minimizar el error de la red Partiendo de unos pesos aleatorios yde un conjunto de patrones de entrenamiento correctamente clasificados el algoritmo procesaa traveacutes de la red cada patroacuten El error cometido al procesar un patroacuten es cuantificado paramodificar los pesos en consecuencia La modificacioacuten iterativa de los pesos se realiza con elobjetivo de que el resultado real tienda al deseado La cuantificacioacuten del error medio-total de

56 Clasificacioacuten 101

la red se calcula comoE(w|xr) = 1

2(rminus y)2 (55)

siendo r el resultado deseado para la entrada de un patroacuten a la red e y el resultado real-mente obtenido La modificacioacuten de los pesos trata de minimizar el error de la red siendoel descenso de gradiente el meacutetodo maacutes habitual para ello siempre y cuando la funcioacuten pa-ra calcular el error sea diferenciable Las variaciones de los pesos utilizando el descenso degradiente se obtendriacutean a traveacutes del siguiente caacutelculo

∆wh j =minusαpartE

partwh j(56)

El algoritmo de retropropagacioacuten de errores tiene dos fases principales en una primerafase los patrones de entrenamiento son presentados y analizados por la red y sus salidas soncomparadas con los resultados esperados en una segunda fase se modifican los pesos de la redcalculando el error cometido y propagaacutendolo desde la capa de salida hasta la capa de entrada

x0=1

xj

xn

z0=1

whj vih

zh

zk

w0

sesgo sesgo v0

yi

Figura 520 Ejemplo simplificado de una red MLP

Actualizacioacuten de los pesos Partiendo del ejemplo mostrado en la Figura 520 en el quela funcioacuten de transferencia de las neuronas de la capa oculta es una sigmoide la salida de lared para un determinado patroacuten p se obtiene a traveacutes del siguiente caacutelculo

ypi =

k

sumq=1

viqzq + v0 (57)

102 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

La variacioacuten de los pesos que unen la capa oculta con la capa de salida se calculariacuteatratando de minimizar el error de la red (veacutease Ecuacioacuten 55) a traveacutes del descenso de gradiente(veacutease Ecuacioacuten 56)

∆wh j = α sump(rpminus yp)zp

h (58)

Sin embargo el caacutelculo de los pesos entre la capa de entrada y la oculta no puede hacer-se directamente utilizando el error cuadraacutetico medio ya que se desconoce cuaacutel es la salidadeseada para las neuronas ocultas La solucioacuten estaacute en el uso de la regla de la cadena sobre laEcuacioacuten 56 de la siguiente manera

∆wh j =minusαpartE

partwh j

=minusα sump

partE p

partyppartyp

part zph

partE p

part zph

part zph

partwh j

=minusα sumpminus(rpminus yp)︸ ︷︷ ︸

partE ppartyp

vh︸︷︷︸partyp

part zph

zph(1minus zp

h)xpj︸ ︷︷ ︸

part zph

partwh j

= α sump(rpminus yp)vhzp

h(1minus zph)x

pj

(59)

Teacutermino momento De entre las mejoras desarrolladas sobre el algoritmo claacutesico cabedestacar la que introduce el teacutermino momento Esta mejora consigue que la actualizacioacuten depesos sea proporcional al incremento de la iteracioacuten anterior permitiendo acelerar y estabili-zar el proceso de aprendizaje [96] La actualizacioacuten de pesos utilizando el teacutermino momentose calcula como

Wt+1 =Wt +[∆Wt +β∆Wtminus1] (510)

El teacutermino momento identificado por la constante β suele tomar un valor entre 0 y 1 ygeneralmente su valor es proacuteximo a la cota superior e inversamente proporcional a la tasa deaprendizaje es decir cuanto maacutes pequentildeo es el valor α maacutes grande suele ser β

Tanto la tasa de aprendizaje como el teacutermino momento son seleccionados empiacutericamentedependiendo del problema a resolver

56 Clasificacioacuten 103

Clasificador

Se implementoacute una red neuronal MLP para clasificar los candidatos segmentados Su ar-quitectura y los pesos de sus conexiones fueron establecidos a traveacutes de un proceso de entre-namiento validacioacuten y test utilizando los conjuntos mostrados en la Figura 517

La red desarrollada cuya arquitectura final se muestra en la Figura 522 estaacute compuestade 3 capas de neuronas El nuacutemero de neuronas de la capa de entrada se establecioacute en 9 unapor cada elemento del vector de caracteriacutesticas mientras que en la capa de salida se utilizaron2 neuronas para representar cada una de las posibles clases que se pueden asignar a un candi-dato Una neurona de la capa de salida con valor lsquo0rsquo representa la total incompatibilidad conla clase asignada a dicha neurona y el caso opuesto es representado con el valor lsquo1rsquo Valoresintermedios en el rango (01) representan una cierta probabilidad de pertenencia a la claseLos estiacutemulos externos a la red fueron normalizados en el rango [-11] como paso previo a suprocesamiento

Las neuronas utilizadas tanto en la capa oculta como en la capa de salida siguen el es-quema de la Figura 521 Estas neuronas reciben los valores de salida de las neuronas de lacapa anterior ponderados a traveacutes de los pesos asignados a las conexiones neuronales y unsesgo con valor lsquo1rsquo que se pondera a traveacutes de un peso asignado a cada neurona Una funcioacutende propagacioacuten que unifica y combina los valores de entrada en un uacutenico valor sirve comoentrada para la funcioacuten de activacioacuten de la neurona El resultado de la funcioacuten de activacioacutenrepresenta el valor de salida de la neurona

Netj=sum(ximiddotwi)+w0 aj=f(Netj)=2

[1+exp(Netj)]-1f(aj)=id(aj)=yj

yj

Neurona j-eacutesimax0

x1

x2

xn

Sesgo w0

w1

w2

wn

i=1

n

Figura 521 Esquema de la neuronas empleadas en la ANN desarrollada

El nuacutemero de neuronas de la capa oculta se establecioacute a traveacutes de un proceso comparativoentre diferentes arquitecturas Utilizando el algoritmo de retropropagacioacuten de errores con lavariante del teacutermino momento como proceso de aprendizaje de la red y basaacutendose en la reglaad hoc de que el nuacutemero de neuronas ocultas no deberiacutea ser superior al doble del nuacutemerode neuronas de entrada [106] fueron realizadas diferentes pruebas en las que se emplearon

104 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

hasta un maacuteximo de 18 neuronas En cada prueba los patrones normalizados del conjuntode entrenamiento fueron presentados iterativamente a la red y sus salidas se compararon conlos resultados esperados Cuando las salidas no resultaron satisfactorias los pesos fueronactualizados seguacuten el algoritmo de aprendizaje

Para evitar el sobreentrenamiento de la red es decir que la red aprendiese las particula-ridades propias de los patrones de entrenamiento limitando su capacidad de generalizacioacutense utilizoacute un conjunto de validacioacuten En cada iteracioacuten del proceso de entrenamiento se proboacutela red con el conjunto de validacioacuten y se calculoacute su eficacia Por norma general la eficaciade la red respecto al conjunto de entrenamiento iraacute mejorando en las sucesivas iteraciones delentrenamiento sin embargo la eficacia sobre el conjunto de validacioacuten alcanzaraacute un punto deinflexioacuten en el que la tendencia cambiaraacute La iteracioacuten donde se alcance la eficiencia maacuteximasobre el conjunto de validacioacuten marca el final del entrenamiento Una vez finalizado el en-trenamiento la red entrenada y validada se proboacute nuevamente sobre el conjunto de test paraconfirmar su eficacia con un conjunto independiente

Figura 522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP

Las pruebas de arquitectura fueron realizadas con diferentes inicializaciones de la red ta-sas de aprendizaje valores para el teacutermino momento y funciones de transferencia los mejoresresultados se obtuvieron utilizando 11 neuronas en la capa oculta con una tasa de aprendizajede 03 y un valor de momento de 09 La funcioacuten de propagacioacuten utilizada fue la suma pon-derada de las entradas de cada neurona con los pesos asociadas a ellas (incluyendo el sesgo)

56 Clasificacioacuten 105

mientras que la funcioacuten de transferencia seleccionada fue una sigmoide (tangente hiperboacuteli-ca) Los resultados de la ejecucioacuten de la red sobre los candidatos contenidos en los conjuntosde validacioacuten y test asiacute como su comparativa con el otro clasificador se muestran en detalleen el capiacutetulo 6

562 Aacuterboles de decisioacuten

Descripcioacuten

Un aacuterbol de decisioacuten [14] es un meacutetodo de aprendizaje inductivo supervisado y no para-meacutetrico que puede ser utilizado tanto para la clasificacioacuten como para la regresioacuten Se imple-menta a traveacutes de una estructura jeraacuterquica basada en una estrategia de divide y venceraacutes ygeneralmente se representa como un aacuterbol binario es decir una estructura de datos formadapor nodos en la que cada nodo que no sea final tiene dos hijos Los nodos finales son conoci-dos como hojas mientras que los intermedios son denominados nodos decisioacuten De entre lasdiferentes implementaciones posibles que se pueden encontrar en la literatura el clasificadordesarrollado se basoacute en los Aacuterboles de Clasificacioacuten y Regresioacuten (CART) propuestos porBreiman et aacutel [24]

Construccioacuten y entrenamiento del aacuterbol

El entrenamiento y construccioacuten de un aacuterbol de clasificacioacuten se realiza a partir de un con-junto de patrones de entrenamiento previamente etiquetados en el que se trata de encontrar atraveacutes de sucesivas particiones secciones en su espacio de representacioacuten en las que todos lospatrones presentes pertenezcan a una misma clase o etiqueta Cada particioacuten se representa enel aacuterbol como un nodo decisioacuten en el que se evaluacutea una caracteriacutestica presente en los patronesagrupaacutendose eacutestos acorde al resultado de la evaluacioacuten en uno de los nodos hijo generados

Sea m un nodo del aacuterbol y Nm los patrones o instancias de entrenamiento que llegan a esenodo desde el conjunto inicial N contenido en el nodo raiacutez se considera Ni

m un subconjuntode Nm que contiene patrones asociados a la clase Ci donde

sumi

Nim = Nm (511)

Dado un patroacuten que alcanza el nodo m la probabilidad de que pertenezca a la clase Ci sepuede calcular como

pim =

Nim

Nm(512)

106 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Un nodo se considera puro cuando todos los patrones que llegan a ese nodo pertenecen a unamisma clase lo cual se expresa matemaacuteticamente de la siguiente manera

m = purolArrrArrforalli pim isin 01 (513)

Los nodos puros representan hojas del aacuterbol y se etiquetan con el valor de la clase asignadaa sus patrones Si los dos nodos hijo de una particioacuten son puros dicha particioacuten se considerapura

Aunque lo ideal es realizar particiones puras la mayoriacutea no lo son y las que lo son sesituacutean en la parte inferior del aacuterbol (ramas inferiores) Es necesario establecer un meacutetodopara seleccionar la mejor particioacuten en cada punto del aacuterbol y para ello se debe cuantificar laimpureza de las posibles particiones y seleccionar la que tenga menor valor Existen diferentesmeacutetodos de cuantificar la impureza de una particioacuten siendo el meacutetodo Gini [24] uno de losmaacutes populares y el empleado para desarrollar el clasificador de SENTINAZOS El valor deGini se calcula como

1minussumi(pi

m)2 (514)

En la Figura 523 se muestra un sencillo ejemplo de construccioacuten de un aacuterbol de decisioacutenbinario El conjunto de entrenamiento estaacute formado 20 patrones pertenecientes a 2 tipos dife-rentes de clases diferentes y cada patroacuten contiene medidas para 2 caracteriacutesticas Se observaque no todas las hojas del ejemplo son puras ya que aunque es posible crear un aacuterbol sufi-cientemente grande donde todas sus hojas sean puras lo maacutes probable es que se caiga en elsobreentrenamiento por tanto es necesario utilizar reglas que gestionen el tamantildeo del aacuterbol

01 2 3 4 5 6 7

1

2

3

4

5

6

x

y

yge3

xge37

1010

6410

9 41

a b

Figura 523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario a) Patrones de entrenamiento en base a doscaracteriacutesticas b) Aacuterbol desarrollado a partir de los patrones de entrenamiento

56 Clasificacioacuten 107

Poda

El tamantildeo del aacuterbol generado puede establecerse desde dos estrategias diferentes por unlado se puede definir a priori un umbral que establezca el nuacutemero de patrones miacutenimo quedebe alcanzar un nodo para que se permita crear una nueva particioacuten lo cual implica que elaacuterbol dejaraacute de crecer en el momento en que los patrones sean inferiores a ese umbral Otraestrategia consiste en desarrollar completamente el aacuterbol hasta conseguir que todas sus hojassean puras o hasta que los patrones asociados sean inferiores a un umbral y a continuacioacutenpodarlo

El proceso de poda trata de encontrar las secciones del aacuterbol (subaacuterboles) que no apor-tan ventajas y se asocian al sobreentrenamiento Existen diferentes estrategias de poda y enel caso concreto del clasificador desarrollado la estrategia utilizada fue la de seleccionar lapoda que mejor clasificaba un conjunto de validacioacuten Utilizando un grupo independiente depatrones o conjunto de validacioacuten y de forma incremental desde las hojas hacia el nodo raiacutezse sustituyoacute cada posible subaacuterbol por una hoja etiquetada con la clase asociada a la mayoriacuteade los patrones de entrenamiento que clasificaba ese subaacuterbol Si la eficiencia del nuevo aacuterbolno era peor que la del original la poda se llevaba a cabo pues la mayor complejidad no sejustificaba

La estrategia de poda obtiene mejores resultados que la estrategia basada en detener elcrecimiento del aacuterbol ya que la poda permite que un subaacuterbol de un nodo permanezca mien-tras que su laquohermanoraquo desaparece y esto seriacutea imposible con una estrategia de parada ya queel crecimiento se detendriacutea por ambas ramas Por otro lado la estrategia de poda es maacutes lentay compleja ya que es necesario analizar los diferentes subaacuterboles de los que estaacute compuestoel aacuterbol original y encontrar la mejor poda

Clasificador

Se desarrolloacute un clasificador basado en un aacuterbol de decisioacuten binario para clasificar loscandidatos resultantes de la fase de segmentacioacuten Al igual que para la ANN presentada enla Seccioacuten 561 para el entrenamiento y desarrollo del clasificador se utilizaron 3 conjuntossiguiendo el mismo esquema de la Figura 517 el 70 de los elementos fueron utilizadospara entrenar el aacuterbol un 15 fue utilizado para podarlo (conjunto de evaluacioacuten) y el 15restante fue empleado en el test del clasificador resultante El meacutetodo Gini ha sido el empleadopara cuantificar la impureza de las particiones en el proceso de desarrollo del aacuterbol

108 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

El aacuterbol con hojas puras y generado uacutenicamente a traveacutes del entrenamiento se muestra enla Figura 524 se puede observar que el tamantildeo del aacuterbol es considerable y se le presuponeun sobreentrenamiento A traveacutes de un proceso de poda en el que se calculoacute la eficacia de losdiferentes subaacuterboles sobre el conjunto de validacioacuten se establecioacute que el mejor clasificadorera el subaacuterbol presentado en la Figura 525 Para confirmar su eficacia se utilizoacute el conjuntode test Los resultados del clasificador sobre los candidatos contenidos tanto en el conjunto detest como en el de validacioacuten se presentan en el Capiacutetulo 6

Ratio intensidad lt 204183

Sentinazo Look-alike

PCA3 lt 949121

AI lt 249877

Viento lt 298174

PCA4 lt 237383

Intensidad lt 00748946

PCA1 lt 107964

Intensidad lt 000383156 Ratio intensidad lt 249859

Viento lt 349681

PCA1 lt 532078

PCA1 lt 185418

Sentinazo Look-alike

Sentinazo

Look-alikeSentinazo

PCA5 lt -145036

PCA1 lt 491891 PCA1 lt 713184

SentinazoLook-alikeSentinazo

Ratio intensidad 160946 PCA4 lt 312993

PCA4 lt 318744

PCA1 lt 23493

PCA5 lt -377764

PCA2 lt 219814

Viento lt 563786

SentinazoLook-alike

Look-alike

Sentinazo

Look-alike

Sentinazo Look-alike

Sentinazo Look-alike

Sentinazo

Sentinazo

SentinazoLook-alike

Siacute No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

Siacute

SiacuteSiacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Figura 524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el proceso de entrenamiento

Ratio intensidad lt 204183

Sentinazo

Look-alike

PCA3 lt 949121

Sentinazo

No

NoSiacute

Siacute

Figura 525 Aacuterbol de decisioacuten binario podado

57 Validacioacuten del sistema de deteccioacuten de vertidos 109

57 Validacioacuten del sistema de deteccioacuten de vertidos

571 Desarrollo de un software de escritorio

La necesidad de evaluar los algoritmos presentados en las secciones anteriores condujoal desarrollo de un software de escritorio La implementacioacuten del prototipo se basoacute en soft-ware de coacutedigo libre y abierto con el objetivo de que pudiese ser libremente distribuido y asiacutepromover la colaboracioacuten entre la comunidad cientiacutefica

Visualizacioacuten

Para facilitar el trabajo con los datos SAR se implementoacute un visor especiacutefico que permi-tiese visualizar e interactuar (navegar aumentar y reducir) con las imaacutegenes asiacute como repre-sentarlas sobre un mapa de contexto mundial para mejorar la interpretacioacuten de los resultadosEl visor (veacutease la Figura 526) tambieacuten se disentildeoacute para acceder a los metadatos contenidos enlas cabeceras de las imaacutegenes

Figura 526 Pantalla principal del software de escritorio

110 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Identificacioacuten de sentinazos

El prototipo implementado contiene las diferentes funciones y meacutetodos de deteccioacuten desentinazos presentados en los apartados anteriores Existen dos formas de ejecutarlo por unlado automaacuteticamente a traveacutes de los paraacutemetros filtros y funciones por defecto por otrolado haciendo uso de una personalizacioacuten que permite configurar yo modificar el procesadode la imagen

ndash Filtro de ruido la aplicacioacuten dispone de un filtro de mediana un filtro de Gauss y unfiltro bilateral

ndash Filtro de aacuterea el usuario puede seleccionar el valor maacuteximo del filtro del aacuterea que seaplicaraacute a la imagen

ndash Clasificadores la aplicacioacuten permite emplear los diferentes clasificadores a traveacutes de suconfiguracioacuten por defecto o cargando una nueva base de conocimiento

El resultado de cada accioacuten ejecutada sobre la imagen es mostrado en el visor lo quepermite evaluar sus efectos La Figura 527 muestra un ejemplo del resultado obtenido trasprocesar una imagen SAR empleando los paraacutemetros por defecto maacutescara de tierra (veacutease laSeccioacuten 532) filtro de mediana de 3x3 (veacutease la Seccioacuten 533) segmentacioacuten por umbra-lizacioacuten adaptativa en base a los vientos (veacutease la Seccioacuten 541) filtro de vientos menores a3 ms (veacutease la Seccioacuten 543) filtro de aacutereas inferiores a 03 Km2 (veacutease la Seccioacuten 544) yclasificacioacuten empleando la ANN (veacutease la Seccioacuten 561)

572 Integracioacuten en RETELAB

Una vez finalizado y validado el sistema de deteccioacuten de vertidos de hidrocarburos se pro-cedioacute a su integracioacuten en RETELAB Al contrario que el prototipo de escritorio que permitiacuteair visualizando el efecto de ejecutar diferentes acciones sobre los datos SAR la versioacuten Gridde SENTINAZOS fue pensada para ser ejecutada en modo no interactivo de forma que elusuario debe seleccionar en un primer momento los paraacutemetros de la tarea y a continuacioacutenprocesarla y esperar a los resultados finales

A pesar de la limitacioacuten en cuanto a la interaccioacuten las ventajas que proporciona la compu-tacioacuten Grid al sistema SENTINAZOS son importantes

57 Validacioacuten del sistema de deteccioacuten de vertidos 111

Figura 527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de los paraacutemetros por defectoy un clasificador ANN

ndash Permite compartir los datos (vientos datos SAR etc) entre los diferentes centros par-ticipantes

ndash Los resultados obtenidos pueden ser distribuidos y utilizados para nuevos estudios porel resto de los participantes de la red por ejemplo para realizar predicciones de laevolucioacuten de los vertidos o para ejecutar algoritmos de backtracking con el objetivo dedetectar su fuente

ndash El entorno de RETELAB permite ejecutar diferentes instancias de SENTINAZOS y asiacuteprocesar diferentes aacutereas simultaacuteneamente

ndash La presencia de recursos computacionales de gran potencia puede aportar una mayorvelocidad de procesamiento

El portlet para la deteccioacuten de sentinazos permite seleccionar diferentes acciones a rea-lizar sobre los datos SAR como por ejemplo segmentar clasificar una imagen previamentesegmentada o segmentar y clasificar Para la clasificacioacuten se permite escoger uno de los dosclasificadores implementados (ANN o aacuterboles de decisioacuten) y los paraacutemetros escogidos tantopara los filtros (ruido aacuterea vientos) como para los clasificadores estaacuten prefijados

112 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Al igual que el resto de los portlets eacuteste ha sido integrado con el Data Grid (veacutease laSeccioacuten 33) tanto para poder acceder y utilizar los datos de la DB virtual como para compartirlos resultados generados Ademaacutes el portlet tambieacuten se ha integrado con el monitor de tareaspara realizar un seguimiento del estado de las tareas y acceder a los resultados que generen

La Figura 528 muestra el portlet desarrollado para SENTINAZOS y su integracioacuten en ellaboratorio de RETELAB

Figura 528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en el laboratorio virtual

CAPIacuteTULO 6

RESULTADOS

61 Eficacia

Los clasificadores presentados en las secciones 561 y 562 han sido desarrollados uti-lizando la DB de candidatos presentada en la Figura 517 es decir se han utilizado los mis-mos conjuntos para entrenar validar y probar los clasificadores lo que permitioacute realizar unacomparativa entre ellos en teacuterminos de eficacia (veacutease Tabla 61) Los datos relativos al rendi-miento del aacuterbol de decisioacuten original (sin podar) son meramente ilustrativos ya que reflejancoacutemo el sobreentrenamiento afecta a la clasificacioacuten de otros conjuntos que no sean el deentrenamiento En la praacutectica soacutelo el aacuterbol podado y la red MLP han sido utilizados comoclasificadores

Validacioacuten TestSentinazos Look-alikes Sentinazos Look-alikes

Red MLP 857 852 929 963Aacuterbol decisioacuten original 500 889 357 889Aacuterbol decisioacuten podado 929 852 929 926

Tabla 61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten y test

La eficacia de los clasificadores fue comprobada directamente sobre las imaacutegenes SARal ser eacutestos implementados como parte del prototipo descrito en la seccioacuten 571 La Figu-ra 61 muestra una composicioacuten realizada soacutelo con el objeto de facilitar la visualizacioacuten de2 imaacutegenes SAR (Figura 61a) y su correspondiente segmentacioacuten (Figura 61b) asiacute comolos resultados obtenidos por los clasificadores (Figura 61c y Figura 61d) Enmarcados en

114 Capiacutetulo 6 Resultados

color rojo se identifican varios sentinazos confirmados a traveacutes de misiones de vigilancia deSASEMAR que se detallan en la Figura 62 junto al resultado de clasificarlos mediante la redMLP

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

a b9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

c d

Figura 61 a) Composicioacuten a efectos de visualizacioacuten de 2 imaacutegenes SAR La imagen lsquo1rsquo fue obtenida el28032011 y la imagen lsquo2rsquo el 14102011 b) Composicioacuten formada por la segmentacioacuten de lasimaacutegenes SAR c) Montaje formado por los resultados de aplicar el clasificador basado en el aacuterbol dedecisioacuten a las imaacutegenes segmentadas d) Montaje formado por los resultados de aplicar el clasificadorbasado en la red MLP a las imaacutegenes segmentadas

Se puede observar que los resultados obtenidos a traveacutes del clasificador basado en el aacuterbolde decisioacuten son muy similares a los ofrecidos por el que utiliza la red MLP (sobre todo desdeel punto de vista de la deteccioacuten de sentinazos) si bien la ANN (veacutease la Figura 61d) generauna menor cantidad de falsos positivos

61 Eficacia 115

A

10deg30W10deg40W

43deg40N

0 1 2 305Millas Naacuteuticas

B

9deg50W10degW10deg10W10deg20W10deg30W

43degN

42deg50N

42deg40N

0 4 8 122Millas Naacuteuticas

C

9deg40W9deg50W10degW

42deg10N

42degN

0 2 4 61Millas Naacuteuticas

Figura 62 A la izquierda detalle de los sentinazos confirmados e identificados en la Figura 61 a la derecharesultados obtenidos a traveacutes del clasificador basado en una red MLP

116 Capiacutetulo 6 Resultados

62 Tiempo de procesamiento

El tiempo requerido para el procesamiento de las imaacutegenes en la buacutesqueda de vertidos dehidrocarburos es criacutetico y por ello los algoritmos presentados en las secciones anteriores hansido desarrollados con el objetivo de minimizarlo pero sin sacrificar su eficacia sobre todoen cuanto a la no deteccioacuten de sentinazos (falsos negativos) Ademaacutes de tener un especialcuidado en el disentildeo e implementacioacuten del software el coacutedigo se desarrolloacute pensando enobtener el mejor rendimiento de los microprocesadores multinuacutecleo presentes en la mayoriacuteade las computadoras actuales Para la implementacioacuten se empleoacute el API de OpenMP [36] quepermite adaptar y paralelizar automaacuteticamente la ejecucioacuten del coacutedigo entre los diferentesnuacutecleos de los que disponga el procesador donde se ejecuta la aplicacioacuten y asiacute obtener elmaacuteximo rendimiento

Fueron probadas dos versiones del algoritmo (claacutesica y optimizada) utilizando un nodode computacioacuten Core 2 Duo - 213 Ghz con 3 GB de RAM y despueacutes de 100 iteracionessobre una imagen de 8088 x 6481 piacutexeles la versioacuten optimizada empleoacute una media de 194segundos por ejecucioacuten mejorando un 296 el tiempo de ejecucioacuten del algoritmo claacutesico

CAPIacuteTULO 7

DISCUSIOacuteN

Debido a las condiciones tanto geograacuteficas como climatoloacutegicas de la costa gallega (aacutereade estudio) los vientos de baja intensidad generan la mayor parte de los falsos positivos olook-alikes El algoritmo desarrollado los filtra en su mayor parte en la fase de segmentacioacutenal introducir una umbralizacioacuten basada en la velocidad del viento Una de las consecuenciasde este proceso de segmentacioacuten es que algunos vertidos pueden quedar parcialmente ocultosen la salida si se encuentran situados en aacutereas afectadas por vientos de baja intensidad Modi-ficar el umbral de viento miacutenimo mejora la segmentacioacuten en algunos de los casos pero a costade incrementar notablemente el nuacutemero de falsos positivos Es muy complicado detectar sen-tinazos en aacutereas con vientos de baja intensidad debido a que la superficie del mar no genera elbrillo suficiente en la imagen SAR para que se produzca un contraste entre la superficie afec-tada por el sentinazo y el mar limpio y ademaacutes la intensidad de la sentildeal retrodispersada quellega al sateacutelite se aproxima al ruido de fondo (veacutease la Seccioacuten 521) dificultando discernirlos fenoacutemenos presentes en la superficie

A pesar de que la utilizacioacuten de los datos de viento mejoroacute considerablemente la segmen-tacioacuten eacutesta podriacutea ser maacutes precisa si se utilizasen medidas reales o provenientes de modelosde vientos maacutes precisos que el CMOD5 que trabaja directamente con los datos SAR El mo-delo CMOD5 es bastante exacto cuando se trata de velocidades de viento inferiores a 15 msy empeora con vientos de mayor intensidad [62] El error producido por el modelo aunquesea pequentildeo podriacutea ser clave para que una zona sea identificada como look-alike sobre todosi no alcanza el umbral miacutenimo de viento

118 Capiacutetulo 7 Discusioacuten

Otro de los inconvenientes que se presentan al emplear un modelo basado en los pro-pios datos SAR es la dificultad para calcular los datos de viento en las aacutereas proacuteximas a lacosta CMOD5 soacutelo calcula la velocidad del viento en la superficie oceaacutenica y necesita unalaquoventanaraquo de datos alrededor del aacuterea de estudio por lo que la presencia de la costa puededistorsionar los resultados La propia costa tambieacuten genera muchos falsos positivos al pro-teger del viento a la superficie marina generando aacutereas de baja intensidad Para evitar estosinconvenientes se ha usado una maacutescara de tierra extendida (veacutease la Seccioacuten 532) pero losresultados siguen mostrando una mayor cantidad de look-alikes en las aacutereas maacutes cercanas ala costa Aumentar la maacutescara para reducir el efecto de la costa obtendriacutea mejores resultadosdesde el punto de vista de los look-alikes pero a costa de ocultar posibles sentinazos que sehayan desplazado y que puedan ser potencialmente peligrosos para el medioambiente

La comparativa entre los diferentes sistemas de deteccioacuten de sentinazos presentes en laliteratura es especialmente complicada debido a que cada uno utiliza su propia DB para entre-nar y para validar se basa en diferentes tipos y resoluciones de imaacutegenes SAR usa diferentesvectores de caracteriacutesticas etc Ademaacutes es habitual que las DB contengan imaacutegenes con ver-tidos que solamente han sido identificados por expertos y directamente sobre la propia imagenpero sin confirmacioacuten in situ Los porcentajes de eficacia de los diferentes sistemas deben sertomados a modo de referencia pero de ellos no puede extrapolarse ninguna conclusioacuten defi-nitiva Algunos de los sistemas de deteccioacuten de hidrocarburos presentes en la literatura asiacutecomo sus porcentajes de eficacia son mostrados en la Tabla 7

Ref DB Clasificador Eficacia[37] 71 Sentinazos 68 Look-alikes Red MLP (validacioacuten

cruzada)82 Look-alikes 90 Sentinazos

[108] 34 Sentinazos 45 Look-alikes Red MLP 91 Look-alikes 87 Sentinazos[103] 71 Sentinazos 6980 Look-alikes Modelo estadiacutestico +

Sist basado en reglas99 Look-alikes 94 Sentinazos

[104] 37 Sentinazos 12110 Look-alikes Modelo estadiacutestico +Sist basado en reglas

994 Look-alikes 784 Sentinazos

[26] 41 Sentinazos 12245 Look-alikes Modelo estadiacutestico +Sist basado en reglas+ Estimador de con-fianza

897 Look-alikes 9207 Sentinazos(sin aplicar el estimador de confianza)

[41] 11 Sentinazos 6 Look-alikes 4Desconocidos

Distancia de Mahala-nobis

100 Look-alikes 82 Sentinazos 0Desconocidos

Clasificador probabi-liacutestico

67 Look-alikes 909 Sentinazos 50Desconocidos

[54] 1915 piacutexeles (552 Sentinazos 557Bajo viento 806 Superficie limpia)

Red MLP 9825 Look-alikes 9702 Sentinazos

Tabla 71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia en la clasificacioacuten

119

Los resultados de los clasificadores implementados (veacutease Tabla 61) son muy promete-dores a la vista de los porcentajes de eficacia obtenidos por los clasificadores presentes enla literatura No obstante es sorprendente que un clasificador tan sencillo como el aacuterbol dedecisioacuten binario obtenga unos resultados comparables a la mayoriacutea de clasificadores siendoeacutestos en general mucho maacutes complejos Esto puede ser debido a varios factores por un ladola mayoriacutea de los look-alikes son filtrados gracias al empleo de datos meteoroloacutegicos en lafase de segmentacioacuten por otro lado la mayoriacutea de los candidatos segmentados pueden serclasificados basaacutendose soacutelo en una de las variables del vector (ratio entre la intensidad de lospiacutexeles de la mancha respecto al aacuterea circundante) mientras que el uso de las otras varia-bles del vector permitiraacute discernir los casos maacutes problemaacuteticos siendo esto lo que marca ladiferencia entre la red neuronal implementada y el aacuterbol

La mayoriacutea de los sistemas dan sus porcentajes de eficacia en funcioacuten de la clasificacioacutende los candidatos pero en otros casos como Oacutescar Garcia-Pineda et aacutel [54] se presentala eficacia en funcioacuten de la correcta clasificacioacuten a nivel de piacutexel En general se espera unaeficacia mayor a nivel de piacutexel dado que las DB suelen estar formadas por un mayor nuacutemero derepresentantes y los errores si son pocos quedan maacutes diluidos en los porcentajes Ademaacutessi se analizan imaacutegenes completas la cantidad de piacutexeles que representan hidrocarburos esclaramente inferior a la que representa superficie limpia por lo que se espera un porcentajede eficacia media muy alto de piacutexeles correctamente etiquetados

El tiempo de procesamiento es criacutetico en un sistema que debe dar respuesta en tiempocuasi real pero la mayoriacutea de los sistemas de deteccioacuten de hidrocarburos presentes en la lite-ratura lo relegan a un segundo plano en pos de la eficacia Sin embargo una raacutepida deteccioacutenpuede marcar la diferencia a la hora de ser efectivos gestionando un vertido o incluso en labuacutesqueda de los responsables Teniendo en cuenta que en la praacutectica la mayoriacutea de los siste-mas funcionan de forma semiautomaacutetica es decir que un operador suele revisar los resultadosantes de enviar los medios de vigilancia se hace maacutes plausible que el sistema se desarrollecon el objetivo de detectar sentinazos en el intervalo de tiempo maacutes breve posible incluso sipara ello se sacrifica eficacia en la eliminacioacuten de los falsos positivos o look-alikes El sistemapresentado con una media de 194 s de tiempo de procesamiento representa una importantemejora respecto a otros sistemas como el TCNNA (65 min) el cual se aplica a imaacutegenescompletas Solberg et aacutel [104] (145 min) que utiliza factores de escape en su algoritmo parano procesar completamente la imagen es decir no utiliza todos los datos con el consecuenteriesgo de no conseguir los mejores resultados o Topouzelis et aacutel [108] (2-5 min) que utiliza

120 Capiacutetulo 7 Discusioacuten

subsecciones de la imagen de entre 4 y 16 MB previamente seleccionadas por un operadorEn otros casos se opta por reducir la resolucioacuten radiomeacutetrica y trabajar soacutelo con 256 nivelesde grises [90] [54] lo que conlleva un incremento en la velocidad de procesamiento de lasimaacutegenes pero a costa de perder informacioacuten

Es importante tener en cuenta que los datos presentados en cuanto al tiempo de procesa-miento estaacuten iacutentimamente relacionados con las caracteriacutesticas de la computadora utilizada esdecir que podriacutean ser faacutecilmente mejorados disponiendo de un hardware con mayor poten-cia y aunque esto pueda parecer obvio para cualquier software en el caso presentado cobramayor relevancia puesto que fue desarrollado para adaptarse automaacuteticamente y utilizar losdiferentes nuacutecleos disponibles

Epiacutelogo

CAPIacuteTULO 8

RESULTADOS Y CONCLUSIONES

En este trabajo se ha planteado el desarrollo despliegue y validacioacuten de un laboratorio vir-tual oceanograacutefico Partiendo de unos requisitos iniciales ambiciosos en los que se abordarondiferentes liacuteneas de investigacioacuten se desarrolloacute un entorno de trabajo basado en computacioacutenGrid enfocado a la ejecucioacuten de aplicaciones de oceanografiacutea Para validar el entorno se desa-rrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos en la superficieoceaacutenica a traveacutes de datos de sateacutelite

Las principales aportaciones del presente trabajo han sido

ndash Desarrollo de un laboratorio virtual de altas prestaciones se ha presentado un en-torno de trabajo unificado y versaacutetil que permite a los investigadores realizar una granparte de su trabajo sin necesidad de otras herramientas Como si de un laboratorio realse tratase el entorno permite

bull Administrar el acceso de los usuarios

bull Gestionar analizar y visualizar datos

bull Procesar datos utilizando recursos computacionales de altas prestaciones

bull Distribuir y compartir los resultados de los proyectos con la comunidad

ndash Desarrollo de una interfaz amigable tanto la arquitectura del sistema como su inter-faz han sido disentildeadas para abstraer a los usuarios finales de la tecnologiacutea subyacenteInternet es un entorno coacutemodo y familiar para la mayor parte de los usuarios y porello se escogioacute un portal Web como medio de acceso al sistema Grid El portal fue

124 Capiacutetulo 8 Resultados y conclusiones

implementado empleando GridSphere que proporciona un entorno de desarrollo deportales Web basado en portlets El uso de portlets permite desplegar aplicaciones inde-pendientes del middleware Grid utilizado en el sistema asiacute como reutilizarlas en otrosportales La solucioacuten tecnoloacutegica desarrollada permite al usuario centrar sus esfuerzosen el desarrollo de sus trabajos y no en el aprendizaje de las herramientas

ndash Sistema de autenticacioacuten y autorizacioacuten simplificado buscando una solucioacuten bienequilibrada entre seguridad y facilidad de uso se disentildeoacute y desarrolloacute un sistema deautenticacioacuten y autorizacioacuten integrando y mejorando diferentes tecnologiacuteas El sistemade registros de usuarios PURSe fue desplegado para abstraer a los usuarios del usode los DCs Tanto PURSe como GridSphere fueron modificados para gestionar rolesde usuarios a traveacutes de ACs y asiacute poder emplearlos como medio de autorizacioacuten enel Grid El uso de un sistema de autorizacioacuten del tipo RBAC en un Grid simplifica laadministracioacuten de los recursos y por esta razoacuten en RETELAB se integroacute el softwarePERMIS que permite gestionar poliacuteticas de seguridad basadas en roles

ndash Despliegue de un sistema de autenticacioacuten SSO los usuarios que pertenezcan a cen-tros incluidos en la red de confianza de RETELAB pueden acceder al portal sin nece-sidad de registrarse a traveacutes del sistema de autenticacioacuten de sus centros Para realizareste proceso se integroacute Shibboleth y se desarrollaron procedimientos que generan deforma temporal DCs y ACs para los usuarios externos Los datos necesarios para losdiferentes certificados son proporcionados por las organizaciones en el proceso de au-tenticacioacuten

ndash Despliegue de un sistema de almacenamiento distribuido basado en metadatosse ha disentildeado y desplegado un sistema de almacenamiento distribuido que permitea la comunidad de RETELAB compartir los datos de sus investigaciones Esta DBvirtual que soporta formatos estaacutendar en oceanografiacutea estaacute dirigida por metadatos parafacilitar el etiquetado y descripcioacuten de los datos almacenados y asiacute mejorar los sistemasde buacutesquedas Para unificar el uso de los metadatos se ha seleccionado el estaacutendar paradescribir informacioacuten geograacutefica ISO 19115

ndash Despliegue de un metaplanificador y un monitor de trabajos se ha disentildeado una in-terfaz de ejecucioacuten y monitorizacioacuten de trabajos que permite a los usuarios configurarejecutar y monitorizar sus trabajos sin que sea necesario que conozcan la infraestruc-tura hardware Para ello se ha desplegado una versioacuten mejorada del metaplanificador

125

GridWay que se encarga de gestionar en nombre del usuario la ejecucioacuten de las tareasEl monitor permite visualizar el estado de las tareas y acceder a los resultados una vezque hayan finalizado Tanto la versioacuten del GridWay utilizada como la interfaz de ejecu-cioacuten y monitorizacioacuten de los trabajos ha sido realizada por el CESGA en el marco delproyecto RETELAB

ndash Validacioacuten y distribucioacuten de los resultados utilizando la interfaz de monitorizacioacutenel usuario puede acceder a los resultados de las tareas ejecutadas Desde la interfazde resultados el usuario puede descargar los ficheros generados o compartirlos con lacomunidad publicaacutendolos previa descripcioacuten a traveacutes de metadatos en la DB virtuallo que realimenta el sistema El entorno cuenta con una herramienta avanzada para lavisualizacioacuten y validacioacuten de los datos llamada IDV (desarrollada por Unidata) Estesoftware se descarga e instala en el puesto de trabajo del usuario de forma temporal ytransparente y se ejecuta con los datos seleccionados por el usuario

ndash Desarrollo de un sistema de deteccioacuten de vertidos de hidrocarburos el laboratoriovirtual se ha validado a traveacutes del despliegue de varias aplicaciones y entre ellas porsu entidad alcance y necesidad de investigacioacuten adicional del estado del arte destacaSENTINAZOS Eacuteste es un sistema de deteccioacuten de vertidos de hidrocarburos en lasuperficie oceaacutenica que fue desarrollado con el doble propoacutesito de validar el sistema yde encontrar una solucioacuten para un problema diario de nuestras costas Las principalesaportaciones de este sistema son

bull Desarrollo de un procedimiento de segmentacioacuten adaptativo basado en la ve-locidad del viento partiendo de una DB de imaacutegenes SAR enriquecida tanto condatos de viento como con informacioacuten de vertidos de hidrocarburos se implemen-toacute un segmentador basado en una umbralizacioacuten adaptativa El establecimiento deeste umbral tiene como base el estudio de centenares de datos muestreados en losque se analizoacute la velocidad del viento el IA del sateacutelite respecto al punto mues-treado y su valor de intensidad Tras el estudio de la muestra se constatoacute que siel IA era similar las muestras asociadas a hidrocarburos teniacutean valores de intensi-dad menores a las que representaban superficie limpia pero ademaacutes se comproboacuteque estos valores teniacutean una relacioacuten directa con el viento que afectaba a la zonaEmpleando estos datos se establecioacute una funcioacuten definida por partes que repre-sentaba el umbral de intensidad del hidrocarburo seguacuten el IA y la velocidad del

126 Capiacutetulo 8 Resultados y conclusiones

viento Este procedimiento de segmentacioacuten obtiene un menor nuacutemero de falsospositivos que otras alternativas lo que permite facilitar el trabajo del clasificadory obtener mejores resultados

bull Caracterizacioacuten de los candidatos a traveacutes de la forma diferentes estudios hanconstatado que los sentinazos adquieren formas que siguen patrones singularesdebido a su origen y a su antiguumledad Partiendo de la hipoacutetesis de que la formaes un elemento diferenciador se desarrolloacute un procedimiento para caracterizar loscandidatos que generaba un vector dominado por las caracteriacutesticas relacionadascon la forma La dimensionalidad de dicho vector fue reducida a traveacutes de unPCA siendo el resultado utilizado como entrada para el clasificador

bull Sistema semiautomaacutetico de deteccioacuten de vertidos se desarrollaron y analizarondos clasificadores para separar los falsos positivos de los sentinazos Tanto la ANNcomo el aacuterbol de decisioacuten obtuvieron resultados muy prometedores El uso de unsegmentador optimizado permite emplear clasificadores maacutes sencillos por lo quese reduce el tiempo de procesamiento sin sacrificar la tasa de aciertos

bull Disminucioacuten del tiempo de procesamiento empleando un paradigma de pro-gramacioacuten paralela con memoria compartida se ha implementado un sistema quepermite procesar completamente un producto SAR en un tiempo considerable-mente inferior al usado por aplicaciones similares encontradas en la literatura Es-ta mejora en el tiempo de procesamiento permite emplear el sistema de deteccioacutencomo una herramienta de ayuda a la toma de decisiones en tiempo casi real

CAPIacuteTULO 9

TRABAJO FUTURO

91 Trabajo futuro en el proyecto RETELAB

El futuro del laboratorio virtual puede verse desde dos puntos de vista por un lado la evo-lucioacuten del propio entorno que se centraraacute en el anaacutelisis de los posibles puntos de confluenciaentre la computacioacuten Grid y la Cloud Por otro el del desarrollo y mejora de las aplicacionesdesplegadas en particular la mejora de los algoritmos para la deteccioacuten de vertidos asiacute comola adaptacioacuten de eacutestos para trabajar con datos provenientes de fuentes diferentes al Envisatcomo por ejemplo el futuro sateacutelite Sentinel-1

911 Computacioacuten Cloud

La computacioacuten Cloud es un nuevo paradigma de computacioacuten distribuida que ha surgidocon fuerza estos uacuteltimos antildeos Al igual que ocurrioacute con la computacioacuten Grid su definicioacutenha sido objeto de debate tanto en el mundo empresarial como entre la comunidad cientiacuteficaLa literatura presenta multitud de definiciones pero en general se observa que las que provie-nen del mundo empresarial se centran en la perspectiva del usuario final y su experiencia deuso mientras que desde la comunidad cientiacutefica se incluyen tambieacuten aspectos relativos a suarquitectura Foster et aacutel [48] definen la computacioacuten Cloud como

laquoUn paradigma de computacioacuten distribuida de gran envergadura dirigido por economiacuteas

de escala en el que un conjunto administrado de recursos (procesamiento almacenamiento

entornos y aplicaciones) abstractos virtualizados y dinaacutemicamente escalables se proporcio-

nan bajo demanda a clientes viacutea Internetraquo

128 Capiacutetulo 9 Trabajo futuro

La computacioacuten Cloud es un paradigma de computacioacuten distribuida altamente especiali-zado que presenta las siguientes diferencias respecto a anteriores paradigmas [48]

ndash Es altamente escalable

ndash Puede ser encapsulado como una entidad abstracta y proporcionar diferentes niveles deservicios a los clientes finales

ndash Estaacute dirigido por economiacuteas de escala

ndash Los servicios son proporcionados bajo demanda y pueden ser configurados dinaacutemica-mente a traveacutes de la virtualizacioacuten

Su arquitectura puede dividirse en capas [48] y eacutestas mantienen una estrecha relacioacuten conlos servicios proporcionados (veacutease la Figura 91)

ndash Capa de infraestructura contiene los recursos hardware maacutes baacutesicos como son los recur-sos computacionales los de almacenamiento o los relacionados con la infraestructurade red

ndash Capa de recursos unificados empleando los recursos baacutesicos se encapsulan a traveacutesde la virtualizacioacuten nuevos recursos maacutes complejos que pueden ser proporcionados alas capas superiores o directamente a los usuarios finales

ndash Capa de plataforma proporciona a los recursos unificados herramientas especializadasmiddleware y servicios Su finalidad es preparar un entorno de desarrollo o de desplie-gue que pueda ser utilizado por la capa de aplicaciones o proporcionado como servicioa los usuarios

ndash Capa de aplicaciones contiene aplicaciones que son ejecutadas en el Cloud y expuestascomo servicios para ser utilizadas por los usuarios finales

Los Clouds en general proporcionan bajo demanda hasta tres tipos de servicios a los queel usuario puede acceder a traveacutes de un navegador Web o de un API bien definida [105]

ndash Infraestructura como Servicio (IaaS) proporciona recursos computacionales (procesa-miento y almacenamiento) virtualizados Esto permite que los usuarios puedan obtenerrecursos con unas determinadas caracteriacutesticas (nuacutemero de procesadores memoria es-pacio en disco etc) para cubrir unas necesidades concretas

91 Trabajo futuro en el proyecto RETELAB 129

ndash Plataforma como Servicio (PaaS) los servicios de plataforma estaacuten pensados para pro-porcionar a los usuarios entornos especiacuteficos bien sea para desarrollar software o biensea para desplegarlo permitiendo que los usuarios se abstraigan del hardware yo con-figuraciones

ndash Sofware como Servicio (SaaS) proporciona software especiacutefico para que sea accesibleremotamente por los clientes a traveacutes de Internet

Figura 91 Arquitectura del Cloud relacionada con los servicios que proporciona Figura adaptada de [105]

912 Integracioacuten de la computacioacuten Cloud en RETELAB

La integracioacuten de la computacioacuten Cloud en el proyecto RETELAB podriacutea proporcionaruna mayor flexibilidad al laboratorio Existen varias liacuteneas de futuro interesantes para desa-rrollar

ndash Agregacioacuten de recursos bajo demanda los recursos proporcionados por RETELAB es-taacuten limitados tanto en su nuacutemero como en sus caracteriacutesticas Si la demanda de recursospor parte de los usuarios excede la capacidad del laboratorio ya sea porque la cantidadde trabajos ejecutados es mayor de la que puede absorber porque los trabajos requie-ren recursos con caracteriacutesticas superiores (nuacutemero de procesadores memoria etc) oporque necesitan de un determinado entorno de ejecucioacuten que no estaacute disponible elCloud podriacutea proporcionar una solucioacuten raacutepida y puntual Aprovechando que el Cloud

130 Capiacutetulo 9 Trabajo futuro

proporciona IaaS podriacutean agregarse bajo demanda los recursos necesarios y graciasal PaaS seriacutea posible obtener recursos con una determinada configuracioacuten La tarea deinstanciar los recursos recaeriacutea sobre el metaplanificador GridWay del que existe unplugin (Broker GW-SLA) que permite negociar con entidades externas para incorporarrecursos al Grid y que ya fue utilizado con eacutexito en proyectos previos [55]

ndash Modificacioacuten dinaacutemica de los recursos el uso de la computacioacuten Cloud tambieacuten seriacuteauacutetil para gestionar los propios recursos de RETELAB ya que podriacutea optimizar su usoCuando se ejecuta un trabajo en el laboratorio el metaplanificador necesita conocer susnecesidades para poder gestionar su ejecucioacuten Puede darse el caso de que un trabajosea asignado a un recurso libre y lo infrautilice ya que no necesita de todo su potencial(procesadores memoria etc) Mientras tanto puede llegar a la cola un trabajo queaunque realmente necesite mejores condiciones para que su ejecucioacuten sea oacuteptima po-driacutea aprovechar la parte ociosa del recurso a la espera de mejores recursos Desplegandoun Cloud sobre los recursos disponibles podriacutean virtualizarse y optimizarse generandorecursos laquoa medidaraquo Asociando a cada cada tarea informacioacuten sobre cuaacuteles seriacutean losrequisitos miacutenimos y cuaacuteles los deseados para su ejecucioacuten se podriacutea virtualizar y asig-nar un recurso en el momento en que estuviesen disponibles los recursos miacutenimos Amedida que los recursos base fuesen quedando ociosos se aprovechariacutea la escalabilidaddinaacutemica del Cloud para mejorar el recurso virtual asignado a la tarea hasta alcanzar losrequisitos deseados El metaplanificador seriacutea el encargado de gestionar este procesopor lo que seriacutea necesario extender el JSDL para soportar dicha informacioacuten

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS

921 Fuentes de datos

Los algoritmos desarrollados para localizar vertidos de hidrocarburos estaacuten basados endatos obtenidos por el sateacutelite Envisat a traveacutes del modo de operacioacuten WSM A pesar de quela base de los algoritmos es vaacutelida para otras fuentes de datos es cierto que eacutestos deberiacutean seradaptados para ajustarse a sus particularidades como por ejemplo a las diferentes resolucio-nes espaciales La adaptacioacuten de los algoritmos para trabajar con diferentes fuentes siemprefue considerado como un trabajo futuro que actualmente y debido a la peacuterdida de contactocon el sateacutelite Envisat ha cobrado mayor relevancia A corto plazo los algoritmos deberiacuteanser adaptados para analizar datos provenientes del Radarsat mientras que a medio plazo seriacutea

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 131

interesante adaptarlos para trabajar con los datos que provengan del Sentinel-1 sateacutelite cuyolanzamiento estaacute previsto para el antildeo 2013

922 Mejora de los algoritmos

Existen varias liacuteneas de trabajo que podriacutean conducir a una mejora de los algoritmos ac-tuales para la deteccioacuten de vertidos

ndash Informacioacuten contextual dado que los sentinazos son generados habitualmente por bu-ques que transitan por el ESTF o por sus cercaniacuteas seriacutea interesante antildeadir informacioacutencontextual respecto a su entorno como por ejemplo la proximidad a una posible fuentedel vertido o su localizacioacuten respecto al ESTF Esta informacioacuten podriacutea ser obtenidaempleando los propios datos SAR ya que es posible utilizarlos para detectar embarca-ciones [89] y al estar georreferenciados tambieacuten es posible posicionar los sentinazosrespecto al ESTF

ndash Incorporacioacuten de datos provenientes de los Sistemas Automaacuteticos de Identificacioacuten(AISs) de buques la Organizacioacuten Internacional Mariacutetima (IMO) requiere que la ma-yor parte de las embarcaciones posean un sistema AIS para identificarlos y localizarlosEstos sistemas enviacutean sus datos a estaciones receptoras que almacenan y procesan lainformacioacuten SASEMAR ha implantado cobertura para AIS a lo largo de toda la cos-ta espantildeola por lo que la informacioacuten recogida podriacutea ser utilizada en el sistema dedeteccioacuten para acotar los posibles causantes del vertido

ndash Incorporacioacuten de nuevos datos de viento unos pocos informes de las misiones aeacutereasa las que tuvo acceso SASEMAR conteniacutean medidas de la velocidad del viento de laszonas en las que fueron detectados vertidos Estas medidas no se ajustaban correcta-mente a las obtenidas por el modelo CMOD5 y aunque la comparacioacuten es complicadadebido a que las misiones aeacutereas eran enviadas despueacutes de obtener y procesar la imagenSAR (no correspondiacutean al mismo momento) se considera que una posible liacutenea futuraes incorporar datos reales o de otros modelos que puedan ser maacutes precisos y asiacute podercomparar los resultados con los obtenidos actualmente

ndash Anaacutelisis de nuevos clasificadores a pesar de que los resultados obtenidos con las ANNsy con los aacuterboles de decisioacuten son satisfactorios seriacutea deseable analizar otros clasifica-dores con el objetivo de alcanzar un mejor porcentaje de aciertos De entre las diferentes

132 Capiacutetulo 9 Trabajo futuro

posibilidades las Maacutequinas de Soporte Vectorial (SVM) resultan especialmente intere-santes ya que en problemas tanto de clasificacioacuten como de regresioacuten tratan de definirun hiperplano en un espacio n-dimensional que separe las posibles clases de una formaestricta desde el punto de vista matemaacutetico Otras opciones posibles seriacutean las redesfuncionales o los clasificadores basados en loacutegica borrosa

Bibliografiacutea

[1] European Space Agency (ESA) httpsearthesain

[2] PURSE Portal-based User Registration Service httpwwwGrids-centerorgsolutionspurse (Retrieved October 2012)

[3] Sakai project Web Page httpwwwsakaiprojectorg (Retrieved October 2012)

[4] The Apache Velocity Project httpvelocityapacheorg (Retrieved October 2012)

[5] Tupelo Web Page httptupeloprojectncsauiucedu (Retrieved October 2012)

[6] Xen Web page httpwwwxenorg (Retrieved October 2012)

[7] ISO 191152003 Geographic information - Metadata Technical report InternationalOrganization for Standardization 2003

[8] The Grid 2 Second Edition Blueprint for a New Computing Infrastructure MorganKaufmann 2 edition December 2003

[9] Ahmar Abbas Grid computing a practical guide to technology and applications Char-les River Media 2004

[10] A Abdelnur and S Hepper JSR 168 Portlet Specification Tech-nical report Sun Microsystems October 2003 Also available onlinehttpwwwjcporgenjsrdetailid=168 (Retrieved Sept 2012)

[11] International Energy Agency Medium-Term Oil and Gas

Markets IEA Publications 2011 Also available onlinehttpwwwieaorgpublicationsfreepublicationspublicationMTOGM2011_Unsecuredpdf(Retrieved Sept 2012)

134 Bibliografiacutea

[12] Jay Alameda Marcus Christie Geoffrey Fox Joe Futrelle Dennis Gannon MihaelHategan Gopi Kandaswamy Gregor von Laszewski Mehmet A Nacar Marlon Pier-ce Eric Roberts Charles Severance and Mary Thomas The Open Grid ComputingEnvironments collaboration portlets and services for science gateways Concurrency

Computat Pract Exper 19(6)921ndash942 2007

[13] William Allcock John Bresnahan Rajkumar Kettimuthu Michael Link Catalin Dumi-trescu Ioan Raicu and Ian Foster The Globus Striped GridFTP Framework and ServerIn Proceedings of the 2005 ACMIEEE conference on Supercomputing volume 0 of SC

rsquo05 Washington DC USA 2005 IEEE Computer Society

[14] Ethem Alpaydin Introduction to Machine Learning (Adaptive Computation and Ma-chine Learning series) chapter 9 pages 185ndash208 The MIT Press second editionDecember 2009

[15] A Andronico R Barbera A Falzone G Lo Re A Pulvirenti and A Rodolico GE-NIUS a web portal for the grid Nuclear Instruments and Methods in Physics Research

Section A Accelerators Spectrometers Detectors and Associated Equipment 502(2-3)433ndash436 April 2003

[16] A Anjomshoaa F Brisard M Drescher D Fellows A Ly S McGough D Pul-sipher and A Savva ob submission description language (jsdl) specification ver-sion 10 Technical report Open Grid Forum November 2005 Also available onlinehttpwwwogforgdocumentsGFD56pdf (Retrieved October 2012)

[17] Mario Antonioletti Malcolm Atkinson Rob Baxter Andrew Borley Neil PChue Hong Brian Collins Neil Hardman Alastair C Hume Alan Knox Mike Jack-son Amy Krause Simon Laws James Magowan Norman W Paton Dave PearsonTom Sugden Paul Watson and Martin Westhead The design and implementation ofGrid database services in OGSA-DAI Concurrency Computat Pract Exper 17(2-4)357ndash376 2005

[18] C F Balseiro P Carracedo B Goacutemez P C Leitatildeo P Montero L Naranjo E Pena-bad and V Peacuterez-Muntildeuzuri Tracking the Prestige oil spill An operational experiencein simulation at MeteoGalicia Weather 58(12)452ndash458 2003

[19] R Barbera A Falzone and A Rodolico The genius grid portal In Computing in

High Energy and Nuclear Physics volume 24 page 28 2003

Bibliografiacutea 135

[20] M J Behrenfeld and P G Falkowski A consumerrsquos guide to phytoplankton primaryproductivity models Limnology and Oceanography 1997

[21] G Benelli and A Garzelli Oil-spills detection in SAR images by fractal dimensionestimation In Geoscience and Remote Sensing Symposium 1999 IGARSS amp03999

Proceedings IEEE 1999 International volume 1 pages 218ndash220 vol1 IEEE 1999

[22] Fran Berman Geoffrey Fox and Tony Hey The Grid Past Present Future In Grid

Computing pages 9ndash50 John Wiley amp Sons Ltd 2003

[23] D Bernholdt S Bharathi D Brown K Chanchio M Chen A Chervenak L Cinqui-ni B Drach I Foster P Fox and Others The earth system grid Supporting the nextgeneration of climate modeling research Proceedings of the IEEE 93(3) 2005

[24] Leo Breiman J H Friedman R A Olshen and C J Stone Classification and Re-

gression Trees Wadsworth 1984

[25] Camilla Brekke and Anne H S Solberg Oil spill detection by satellite remote sensingRemote Sensing of Environment 95(1)1ndash13 March 2005

[26] Camilla Brekke and Anne H S Solberg Classifiers and Confidence Estimation for OilSpill Detection in ENVISAT ASAR Images IEEE Geoscience and Remote Sensing

Letters 5(1)65ndash69 January 2008

[27] D Chadwick A Otenko and E Ball Role-based access control with X509 attributecertificates Internet Computing IEEE 7(2)62ndash69 March 2003

[28] David W Chadwick and Alexander Otenko The PERMIS X509 role based privile-ge management infrastructure Future Generation Computer Systems 19(2)277ndash289February 2003

[29] C F Chen K S Chen L Y Chang and A J Chen The use of satellite imagery formonitoring coastal environment in Taiwan In Geoscience and Remote Sensing 1997

IGARSS rsquo97 Remote Sensing - A Scientific Vision for Sustainable Development 1997

IEEE International volume 3 pages 1424ndash1426 vol3 IEEE August 1997

[30] R Chinnici J J Moreau A Ryman and S Weerawarana Web Services DescriptionLanguage (WSDL) Version 20 Part 1 Core Language Technical report W3C June2007

136 Bibliografiacutea

[31] E Chuvieco Radar In Teledeteccioacuten ambiental chapter 3 pages 108ndash116 ArielPublications 1 edition May 2002

[32] P Cornillon J Gallagher and T Sgouros OPeNDAP Accessing data in a distributedheterogeneous environment Data Science Journal 2164ndash174 2003

[33] Carmen Cotelo Andreacutes Goacutemez J Ignacio Loacutepez David Mera Joseacute M Cotos J Peacute-rez Marrero and Constantino Vaacutezquez Retelab A geospatial grid web laboratoryfor the oceanographic research community Future Generation Computer Systems26(8)1157ndash1164 October 2010

[34] Joseacute M Cotos and Alejandro Tobar Teledeteccioacuten de la marea negra del petroleroPrestige In Teledeteccioacuten de pesqueriacuteas y prediccioacuten de mareas toacutexicas chapter 9pages 177ndash182 Netbiblo first edition 2002

[35] L da Fontoura Costa and R M Cesar Shape analysis and classification theory and

practice CRC 2001

[36] L Dagum and R Menon OpenMP an industry standard API for shared-memoryprogramming IEEE Computational Science and Engineering 5(1)46ndash55 January1998

[37] F Del Frate A Petrocchi J Lichtenegger and G Calabresi Neural networks for oilspill detection using ERS-SAR data IEEE Transactions on Geoscience and Remote

Sensing 38(5)2282ndash2287 September 2000

[38] Dietmar Erwin and David Snelling UNICORE A Grid Computing Environment InRizos Sakellariou John Gurd Len Freeman and John Keane editors Euro-Par 2001

Parallel Processing volume 2150 of Lecture Notes in Computer Science pages 825ndash834 Springer Berlin Heidelberg 2001

[39] Esa Oil pollution monitoring in ERS and its applications Marine Technical report1998

[40] H A Espedal Satellite SAR oil spill detection using wind history information Inter-

national Journal of Remote Sensing 20(1)49ndash65 January 1999

Bibliografiacutea 137

[41] B Fiscella A Giancaspro F Nirchio P Pavese and P Trivero Oil spill detectionusing marine SAR images International Journal of Remote Sensing 21(18)3561ndash3566 2000

[42] FAO Fisheries and Aquaculture Dept The state of world fisheries and aquaculture

2012 Food and Agriculture Organization of the United Nations 2012

[43] J Fortuny-Guasch Improved Oil Slick Detection and Classification with PolarimetricSAR In Applications of SAR Polarimetry and Polarimetric Interferometry volume 529of ESA Special Publication April 2003

[44] I Foster J Geisler B Nickless W Smith and S Tuecke Software infrastructure forthe I-WAY high-performance distributed computing experiment In High Performance

Distributed Computing 1996 Proceedings of 5th IEEE International Symposium onIEEE 1996

[45] I Foster and C Kesselman Globus A metacomputing infrastructure toolkit Interna-

tional Journal of High Performance Computing Applications 11(2) 1997

[46] I Foster and C Kesselman Computational Grids In The grid blueprint for a new

computing infrastructure chapter 2 pages 15ndash53 Morgan Kaufmann 1998

[47] I Foster and C Kesselman The Globus project A status report Future Generation

Computer Systems 15(5) 1999

[48] I Foster Y Zhao I Raicu and S Lu Cloud computing and grid computing 360-degree compared In Grid Computing Environments Workshop 2008 GCErsquo08 Ieee2008

[49] Ian Foster What is the Grid - a three point checklist GRIDtoday 1(6) July 2002

[50] Ian Foster and Carl Kesselman Concepts and Architecture In The Grid 2 Second Edi-

tion Blueprint for a New Computing Infrastructure chapter 4 pages 37ndash63 MorganKaufmann 2 edition December 2003

[51] Ian Foster Carl Kesselman Jeffrey M Nick and Steven Tuecke The physiology of thegrid In Grid Computing Making The Global Infrastructure a Reality pages 217ndash249John Wiley amp Sons Ltd 2003

138 Bibliografiacutea

[52] Ian Foster Carl Kesselman and Steven Tuecke The Anatomy of the Grid EnablingScalable Virtual Organizations Int J High Perform Comput Appl 15(3)200ndash222August 2001

[53] Ian Foster Veronika Nefedova Mehran Ahsant Rachana Ananthakrishnan Lee Li-ming Ravi Madduri Olle Mulmo Laura Pearlman and Frank Siebenlist Streamli-ning Grid Operations Definition and Deployment of a Portal-based User RegistrationService Journal of Grid Computing 4(2)135ndash144 June 2006

[54] O Garcia-Pineda B Zimmer M Howard W Pichel Li XiaoFeng and I R MacDo-nald Using SAR images to delineate ocean oil slicks with a texture-classifying neuralnetwork algorithm (TCNNA) Canadian Journal of Remote Sensing 35(5)411ndash4212009

[55] A Goacutemez Remote Conputational Tools for Radiotherapy Cancer Treatment PlanningIn K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud compu-

ting a business perspective on technology and applications chapter 9 pages 147ndash158Springer Publishing Company Incorporated 2009

[56] W W Gregg M E Conkright P Ginoux J E OrsquoReilly and N W Casey Oceanprimary production and climate Global decadal changes Geophys Res Lett30(15)1809 2003

[57] Andrew S Grimshaw Wm and CORPORATE The Legion Team The Legion visionof a worldwide virtual computer Commun ACM 40(1)39ndash45 January 1997

[58] Hecht-Nielsen Theory of the backpropagation neural network In International Joint

Conference on Neural Networks pages 593ndash605 vol1 IEEE June 1989

[59] S Hepper Comparing the JSR 168 Java Portlet Specification

with the IBM Portlet API December 2003 Also available onlinehttpwwwibmcomdeveloperworkswebspherelibrarytecharticles0312_hepperhepperhtml(Retrieved Sept 2012)

[60] H Hersbach A Stoffelen and S de Haan An improved C-band scatterome-ter ocean geophysical model function CMOD5 Journal of Geophysical Research112(C3)C03006 March 2007

Bibliografiacutea 139

[61] S Hesmer P Fischer T Buckner and I Schuster Portlet de-

velopment guide 1 edition April 2002 Also available onlineftpftpsoftwareibmcomsoftwarewebserverportalV41PortletDevelopmentGuidepdf(Retrieved Sept 2012)

[62] J Horstmann and W Koch Measurement of ocean surface winds using synthetic aper-ture radars Oceanic Engineering IEEE Journal of 30(3)508ndash515 July 2005

[63] H A Hovland J A Johannessen and G Digranes Slick detection in SAR images InProceedings of IGARSS rsquo94 - 1994 IEEE International Geoscience and Remote Sensing

Symposium pages 2038ndash2040 IEEE 1994

[64] Eduardo Huedo Ruben S Montero and Ignacio M Llorente A framework for adap-tive execution in grids Softw Pract Exper 34(7)631ndash651 2004

[65] Eduardo Huedo Rubeacuten S Montero and Ignacio M Llorente A modular meta-scheduling architecture for interfacing with pre-WS and WS Grid resource manage-ment services Future Generation Computer Systems 23(2)252ndash261 February 2007

[66] C Jackson and J Apel editors Synthetic Aperture Radar Marine Userrsquos Manual USDepartement of Commerce National Oceanic and Atmospheric Administration 1stedition April 2005 Also available online httpwwwsarusersmanualcom (RetrievedMay 2012)

[67] I T Jolliffe and MyiLibrary Principal component analysis volume 2 Wiley OnlineLibrary 2002

[68] Maozhen Li and Mark Baker Applications In The grid core technologies pages377ndash400 Wiley May 2005

[69] Maozhen Li and Mark Baker Grid Portals In The grid core technologies pages335ndash376 Wiley May 2005

[70] Maozhen Li and Mark Baker Grid Security In The grid core technologies pages124ndash152 Wiley May 2005

[71] R F Loacutepez and J M F Fernaacutendez Las Redes Neuronales Artificiales Netbiblo Sl2008

140 Bibliografiacutea

[72] Maged Marghany RADARSAT for oil spill trajectory model Environmental Mode-

lling and Software 19(5)473ndash483 2004

[73] J M M Mariacuten and S B Caacutemara Evolucioacuten de las tecnologiacuteas Grid de la informacioacutenIn Las tecnologiacuteas Grid de la informacioacuten como nueva herramienta empresarial pages87ndash111 Septem 2008

[74] S W McCandless and C Jackson Principles of Synthetic Aperture Radarchapter 1 pages 1ndash23 US Department of Commerce National Oceanic andAtmospheric Administration 1st edition April 2005 Also available onlinehttpwwwsarusersmanualcom (Retrieved May 2012)

[75] David Mera Joseacute Cotos Joaquiacuten Trinanes and Carmen Cotelo An Integrated Solutionto Store Manage and Work with Datasets Focused on Metadata in the Retelab GridProject In Sigeru Omatu Miguel Rocha Joseacute Bravo Florentino Fernaacutendez EmilioCorchado Andreacutes Bustillo and Juan Corchado editors Distributed Computing Arti-

ficial Intelligence Bioinformatics Soft Computing and Ambient Assisted Living volu-me 5518 of Lecture Notes in Computer Science chapter 71 pages 491ndash494 SpringerBerlin Heidelberg Berlin Heidelberg 2009

[76] David Mera Joseacute Cotos Joseacute Viqueira and Joseacute Varela A User Management Web Sys-tem Based on Portlets for a Grid Environment Integrating Shibboleth PURSe PERMISand Gridsphere In Juan Corchado Sara Rodriacuteguez James Llinas and Joseacute Molinaeditors International Symposium on Distributed Computing and Artificial Intelligence

2008 (DCAI 2008) volume 50 of Advances in Soft Computing chapter 3 pages 19ndash23Springer Berlin Heidelberg Berlin Heidelberg 2009

[77] David Mera Joseacute M Cotos Pedro Saco and Andreacutes Goacutemez An integrated Solutionto the Security User Access in the RETELAB Grid Project using a Web System basedon Portlets and a RBAC Model by means of User Attribute Certificates and PKI InFernando Silva Gaspar Barreira and Ligia Ribeiro editors 2nd Iberian Grid Infras-

tructure Conference Proceedings pages 296ndash307 2008

[78] David Mera Joseacute M Cotos Joseacute Varela Carmen Cotelo and J Ignacio Loacutepez AnIntegration of Several Technologies in the Architecture Definition and Deployment ofa Geospatial Grid Web Portal In Hamid R Arabnia and George A Gravvanis editors

Bibliografiacutea 141

Proceedings of the 2009 International Conference on Grid Computing and Applica-

tions pages 86ndash91 CSREA Press 2009

[79] David Mera Joseacute M Cotos Joseacute Varela-Pet and Oscar Garcia-Pineda Adaptive thres-holding algorithm based on SAR images and wind data to segment oil spills along thenorthwest coast of the Iberian Peninsula Marine Pollution Bulletin 64(10)2090ndash2096October 2012

[80] David Mera Joseacute M Cotos Joseacute R R Viqueira and Carmen Cotelo Software Inte-gration in the Development of a Spatial Data Grid Prototype based on Metadata InVicente H Garciacutea Gaspar Barreira Ignacio B Espert and Jorge Gomes editors 3rd

Iberian Grid Infrastructure Conference Proceedings pages 305ndash314 2009

[81] M Migliaccio M Tranfaglia and S A Ermakov A physical approach for the obser-vation of oil spills in SAR images Oceanic Engineering IEEE Journal of 30(3)496ndash507 July 2005

[82] Daniel Minoli A networking approach to grid computing Wiley 2005

[83] R L Morgan Scott Cantor Steven Carmody Walter Hoehn and Ken KlingensteinFederated Security The Shibboleth Approach EDUCAUSE Quarterly 27(4)12ndash172004

[84] D Murray J McWhirter S Wier and S Emmerson The Integrated Data Viewermdashaweb-enabled application for scientific analysis and visualization In 19th Intl Conf on

IIPS for Meteorology Oceanography and Hydrology 2003

[85] J Novotny The grid portal development kit Concurrency and Computation Practice

and experience 14(13-15) 2002

[86] J Novotny S Tuecke and V Welch An online credential repository for the GridMyProxy In High Performance Distributed Computing 2001 Proceedings 10th IEEE

International Symposium on pages 104ndash111 IEEE 2001

[87] Jason Novotny Michael Russell and Oliver Wehrens GridSphere a portal frameworkfor building collaborations Concurrency Computat Pract Exper 16(5)503ndash5132004

142 Bibliografiacutea

[88] M A Oliver and R Webster Kriging a method of interpolation for geographical infor-mation systems International journal of geographical information systems 4(3)313ndash332 July 1990

[89] R B Olsen and T Wahl The ship detection capability of ENVISATrsquos ASAR InIGARSS 2003 2003 IEEE International Geoscience and Remote Sensing Symposium

Proceedings (IEEE Cat No03CH37477) pages 3108ndash3110 IEEE 2003

[90] J M Torres Palenzuela L Gonzaacutelez Vilas and M Sacau Cuadrado Use of ASARimages to study the evolution of the Prestige oil spill off the Galician coast Internatio-

nal Journal of Remote Sensing 27(10)1931ndash1950 2006

[91] Joon S Park Ravi Sandhu and Gail J Ahn Role-based access control on the webACM Trans Inf Syst Secur 4(1)37ndash71 February 2001

[92] P Pavlakis D Tarchi and A Sieber On the monitoring of illicit vessel dischargesusing spaceborne sar remote sensing - a reconnaissance study in the Mediterraneansea Annals of Telecommunications 56(11)700ndash718 November 2001

[93] R Rew and G Davis NetCDF an interface for scientific data access Computer

Graphics and Applications IEEE 10(4)76ndash82 July 1990

[94] M Romberg The UNICORE architecture seamless access to distributed resources InHigh Performance Distributed Computing 1999 Proceedings The Eighth Internatio-

nal Symposium on pages 287ndash293 IEEE 1999

[95] Betlem Rosich and Peter Meadows Absolute Calibration of ASAR Level 1 ProductsGenerated with PF-ASAR Technical Report Iss 1 rev 5 ESA October 2004

[96] D E Rumelhart G E Hintont and R J Williams Learning representations by back-propagating errors Nature 323(6088) 1986

[97] M Russell J Novotny and O Wehrens Gridspherersquos Grid Portlets Computational

Methods In Science and Technology 12(1) 2006

[98] Alexander F Shchepetkin and James C McWilliams The regional oceanic modelingsystem (ROMS) a split-explicit free-surface topography-following-coordinate ocea-nic model Ocean Modelling 9(4)347ndash404 January 2005

Bibliografiacutea 143

[99] J Shiers The worldwide LHC computing grid (worldwide LCG) Computer physics

communications 177(1) 2007

[100] G Singh S Bharathi A Chervenak E Deelman C Kesselman M Manohar S Patiland L Pearlman A Metadata Catalog Service for Data Intensive Applications InSupercomputing 2003 ACMIEEE Conference page 33 IEEE November 2003

[101] J Sirott J Callahan and S Hankin Inside the live access server In 17th Intl Conferen-

ce on Interactive Information and Processing Systems for Meteorology Oceanography

and Hydrology AMS 2001

[102] Chris Smith and Ian Lumb The Open Grid Services Architecture In Grid computing

a practical guide to technology and applications chapter 9 pages 159ndash187 CharlesRiver Media 2004

[103] A H S Solberg G Storvik R Solberg and E Volden Automatic detection of oilspills in ERS SAR images IEEE Transactions on Geoscience and Remote Sensing37(4)1916ndash1924 July 1999

[104] Anne H S Solberg Camilla Brekke and Per O Husoy Oil Spill Detection in Radarsatand Envisat SAR Images IEEE Transactions on Geoscience and Remote Sensing45(3)746ndash755 March 2007

[105] K Stanoevska-Slabeva and T Wozniak Cloud Basics- An introduction to Cloud Com-puting In K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud

computing a business perspective on technology and applications Springer PublishingCompany Incorporated 2009

[106] Kevin Swingler Applying Neural Networks A Practical Guide chapter 323 pages53ndash56 Morgan Kaufmann papdsk edition May 1996

[107] M Thomas S Mock M Dahan K Mueller D Sutton and J R Boisseau TheGridPort toolkit a system for building Grid portals In High Performance Distributed

Computing 2001 Proceedings 10th IEEE International Symposium on pages 216ndash227 IEEE 2001

[108] K Topouzelis V Karathanassi P Pavlakis and D Rokos Detection and discrimi-nation between oil spills and look-alike phenomena through neural networks ISPRS

Journal of Photogrammetry and Remote Sensing 62(4)264ndash270 September 2007

144 Bibliografiacutea

[109] K Topouzelis D Stathakis and V Karathanassi Investigation of genetic algorithmscontribution to feature selection for oil spill detection Int J Remote Sens 30(3)611ndash625 January 2009

[110] Konstantinos Topouzelis Oil Spill Detection by SAR Images Dark Formation De-tection Feature Extraction and Classification Algorithms Sensors 8(10)6642ndash6659October 2008

[111] Konstantinos Topouzelis and Apostolos Psyllos Oil spill feature selection and classifi-cation using decision tree forest on SAR image data ISPRS Journal of Photogrammetry

and Remote Sensing 68135ndash143 March 2012

[112] P Troumlger R Brobst D Gruber M Mamonski and D Templeton Distributed Resour-ce Management application API Version 2 (DRMAA) Technical report Open Grid Fo-rum January 2012 Also available online httpwwwogforgdocumentsGFD194pdf(Retrieved October 2012)

[113] G Von Laszewski I Foster J Gawor and P Lane A Java commodity grid kit Con-

currency and Computation practice and experience 13(8-9) 2001

[114] Ping Wang Y Tony Song Yi Chao and Hongchun Zhang Parallel Computation ofthe Regional Ocean Modeling System International Journal of High Performance

Computing Applications 19(4)375ndash385 2005

[115] Barry Wilkinson System Infrastructure II Grid Computing Services In Grid compu-

ting techniques and applications pages 201ndash222 CRC Press 2010

[116] Chongjie Zhang Ian Kelley and Gabrielle Allen Grid portal solutions a comparisonof GridPortlets and OGCE Concurrency Computat Pract Exper 19(12)1739ndash17482007

Anexos

145

ANEXO A

COacuteDIGO FUENTE

A1 Procedimiento para el registro de una JCE

Un error no corregido del JCE Cryptix impide su uso en el caso de que alguacuten otro JCE searegistrado despueacutes de su utilizacioacuten El orden de registro de los proveedores funciona comouna lista Last In First Out (LIFO) por lo que se desarrolloacute un procedimiento para cambiar elorden de la lista en caso de que eacuteste no fuese el adecuado Una explicacioacuten maacutes detallada delproblema se presenta en la Seccioacuten 321

Cambiando Proveedores

RetelabSigningUtility signingUtility = new RetelabSigningUtility()

if (javasecuritySecuritygetProviders()lengthgt1 ampamp javasecuritySecurity

getProviders()[0]getName()equals(new String(IAIK)))

javasecurityProvider provider_iaik=javasecuritySecuritygetProvider(IAIK)

javasecuritySecurityremoveProvider(IAIK)

javasecuritySecurityinsertProviderAt(provider_iaik javasecuritySecurity

getProviders()length)

Coacutedigo A1 Modificacioacuten del orden de los proveedores JCE para evitar el bug del proveedor Cryptix

148 Anexo A Coacutedigo Fuente

A2 Gestioacuten de certificados y roles desde la interfaz de Grid-Sphere

GridSphere gestiona la autorizacioacuten de los usuarios a los portlets a traveacutes de roles mien-tras que la integracioacuten de PERMIS en RETELAB permitioacute hacer lo propio sobre los recursosdel Grid En el caso del PERMIS los roles son gestionados a traveacutes de ACs por lo que pa-ra simplificar la administracioacuten se implementaron varias modificaciones sobre el coacutedigo deGridSphere para que eacuteste pudiese gestionar los roles de los usuarios viacutea ACs y asiacute ser admi-nistrados desde un punto uacutenico Una explicacioacuten maacutes detallada del desarrollo se presenta enla Seccioacuten 321

private void saveUserRole(FormEvent event User user)

logdebug(Entering saveUserRole())

PortletRequest req = eventgetPortletRequest()

Get selected role

PortletRole selectedRole = getSelectedUserRole(event)

reqsetAttribute(role selectedRole)

If super role was chosen

if (selectedRoleequals(PortletRoleSUPER))

logdebug(Granting super role)

Grant super role

thisaclManagerServicegrantSuperRole(user)

else

Revoke super role (in case they had it)

thisaclManagerServicerevokeSuperRole(user)

Create appropriate access request

Set groups = portalConfigServicegetPortalConfigSettings()getDefaultGroups

()

Iterator it = groupsiterator()

GroupRequest groupRequest

while (ithasNext())

PortletGroup group = (PortletGroup) itnext()

GroupEntry ge = aclManagerServicegetGroupEntry(user group)

if (ge = null)

groupRequest = thisaclManagerServiceeditGroupEntry(ge)

else

groupRequest = thisaclManagerServicecreateGroupEntry()

groupRequestsetUser(user)

groupRequestsetRole(selectedRole)

groupRequestsetGroup(group)

logdebug(Granting + selectedRole + role in gridsphere)

Submit changes

A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 149

thisaclManagerServicesaveGroupEntry(groupRequest)

Start Retelab Code

String path= reqgetRealPath()

logdebug(Save Role PATH +path)

String ldapBaseDN=

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

LdapConnector ldap_conector= new LdapConnector()

try

logdebug(Fichero de propiedades +path+FileseparatorChar+WEB-INF+File

separatorChar+permis_ldapproperties)

FileInputStream file_properties =new FileInputStream(path+FileseparatorChar

+WEB-INF+FileseparatorChar+permis_ldapproperties)

logdebug(Cargando Fichero de Propiedades)

cargamos las propiedades del LDAP y de los certificados de atributos de

ficheros de propiedades

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12)

int year=new Integer(retelab_propertiesgetProperty(validityperiodbefore

year))intValue()

int month=new Integer(retelab_propertiesgetProperty(validityperiodbefore

month))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiodbefore

day))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiodafteryear

))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiodafter

month))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiodafterday))

intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

port=new Integer(retelab_propertiesgetProperty(ldapport))intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

150 Anexo A Coacutedigo Fuente

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(selectedRolegetName())

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

Eliminamos el certificado anterior

ArrayList atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttribute))

int tipo_modificacion=10=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

Creamos el nuevo certificado

atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttributecertificate

))

tipo_modificacion=00=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no encontrado

+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

End Retelab Code

logdebug(Exiting saveUserRole())

Coacutedigo A2 Integracioacuten del sistema RBAC con GridSphere Ejemplo de alta de usuarios

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS

A continuacioacuten se muestra un ejemplo de coacutemo utilizar PERMIS para gestionar a traveacutesde los roles la autorizacioacuten de un usuario para ejecutar una tarea en un recurso del Gridconcreto

ltsecurityConfig xmlns=httpwwwglobusorggt

ltmethod name=createManagedJobgt

ltauth-methodgt

ltGSITransportgt

ltGSISecureMessagegt

ltGSISecureConversationgt

ltauth-methodgt

ltmethodgt

ltauthz value=permisAuthzissrggt4PermisPDP gridmapgt

ltreject-limited-proxy value=truegt

ltsecurityConfiggt

Coacutedigo A3 Modificacioacuten de la poliacutetica de autorizacioacuten del meacutetodo createManagedJob para integrar unsistema RBAC

A4 Integracioacuten de Shibboleth en el sistema

RETELAB cuenta con un sistema de autenticacioacuten SSO soportado por el software Shibbo-leth El acceso al laboratorio de usuarios externos y sin registrar trae consigo dificultades paragestionar su autorizacioacuten ya que RETELAB se basa en DCs y ACs para administrar el usode los recursos Fue necesario desarrollar procedimientos para generar certificados tempora-les para los usuarios de Shibboleth A continuacioacuten se muestran los meacutetodos implementadospara la creacioacuten de los DCs (Coacutedigo A4) y de los ACs (Coacutedigo A5) para los usuarios deShibboleth

private void createCertificate4Shibboleth(String nameString mailString password)

Variables Autoridad Certificadora

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

152 Anexo A Coacutedigo Fuente

String ca_dir=new String()

String ca_hash=new String()

variables MyProxy

String binDir_=new String()

String hostName_=new String()

int portNumber_=0

String dn_=new String()

String dir_=new String()

int expirationLeadTime_=0

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

try

FileInputStream file_properties =new FileInputStream(path+

WEB-INF+FileseparatorChar+permis_ldapproperties)

Cargando Fichero de Propiedades de la CA y MyProxy

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

simpleCA Properties

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

MyProxy Properties

binDir_=retelab_propertiesgetProperty(myProxyBin)

hostName_=retelab_propertiesgetProperty(myProxyHost)

portNumber_=IntegerparseInt(retelab_propertiesgetProperty(

myProxyPort))

dn_=retelab_propertiesgetProperty(myProxyDn)

dir_=retelab_propertiesgetProperty(myProxyDir)

expirationLeadTime_=IntegerparseInt(retelab_properties

getProperty(expirationLeadTime))

Opciones generales de la CA

CertificateGenerationOptions cert_options= new

CertificateGenerationOptions(bin_dirtmp_dirca_dir

ca_hash)

UserCertificateGenerationinitialize(cert_options)

String certDir=null

A4 Integracioacuten de Shibboleth en el sistema 153

certDir = UserCertificateGenerationgenerate(namemail

password)

logdebug(-----gtCertificado Generadolt-------)

Use CA to sign the certs

UserCertificateGenerationsignCerts(certDir password_ca)

logdebug(-----gtCertificado Firmadolt-------)

MyProxy options

MyProxyOptions myProxyOpts= new MyProxyOptions(binDir_

hostName_portNumber_dn_ dir_ expirationLeadTime_)

MyProxyManagerinitialize(myProxyOpts)

Cambiar orden de los providers JCE debido al bug de

Cryptix

changeProviders()

Upload creds to MyProxy

MyProxyManagerstoreRemoteCredential(namepasswordtmp_dir+

+name+)

logdebug(-----gtCertificado Subido a MyProxylt-------)

Delete local certificates

RegisterUtildeleteCerts(certDir)

logdebug(-----gtEliminados certificados localeslt-------)

file_properties=null

retelab_properties=null

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(MyProxyAccessException myExc)Systemoutprintln(Error

subiendo las credenciales a MyProxy+myExc)

catch(CertificateGenerationException certExp)Systemoutprintln(

Error creando las credenciales para el usuario+certExp)

catch(Exception e)Systemoutprintln(Excepcion no controlada +e

+ End)

Coacutedigo A4 Meacutetodo para crear y almacenar DCs para los usuarios de Shibboleth

private void createAttributeCertificate4Shibboleth(SportletUser userString role)

String ldapBaseDN=

String defaultUser=null

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

154 Anexo A Coacutedigo Fuente

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

String defaultGridsphereUser=

String pathGridMap=

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

String ca_dir=new String()

String ca_hash=new String()

LdapConnector ldap_conector= new LdapConnector()

generate certificate

try

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

Cargando el fichero de propiedades del LDAP y de los Certificados

de atributos

FileInputStream file_properties =new FileInputStream(path+WEB-INF+

FileseparatorChar+permis_ldapproperties)

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12

)

int year=new Integer(retelab_propertiesgetProperty(validityperiod

beforeyear))intValue()

int month=new Integer(retelab_propertiesgetProperty(validity

periodbeforemonth))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiod

beforeday))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiod

afteryear))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiod

aftermonth))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiod

afterday))intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

A4 Integracioacuten de Shibboleth en el sistema 155

port=new Integer(retelab_propertiesgetProperty(ldapport))

intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

defaultGridsphereUser=retelab_propertiesgetProperty(gridsphere

defaultuser)

defaultUser=retelab_propertiesgetProperty(globusdefaultuser)

pathGridMap=retelab_propertiesgetProperty(globusgridmappath)

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

file_properties=null

retelab_properties=null

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

LDAPAttributeSet attributeSet = new LDAPAttributeSet()

attributeSetadd( new LDAPAttribute(objectclass new String[]top

organizationalPersoninetOrgPersonpmiUser))

attributeSetadd( new LDAPAttribute(cnusergetUserName()))

attributeSetadd( new LDAPAttribute(givennamenew String[]user

getUserName()usergetFullName() ))

attributeSetadd( new LDAPAttribute(sn usergetFamilyName()))

attributeSetadd( new LDAPAttribute(mailusergetEmailAddress()))

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(role)

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

attributeSetadd(new LDAPAttribute( attributeCertificateAttribute

generatormakeCertificate()))

ldap_conectoraddEntry(attributeSet dn)

Creamos un certificado para el usuario y lo subimos a MyProxy

createCertificate4Shibboleth(usergetUserName()usergetEmailAddress

()(String)hsgetAttribute(shibbolethuserpassword))

anhadir usuario al GRIDMAP

String entry=new String()

156 Anexo A Coacutedigo Fuente

entry= convertDnToGridMapEntry(dndefaultUser)

if (entry=)

logdebug(Adding user to Grid-mapFile +entry)

addEntryToFile (pathGridMapentry)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

Coacutedigo A5 Meacutetodo para crear y almacenar ACs para los usuarios Shibboleth

A5 Despliegue del sistema de almacenamiento distribuido

El sistema de almacenamiento de datos de RETELAB se construyoacute utilizando como baseel RLS de GT4 y el MCS La integracioacuten de estos servicios con la interfaz Web no fue inme-diata y fue necesario realizar ciertas modificaciones Tal y como se describe en los detalle deimplementacioacuten de la Seccioacuten 33 la clase GenericserviceFetcher fue modificada para hacerimpliacutecita la clase necesaria para establecer la conexioacuten con el servicio de datos

private String getWSDL(final URL url) throws IOException

Start Retelab

URL url2 = new URL(url(javanetURLStreamHandler)new orgglobusnet

protocolhttpsHandler())

InputStreamReader input = new InputStreamReader(url2openConnection()

getInputStream())

End Retelab

InputStreamReader input = new InputStreamReader(urlopenStream())

StringBuffer buf = new StringBuffer()

char[] charArray = new char[1024]

int readBytes

A5 Despliegue del sistema de almacenamiento distribuido 157

while ((readBytes = inputread(charArray)) gt= 0)

bufappend(charArray 0 readBytes)

String wsdl = buftoString()

return wsdl

Coacutedigo A6 Modificacioacuten de la clase GenericserviceFetcher para permitir la conexioacuten con el servicio demetadatos

La integracioacuten del servicio RLS con la interfaz Web implicoacute cambiar ligeramente el modode autenticar los usuarios del portal En lugar de utilizar el proxy del usuario como un paraacute-metro de un meacutetodo de autenticacioacuten del servicio fue necesario descargarlo de la sesioacuten delportal y almacenarlo local y temporalmente para que el servicio pudiese laquoencontrarloraquo ya queno soportaba el paso por variable

private DataGridWorker conectarWorker( String username) throws orgietfjgss

GSSException

GSSCredential proxy

GlobusCredential globusCred = null

proxy=ProxyManagergetDefaultProxy(username)

if(proxy instanceof orgglobusgsigssapiGlobusGSSCredentialImpl)

globusCred = ((GlobusGSSCredentialImpl)proxy)

getGlobusCredential()

Ruta para almacenar el CD

String proxyfoldername=SystemgetProperty(userhome)+

SystemgetProperty(fileseparator)+propiedades

getProperty(PATHUSERPROXIES)

String proxyfilename=proxyfoldername+SystemgetProperty(

fileseparator)+activeproxy+username

FileOutputStream out =null

File file=null

try

boolean create=true

file=new File(proxyfoldername)

if (fileexists())

create=filemkdir()

158 Anexo A Coacutedigo Fuente

if (create)

file=new File(proxyfilename)

if (fileexists())

create=filecreateNewFile()

if(create)

out = new FileOutputStream(file)

Since Java does not provide an API for setting the permissions of a file the

JGlobus module will attempt to execute the binchmod program

in the background to set the permissions of the given file If that program cannot

be executed for any reason or fails to execute correctly

a proxy file might end up with incorrect file permissions (depending on umask

setting)

Usually a warning will be displayed if that occurs (especially on Windows since bin

chmod is not supported on that platform)

if (orgglobusutilUtilsetFilePermissions

(proxyfilename 600))

Systemerrprintln(Por favor

compruebe que los permisos de

su archivo de proxy son de

solo lectura para el

propietario)

globusCredsave(out)

outclose()

catch(IOException io)ioprintStackTrace()

finally

out=null

file=null

GlobusGSSCredentialImpl gssci = new GlobusGSSCredentialImpl(

globusCredGSSCredentialINITIATE_AND_ACCEPT)

GlobusCredentialsetDefaultCredential(gsscigetGlobusCredential())

Creamos el DataGridWorker Ya dispone todos los datos necesarios

para autenticar al usuario

return new DataGridWorker(propiedadesgetProperty(METADATACATALOG

GRIDSERVICE)username)

Coacutedigo A7 Procedimiento para autenticar a un usuario en el servicio RLS

A5 Despliegue del sistema de almacenamiento distribuido 159

Listado de acroacutenimos

AATSR Radioacutemetro Avanzado de Exploracioacuten Longitudinal 81

AC Certificado de Atributos 39ndash41 43 44 56 124 148 151 156

AI Inteligencia Artificial 13

AIS Sistema Automaacutetico de Identificacioacuten 131

ANN Red Neuronal Artificial 75 98ndash100 103 107 110 111 114 126 131

API Application Programming Interface 24 26ndash28 55 116 128

ASAR Radar de Apertura Sinteacutetica Avanzado 82ndash84

AZTI Centro Tecnoloacutegico del Mar y los Alimentos del Paiacutes Vasco 11

CA Autoridad Certificadora 35 39

CART Aacuterboles de Clasificacioacuten y Regresioacuten 105

CERN Organizacioacuten Europea para la Investigacioacuten Nuclear 28

CESGA Centro de Supercomputacioacuten de Galicia 11 33 34 54 59 125

CLI Interfaz de Liacutenea de Comandos 8 21 55

CoG Java Commodity Grid Kit 24 27

DB Base de Datos 3 5 7 44 46ndash49 52 53 57 75 76 80 85 86 89 91 97 112 113118 119 124 125

162 Listado de acroacutenimos

DC Certificado Digital 29 35ndash44 49 56 124 151 153

DORIS Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite 81

DRMAA Distributed Resource Management Application 55 56

EMSA Agencia Europea de Seguridad Mariacutetima 79 85

ESA Agencia Espacial Europea 65 80 83 85

ESG Earth System Grid 29

ESTF Esquema de Separacioacuten de Traacutefico de Fisterra 77ndash79 85ndash87 89 131

GMES Monitorizacioacuten Global para el Medioambiente y la Seguridad 81

GOMOS Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Estrellas 81

GPDK Grid Portal Development Kit 23

GPIR GridPort Information Repository 27

GSI Security Grid Infrastructure 35ndash37

GT Globus Toolkit 18ndash20 23 24 28 32 34 35 37 41 45ndash49 156

GWSDL Grid Web Service Definition Language 19

HPC Computacioacuten de Alto Rendimiento 11

HTC Computacioacuten de Altas Prestaciones 6 11

IA Aacutengulo de Incidencia 68 69 73 83 84 89 90 92 93 95 125

IaaS Infraestructura como Servicio 128 130

ICCM Instituto Canario de Ciencias del Mar 11 60

IDV Integrated Data Viewer 53 54 57 61 125

IMO Organizacioacuten Internacional Mariacutetima 131

Listado de acroacutenimos 163

JAR ARchivo Java 40 47

JavaWS Java Web Start 30 53

JCE Extensioacuten Criptograacutefica de Java 41 147

JNLP Java Networking Launching Protocol 53

JRE Entorno de Ejecucioacuten de Java 53

JSDL Job Submission Description Language 55 130

JSP Java Server Pages 23 24 28

LAS Live Access Server 52 53

LDAP Lightweight Directory Access Protocol 39ndash41

LFN Nombre Loacutegico de Fichero 45 46 49

LHC Large Hadron Collider 3 28

LIFO Last In First Out 147

LRC Local Replica Catalog 46

LRR Retrorreflector Laacuteser 82

MAMS Meta Access Management System 43 44

MCS Metadata Catalog System 46 48 156

MEC Ministerio de Educacioacuten y Ciencia 10

MERIS Espectroacutemetro de Imaacutegenes de Resolucioacuten Media 81

MIPAS Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva 82

MLP Perceptroacuten Multicapa 100 101 103 104 113ndash115 118

MPI Message Passing Interface 59

MWR Radioacutemetro de Microondas 81 82

164 Listado de acroacutenimos

NetCDF Network Common Data Form 51 54 59

OGCE Open Grid Computing Environments 27 28

OGSA Open Grid Service Architecture 19 20 46

OGSI Open Grid Services Infrastructure 19

OpenMP Open Multiprocessing 59 116

PaaS Plataforma como Servicio 129 130

PCA Anaacutelisis de Componentes Principales 95 126

PDP Policy Decision Point 41 42

PFN Nombre Fiacutesico de Fichero 45 46

PKI Public Key Infrastructure 9 35

PP Produccioacuten Primaria 2 51 60

PURSe Portal-based User Registration Service 29 30 38ndash40 124

RA-2 Altiacutemetro de Radar 81 82

RBAC Control de Acceso Basado en Roles 9 11 37 39 41 124 150 151

RETEMAR Red Espantildeola de Teledeteccioacuten Marina 8 31

RLI Replica Location Index 46

RLS Replica Location Service 45 49 156ndash158

ROI Regioacuten de Intereacutes 73

ROMS Regional Ocean Model System 58 59

SaaS Sofware como Servicio 129

SAR Radar de Apertura Sinteacutetica 12 50 61 68ndash73 77 79 82 84 86 88 89 91 93 109ndash111 113 114 117 118 125 126 131

Listado de acroacutenimos 165

SASEMAR Agencia espantildeola de Salvamento y Seguridad Mariacutetima 79 80 85 114 131

SCIAMACHY Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes para CartografiacuteaAtmosfeacuterica 82

SLAR Radar Lateral Aerotransportado 66

SSO Single-Sign On 43 44 124 151

SVM Maacutequinas de Soporte Vectorial 132

UDC Universidad de la Coruntildea 12

UNICORE Uniform Interface to Computing Resources 18 23

USC Universidad de Santiago de Compostela 11 12 33

VGPM Vertically Generalised Production Model 60

VO Organizacioacuten Virtual 3ndash5 7 17 20 37

WSDL Web Services Description Language 19 48

WSM Wide Swath Mode 76 82 84ndash86 130

WSRF Web Service Resource Framework 19 20

Iacutendice alfabeacutetico

Aacuterbol de decisioacuten 105ndash108 113 114 119126 131

Nodo decisioacuten 105Nodo hoja 105ndash108Poda 107 108

ASAR 82ndash84Autoridad certificadora 35 39

Caracterizacioacuten 12 71 73 94 126Certificado de atributos 39ndash41 43 44 56

124 148 151 156Certificado digital 29 35ndash40 42ndash44 49

56 124 151 153Clasificacioacuten 10 13 71 73ndash75 90 96

111 126Clasificadores probabiliacutesticos 75CMOD5 91 117 118 131CoG 24 27Computacioacuten Cloud 127ndash130Computacioacuten distribuida 1ndash3 17 127 128Contenedor de portlets 24

EMSA 79 85Envisat 68 69 75 76 80ndash86 127 130ESA 65 80 83 85

ESG 29Espectro electromagneacutetico 82 83ESTF 77ndash79 85ndash87 89 131

Filtro de aacuterea 94 110Filtro de mediana 88 89 110Filtro de ruido 87 88 110Filtro de viento 94 110

Genius Grid Portal 28Globus Toolkit 8 18ndash20 22 23 28 30

32 45ndash49 156GPDK 23Grid 3ndash6 9 11 17ndash21 23 24 28ndash30 32

35 36 42 44ndash46 52 54 56 57110 124 130 148 151

Aplicaciones 6 19 27 28Computacioacuten 2 3 5ndash7 9 11 17ndash19

22 23 25 29 32 44 110 123127

Interfaz 21Middleware 8 22 23 124Portal 22ndash25 27ndash30 32 33 37 46

123Primera generacioacuten 22 29

168 Iacutendice alfabeacutetico

Segunda generacioacuten 24Servicios 19 20 25 27 28 41 42Sistema 4ndash6 8 11 19ndash23 27 28

30 33 35 41 54 55 60 123Tecnologiacutea 4 5 17ndash19 28

GridFTP 47GridPort 23 27GridPortlets 27 28GridSphere 25ndash28 30 32 40 41 43 44

124 148 150GridWay 11 55 56 125 130GSI 35ndash37GWSDL 19

I-WAY 17 18IDV 53 54 57 61 125ISO 19115 46 49 124

JCE 41 147

LAS 52 53Legion 18Look-alike 70 71 74ndash76 85 88 90 94

96 117ndash119LRC 46

Maacutescara de tierra 87 88 110 118MCS 46 48 156Metadatos 11 44 46 47 49 50 56 109

124Metaplanificador 11 55 56 124 130MyProxy 29 36 37 39 49

Noise floor veacutease Ruido de fondo

OGCE 27 28

OGSA 19 20 46OGSI 19Organizacioacuten virtual 3ndash5 7 17 20 21 37

P-Grade 30PCA 95 126PERMIS 40ndash42 124 148 151Polarizacioacuten 83ndash85Portlet 13 22 24ndash27 32 38 41ndash43 47

49ndash51 53 55ndash57 59 60 111112 124 148

Portlet Grid 25ndash27Prestige 78 79PURSe 29 38ndash40 124

Radar 65 66 68Radarsat 75 130RBAC 9 11 37 39 41 124 150 151Red neuronal artificial 75 98 99 103 107

110 111 114 119 126 131Backpropagation 99ndash101 103Perceptroacuten multicapa 100 103 104

113 114Resolucioacuten espacial 66 67 130RETELAB 10ndash13 26 27 30 31 33 34

36 38 39 41ndash44 46 49ndash58 6061 80 110 111 124 125 127129 130 148 151 156

Data Grid 44 47 49 50 56ndash58 61112 124

Monitor de tareas 55 112 125RLI 46RLS 45 49 156ndash158Ruido de fondo 83 84 117

Iacutendice alfabeacutetico 169

SAR 12 50 61 68ndash73 77 79 82 84 8688 89 91 93 109ndash111 113 114117 118 125 131

Segmentacioacuten 10 12 71ndash73 75 88 9193 107 110 117 125 126

Sentinazo 12 13 65 71ndash76 78 85 8690 91 94ndash96 99 110 111 114ndash119 126 131

SENTINAZOS 58 60 82 106 110ndash112125 130

Sentinel 80 81 127 131Servicios Web 19Shibboleth 43 44 124 151 153 156SLAR 66SSO 43 44 124 151

Teledeteccioacuten 2 11 31 44

Umbral adaptativo 10 73 89 92 93 110117 125

Umbral simple 73UNICORE 18 23

Vector de caracteriacutesticas 10 73 74 94ndash96 118 126

Caracteriacutesticas de forma 73 94 95Caracteriacutesticas fiacutesicas 73 95Informacioacuten contextual 74 95Texturas 74

Vertidos de hidrocarburo 10 12 60 6265 66 69 71 78 79 82 84 8587ndash89 110 116 123 125 130131

WebSphere 25 26

WSDL 19 48WSM 76 82 84ndash86 130

  • Portada
  • Iacutendice general
  • Iacutendice de figuras
  • Iacutendice de tablas
  • Introduccioacuten
    • Computacioacuten Grid
      • Aplicaciones Grid
        • Motivacioacuten
        • Objetivos
          • Objetivos concretos
            • Estructura de la memoria
              • Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica
                • Evolucioacuten de la Computacioacuten Grid
                  • Estandarizacioacuten de las tecnologiacuteas Grid
                  • Arquitectura de un sistema Grid
                  • Interfaces Grid
                    • Portales Grid primera generacioacuten
                    • Portales Grid segunda generacioacuten
                    • Portales Grid casos de estudio
                        • Proyecto RETELAB
                          • Descripcioacuten del proyecto
                            • Arquitectura general del sistema
                              • Registro y acceso de los usuarios
                                • Autenticacioacuten y autorizacioacuten
                                  • Sistema de almacenamiento distribuido
                                    • Almacenamiento de datos
                                      • Visualizacioacuten de los datos
                                        • Live Access Server
                                        • Integrated Data Viewer
                                          • Gestioacuten y monitorizacioacuten de trabajos
                                            • Integracioacuten con el sistema de almacenamiento distribuido
                                              • Validacioacuten del laboratorio virtual
                                                • ROMS
                                                • Caacutelculo del modelo de produccioacuten primaria
                                                • sentinazos
                                                  • Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacutetica de vertidos de hidrocarburos
                                                    • Estado del arte
                                                    • Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de SAR
                                                      • Descripcioacuten del proyecto
                                                      • Fuentes de datos
                                                        • Sateacutelite envisat
                                                        • Coleccioacuten de datos
                                                          • Preprocesado
                                                            • Calibrado y proyeccioacuten cartograacutefica
                                                            • Maacutescara de tierra
                                                            • Filtro de ruido
                                                              • Segmentacioacuten
                                                                • Establecimiento del umbral adaptativo
                                                                • Aplicacioacuten del umbral adaptativo
                                                                • Filtro de vientos
                                                                • Filtro de aacuterea
                                                                  • Extraccioacuten de caracteriacutesticas
                                                                  • Clasificacioacuten
                                                                    • Redes Neuronales Artificiales
                                                                    • Aacuterboles de decisioacuten
                                                                      • Validacioacuten del sistema de deteccioacuten de vertidos
                                                                        • Desarrollo de un software de escritorio
                                                                        • Integracioacuten en retelab
                                                                            • Resultados
                                                                              • Eficacia
                                                                              • Tiempo de procesamiento
                                                                                • Discusioacuten
                                                                                  • Epiacutelogo
                                                                                    • Resultados y conclusiones
                                                                                    • Trabajo futuro
                                                                                      • Trabajo futuro en el proyecto RETELAB
                                                                                        • Computacioacuten Cloud
                                                                                        • Integracioacuten de la computacioacuten Cloud en retelab
                                                                                          • Evolucioacuten de las aplicaciones desplegadas SENTINAZOS
                                                                                            • Fuentes de datos
                                                                                            • Mejora de los algoritmos
                                                                                                • Bibliografiacutea
                                                                                                • Anexos
                                                                                                • Coacutedigo Fuente
                                                                                                  • Procedimiento para el registro de una JCE
                                                                                                  • Gestioacuten de certificados y roles desde la interfaz de GridSphere
                                                                                                  • Gestioacuten de la ejecucioacuten de las tareas usando PERMIS
                                                                                                  • Integracioacuten de Shibboleth en el sistema
                                                                                                  • Despliegue del sistema de almacenamiento distribuido
                                                                                                    • Listado de acroacutenimos
                                                                                                    • Iacutendice alfabeacutetico
Page 7: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …

Iacutendice general

Iacutendice de figuras XV

Iacutendice de tablas XIX

1 Introduccioacuten 111 Computacioacuten Grid 3

111 Aplicaciones Grid 612 Motivacioacuten 713 Objetivos 8

131 Objetivos concretos 914 Estructura de la memoria 10

I Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica 15

2 Evolucioacuten de la Computacioacuten Grid 1721 Estandarizacioacuten de las tecnologiacuteas Grid 1722 Arquitectura de un sistema Grid 2023 Interfaces Grid 21

231 Portales Grid primera generacioacuten 22232 Portales Grid segunda generacioacuten 24233 Portales Grid casos de estudio 28

3 Proyecto RETELAB 3131 Descripcioacuten del proyecto 31

XII Iacutendice general

311 Arquitectura general del sistema 3232 Registro y acceso de los usuarios 34

321 Autenticacioacuten y autorizacioacuten 3733 Sistema de almacenamiento distribuido 44

331 Almacenamiento de datos 4934 Visualizacioacuten de los datos 52

341 Live Access Server 52342 Integrated Data Viewer 53

35 Gestioacuten y monitorizacioacuten de trabajos 54351 Integracioacuten con el sistema de almacenamiento distribuido 56

36 Validacioacuten del laboratorio virtual 58361 Regional Ocean Model System (ROMS) 58362 Caacutelculo del modelo de produccioacuten primaria 60363 SENTINAZOS 60

II Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacuteticade vertidos de hidrocarburos 63

4 Estado del arte 65

5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de Radar deApertura Sinteacutetica (SAR) 7751 Descripcioacuten del proyecto 7752 Fuentes de datos 80

521 Sateacutelite Envisat 80522 Coleccioacuten de datos 85

53 Preprocesado 86531 Calibrado y proyeccioacuten cartograacutefica 86532 Maacutescara de tierra 87533 Filtro de ruido 88

54 Segmentacioacuten 88541 Establecimiento del umbral adaptativo 89542 Aplicacioacuten del umbral adaptativo 93

Iacutendice general XIII

543 Filtro de vientos 94544 Filtro de aacuterea 94

55 Extraccioacuten de caracteriacutesticas 9456 Clasificacioacuten 96

561 Redes Neuronales Artificiales 98562 Aacuterboles de decisioacuten 105

57 Validacioacuten del sistema de deteccioacuten de vertidos 109571 Desarrollo de un software de escritorio 109572 Integracioacuten en RETELAB 110

6 Resultados 11361 Eficacia 11362 Tiempo de procesamiento 116

7 Discusioacuten 117

Epiacutelogo 123

8 Resultados y conclusiones 123

9 Trabajo futuro 12791 Trabajo futuro en el proyecto RETELAB 127

911 Computacioacuten Cloud 127912 Integracioacuten de la computacioacuten Cloud en RETELAB 129

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 130921 Fuentes de datos 130922 Mejora de los algoritmos 131

Bibliografiacutea 133

Anexos 145

A Coacutedigo Fuente 147A1 Procedimiento para el registro de una Extensioacuten Criptograacutefica de Java (JCE) 147A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 148

XIV Iacutendice general

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151A4 Integracioacuten de Shibboleth en el sistema 151A5 Despliegue del sistema de almacenamiento distribuido 156

Listado de acroacutenimos 161

Iacutendice alfabeacutetico 167

Iacutendice de figuras

11 Ejemplo de un sistema Grid 5

21 Evolucioacuten de las tecnologiacuteas Grid 1822 Arquitectura Grid basada en capas y construida sobre los principios del

modelo de laquoreloj de arenaraquo 2123 Ejemplo de un portal Web desarrollado a traveacutes de portlets 25

31 Arquitectura general del sistema RETELAB 3332 Recursos aportados por el Centro de Supercomputacioacuten de Galicia (CESGA) 3433 Arquitectura del sistema de registro y acceso de usuarios de RETELAB 3834 Esquema simplificado del registro y acceso de usuarios al sistema 3935 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles 4036 Esquema del control de acceso basado en roles de RETELAB 4237 Arquitectura del Data Grid desplegado en RETELAB 4538 Secuencia resumida de acciones para buscar y acceder a los datos almacenados 4739 Diagrama de clases simplificado en el que se presentan las clases utilizadas

para desarrollar las operaciones sobre la Base de Datos (DB) virtual 48310 Portlet para el almacenamiento de datos locales en RETELAB 50311 Portlet para la integracioacuten de datos externos en el sistema 51312 Portlet para el almacenamiento de los resultados generados tras la ejecucioacuten

de un trabajo 52313 Integracioacuten del Live Access Server en RETELAB 53314 Integracioacuten del Integrated Data Viewer (IDV) en RETELAB 54

XVI Iacutendice de figuras

315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten detrabajos en RETELAB 55

316 Integracioacuten del espacio de almacenamiento privado del usuario con el portletde enviacuteo de trabajos 56

317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos 57318 Portlet para la monitorizacioacuten de los trabajos de usuario 58319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten

empleando ROMS 59320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data

Grid y el sistema de visualizacioacuten de IDV 61

41 Oriacutegenes de los vertidos de hidrocarburos 6642 Resolucioacuten espacial de un radar a bordo de un sateacutelite 6743 Antena virtual generada por SAR 6844 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007) 6945 Efecto del viento en la retrodispersioacuten de un pulso SAR 7046 Sistema automaacutetico para la deteccioacuten de sentinazos 7247 Analisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo

durante el antildeo 1999 74

51 Esquema de Separacioacuten de Traacutefico de Fisterra 7852 Imagen SAR del vertido provocado por el accidente del buque petrolero

Prestige (17112002) 7953 Bases de la Agencia espantildeola de Salvamento y Seguridad Mariacutetima

(SASEMAR) en Galicia y recursos asignados a la regioacuten 8054 Espectro electromagneacutetico 8355 Retrodispersioacuten media obtenida de una imagen Radar de Apertura Sinteacutetica

Avanzado (ASAR) Wide Swath Mode (WSM) para vientos de 4 ms 6 ms y10 ms 84

56 Representacioacuten de la densidad de cobertura de la Base de Datos 8557 Aacuterea de estudio y Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF) 8658 DB de imaacutegenes con sentinazos utilizada para el proyecto SENTINAZOS 8659 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten 87510 Maacutescara de tierra utilizada en SENTINAZOS 88

Iacutendice de figuras XVII

511 Ejemplo de uso del filtro de mediana 89512 Piacutexeles muestreados agrupados seguacuten su Aacutengulo de Incidencia (IA) 90513 Elementos de la muestra agrupados por la velocidad del viento 91514 Esquema de acciones realizadas para establecer el umbral adaptativo 92515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para

distintos valores de la velocidad del viento 93516 Componentes principales y porcentaje de varianza explicado 96517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores 97518 Elementos de una neurona artificial 99519 Estructura de una red neuronal Perceptroacuten Multicapa (MLP) 100520 Ejemplo simplificado de una red MLP 101521 Esquema de la neuronas empleadas en la Red Neuronal Artificial (ANN)

desarrollada 103522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP 104523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario 106524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el

proceso de entrenamiento 108525 Aacuterbol de decisioacuten binario podado 108526 Pantalla principal del software de escritorio 109527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de

los paraacutemetros por defecto y un clasificador ANN 111528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en

el laboratorio virtual 112

61 Composicioacuten de dos imaacutegenes SAR y resultados generados por los diferentesclasificadores 114

62 Detalle de los sentinazos detectados por la ANN 115

91 Arquitectura del Cloud relacionada con los servicios que proporciona 129

Iacutendice de tablas

51 Nuacutemero de embarcaciones identificadas en el ESTF 7852 Paraacutemetros orbitales del sateacutelite Envisat 8153 Modos de operacioacuten del sensor ASAR a bordo del Envisat 8354 Coeficientes y puntos de corte para las funciones de umbral adaptativo 9355 Vector de caracteriacutesticas 9556 Componentes principales y porcentaje de varianza explicado 9657 Coeficientes de los componentes principales seleccionados 97

61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten ytest 113

71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia enla clasificacioacuten 118

CAPIacuteTULO 1

INTRODUCCIOacuteN

Las necesidades computacionales de la sociedad actual son cada vez mayores Determi-nadas aacutereas de investigacioacuten como la fiacutesica de altas energiacuteas las ciencias de la Tierra o lameteorologiacutea ven limitado su desarrollo por la necesidad de maacutes y mejores recursos compu-tacionales Aunque el desarrollo tecnoloacutegico es la primera barrera que se encuentran los in-vestigadores tambieacuten lo es el acceso a la propia tecnologiacutea ya que a menudo la tecnologiacuteamaacutes puntera es econoacutemicamente inaccesible o su uso requiere de extensos conocimientos quelimitan su generalizacioacuten

La computacioacuten distribuida surge con el objetivo de permitir la colaboracioacuten y comparti-cioacuten de recursos para reducir costes y maximizar la capacidad de almacenamiento y procesa-miento Su raacutepida evolucioacuten permitioacute a los investigadores resolver problemas complejos quehasta hace poco eran inasumibles y afrontar retos maacutes ambiciosos incluso cuando los mediosde los que disponiacutean eran escasos

La observacioacuten remota de la Tierra es un claro ejemplo en el que las necesidades compu-tacionales avanzan a un ritmo difiacutecil de igualar por el desarrollo tecnoloacutegico Desde que en1957 el Sputnik Sovieacutetico fuese el primer sateacutelite en ser enviado al espacio han sido muchaslas misiones tanto civiles como militares que se han llevado a cabo para observar remotamentela Tierra Antildeo tras antildeo el nuacutemero de misiones espaciales asiacute como el nuacutemero de proyectosde investigacioacuten relacionados con eacutestas se ha ido incrementando y al menos en un futuroa corto y medio plazo la poliacutetica a este respecto seraacute continuista ya que seguacuten un informede Euroconsult Satellite-Based Earth Observation Market Prospects to 2017 se espera quecerca de 200 nuevos sateacutelites esteacuten operativos en el 2017

2 Capiacutetulo 1 Introduccioacuten

Gracias a los avances tecnoloacutegicos las misiones se han vuelto cada vez maacutes sofisticadasy cuentan con instrumentacioacuten maacutes especializada generando un gran volumen de informa-cioacuten sobre nuestro planeta que es necesario almacenar y procesar La observacioacuten remota dela Tierra o teledeteccioacuten se ha convertido en una teacutecnica imprescindible en el seguimiento yestudio de determinados procesos ambientales criacuteticos para nuestro planeta como por ejem-plo el cambio climaacutetico el deshielo o el deterioro de la capa de ozono Del mismo modo lateledeteccioacuten tambieacuten es esencial en el seguimiento de desastres tanto naturales como provo-cados por el hombre como son los incendios los terremotos o los vertidos contaminantes Enparticular la teledeteccioacuten es una herramienta fundamental en el estudio de los oceacuteanos y susfenoacutemenos asociados

Los oceacuteanos cubren cerca de las tres cuartas partes del planeta y albergan al 97 de lasespecies pero a pesar de estas cifras a menudo no somos conscientes de su importancia einfluencia por ejemplo son el pulmoacuten del planeta ya que maacutes de la mitad de la captura mun-dial de CO2 y de la produccioacuten de oxiacutegeno se realizan a traveacutes del mecanismo conocido comoProduccioacuten Primaria (PP) [56] las actividades relacionadas con el mar sustentan al 10-12de la poblacioacuten mundial [42] y nuestra dependencia energeacutetica hacia ellos es incuestionablepuesto que aproximadamente la mitad de la produccioacuten mundial de gas natural y el 30 dela de petroacuteleo se extrae de los yacimientos presentes en el lecho marino [11]

El estudio de los oceacuteanos es una tarea interdisciplinar en el que grupos tan heterogeacuteneoscomo los de los bioacutelogos fiacutesicos meteoroacutelogos oceanoacutegrafos o informaacuteticos deben traba-jar juntos para abordar problemas de naturaleza compleja y obtener los mejores resultadosA menudo dichos grupos se encuentran dispersos y pertenecen a centros diferentes lo quesupone un problema tanto organizativo como de seguridad y en muchos casos este tipo dedificultades puede obstaculizar la buena marcha de los proyectos o directamente imposibi-litarlos Ademaacutes la gran cantidad de datos obtenidos a traveacutes de la observacioacuten remota ynecesarios para la investigacioacuten genera grandes dificultades en cuanto a su almacenamientoprocesamiento y distribucioacuten Los centros necesitan disponer tanto de recursos de compu-tacioacuten de altas prestaciones como de almacenamiento masivo acordes a las necesidades delos proyectos pero esto no siempre es posible

La computacioacuten Grid paradigma de la computacioacuten distribuida se posiciona como la tec-nologiacutea maacutes adecuada para cubrir las demandas tecnoloacutegicas de la investigacioacuten oceanograacuteficay proporcionar un acceso aacutegil y eficiente a los datos almacenados La computacioacuten Grid per-mite desplegar entornos dedicados a compartir recursos entre diferentes centros a traveacutes de la

11 Computacioacuten Grid 3

red y ademaacutes permite administrar grupos virtuales de usuarios que se forman en el marco deun proyecto para maximizar sus posibilidades en torno a objetivos comunes

11 Computacioacuten Grid

Tradicionalmente los grupos y las organizaciones para la investigacioacuten han trabajado deforma local con sus propios recursos (computadores sensores bases de datos etc) y a me-nudo la heterogeneidad de los recursos asiacute como la ausencia en el uso de estaacutendares hadificultado tanto la colaboracioacuten con otros centros como la comparticioacuten de la informacioacutenEste modelo de trabajo queda obsoleto desde el momento en que se afrontan problemas inter-disciplinares interorganizativos y que demandan cantidades ingentes de recursos que ninguacutencentro puede asumir por siacute solo Un ejemplo de ello es el proyecto Large Hadron Collider

(LHC) que genera alrededor de 15 Petabytes de datos cada antildeo [99] los cuales deben ser al-macenados procesados y distribuidos Proyectos de tal envergadura que normalmente englo-ban a multitud de grupos hacen necesario modificar la forma de trabajar y buscar alternativasque permitan compartir recursos para adaptarse a las necesidades de los proyectos

La colaboracioacuten entre grupos interdisciplinares y dispersos geograacuteficamente es una piezaclave en este nuevo modelo de trabajo ya que deja obsoleto el concepto tradicional de orga-nizacioacuten y da paso a las llamadas Organizaciones Virtuales (VOs) donde diferentes grupos seunen durante un periacuteodo de tiempo determinado y comparten sus recursos para acometer unasactividades concretas La comparticioacuten de recursos en VOs debe entenderse en el sentido maacutesgeneral es decir acceso remoto a software Bases de Datos (DBs) sensores computadorasy cualquier otro tipo de medio tanto fiacutesico como loacutegico por lo que se hacen indispensablesmeacutetodos adaptados para su gestioacuten

Durante la deacutecada de los 90 aparece una nueva aproximacioacuten denominada computacioacutenGrid que nace con los objetivos de solucionar las demandas computacionales de la sociedad yde facilitar la adaptacioacuten a los nuevos conceptos organizativos La computacioacuten Grid suponeun nuevo paradigma de computacioacuten distribuida que permite agregar y compartir recursosheterogeacuteneos y geograacuteficamente distribuidos entre diferentes organizaciones

En uno de los primeros esfuerzos por concretar el teacutermino Grid Ian Foster y Carl Kessel-man [46] lo definen como

laquoUna infraestructura hardware y software que proporciona un acceso fiable consistente

generalizado y de bajo coste a capacidades computacionales de alta calidadraquo

4 Capiacutetulo 1 Introduccioacuten

Profundizando en la descripcioacuten tenemos que

ndash Por infraestructura Foster y Kesselman se refieren a un conjunto de recursos hetero-geacuteneos que incluye datos sensores ciclos de computacioacuten etc asiacute como al hardwarenecesario para la interconexioacuten de los recursos y el software utilizado para su monito-rizacioacuten y gestioacuten

ndash El acceso es considerado fiable si proporciona a los usuarios unos niveles de rendimien-to altos predecibles y estables

ndash Por acceso consistente se entiende que se proporcionan servicios a traveacutes de interfa-ces estaacutendar y utilizando paraacutemetros normalizados El uso de estaacutendares beneficia a lageneralizacioacuten del paradigma y al desarrollo de aplicaciones de usuario

ndash Se consideraraacute que el acceso es generalizado si el usuario cuenta con un nuacutecleo deservicios geneacutericos sea cual sea el sistema Grid al que se conecta

ndash El acceso a bajo coste es determinante para su aceptacioacuten ya que su uso deberaacute ser maacutesrentable que el de sus alternativas

A medida que la tecnologiacutea Grid fue evolucionando la definicioacuten anterior fue manifes-taacutendose insuficiente e incluso se dudoacute de la necesidad de este nuevo paradigma por elloFoster et aacutel [52] redefinen el concepto y lo asocian a un problema sin resolver

laquoEl problema real que subyace tras el concepto Grid es la coordinacioacuten de organizaciones

virtuales dinaacutemicas y multiinstitucionales en la resolucioacuten de problemas y la comparticioacuten de

recursosraquo

En la definicioacuten anterior se entiende por una VO un conjunto de personas yo institucionesque se agrupan a traveacutes de una poliacutetica de comparticioacuten de recursos Las VOs pueden variaren gran medida en cuanto a su propoacutesito aacutembito tamantildeo duracioacuten y localizacioacuten

Los autores justifican la necesidad de este nuevo paradigma por no existir hasta ese mo-mento una tecnologiacutea de computacioacuten distribuida que permitiese gestionar recursos compar-tidos basaacutendose en relaciones tan flexibles como las de las VOs con sofisticados controlesde acceso que incluyesen una gestioacuten desde el punto de vista maacutes especiacutefico al maacutes generalcon delegacioacuten de credenciales o que integrase el uso de poliacuteticas tanto locales como globalesy que ademaacutes ofreciera un alto rendimiento calidad de servicio planificacioacuten de las tareasmuacuteltiple asignacioacuten de recursos monitorizacioacuten y bajo coste

11 Computacioacuten Grid 5

La Figura 11 muestra un ejemplo de un sistema Grid y del uso de los recursos compartidospor parte de dos VOs En este ejemplo tres centros ponen a disposicioacuten de la comunidadparte de sus recursos pero gestionados por una poliacutetica de acceso que filtra por la VO a laque pertenecen los usuarios Cada centro estaacute etiquetado con los recursos que comparte y lapoliacutetica de seguridad que se les aplica

Centro B

Centro C

Centro AParticipantes en la VO-Ciclos pueden utilizar potencia computacional siempre y cuando no esteacute en uso por el centro propietario

Participantes en la VO-Aeronaacuteutica pueden acceder a la BD1 y BD2

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW1

Participantes en la VO-Aeronaacuteutica pueden ejecutar el SW2 y SW3

Figura 11 Ejemplo baacutesico de un sistema Grid formado por 3 centros que comparten parte de sus recursos con dosVOs (VO-Aeronaacuteutica y VO-Ciclos) Los participantes en la VO-Ciclos aprovechan la potenciacomputacional (ciclos) de los recursos compartidos por los centros lsquoArsquo y lsquoCrsquo Los participantes de laVO-Aeronaacuteutica pueden ejecutar aplicaciones que han sido compartidas por los centros lsquoArsquo y lsquoBrsquo yacceder a las DBs del centro lsquoBrsquo Elaboracioacuten propia a partir de [52]

A medida que las tecnologiacuteas Grid se fueron popularizando el teacutermino Grid se empezoacute aexplotar comercialmente diluyeacutendose su significado y utilizaacutendose como eslogan para captarnuevos clientes Las empresas incluyeron el teacutermino en muchos productos que difiacutecilmentepodiacutean encajar dentro de su definicioacuten En un intento de delimitar el concepto Ian Foster [49]publicoacute una lista con 3 puntos baacutesicos que recogen la esencia del concepto y que en una pu-blicacioacuten posterior junto con Carl Kesselman [8] agrupoacute para proponer una nueva definicioacuten

6 Capiacutetulo 1 Introduccioacuten

laquoUn Grid es un sistema que coordina recursos distribuidos a traveacutes de protocolos e inter-

faces abiertas estaacutendar y de propoacutesito general con el objetivo de proporcionar una calidad

de servicio no trivialraquo

Los elementos clave de la definicioacuten anterior y que formaban la lista de tres puntos baacutesicosse detallan a continuacioacuten

ndash Integracioacuten y gestioacuten de recursos heterogeacuteneos y distribuidos

ndash Uso de protocolos e interfaces estaacutendar abiertos y de propoacutesito general Un sistemaGrid gestiona un entorno formado por recursos heterogeacuteneos por lo que la implemen-tacioacuten de protocolos estaacutendar y libres permitiraacute que cualquier producto o aplicacioacutentanto open-source como comercial pueda interoperar con el resto de componentes delsistema

ndash Garantiacutea de calidad de servicio en cuanto a tiempo de respuesta disponibilidad seguri-dad muacuteltiple asignacioacuten de recursos etc

111 Aplicaciones Grid

En general la computacioacuten Grid se adapta a cualquier aplicacioacuten que por su complejidadno pueda ejecutarse de forma local y que potencialmente posea un alto grado de paraleli-zacioacuten Foster y Kesselman [46] identifican 5 tipos de aplicaciones que pueden obtener elmaacuteximo rendimiento de la computacioacuten Grid pero esperan la incorporacioacuten de otros tipos amedida que la computacioacuten Grid evolucione

ndash Computacioacuten distribuida aplicaciones con problemas de alta complejidad que utilizanla computacioacuten Grid para incorporar potentes recursos computacionales

ndash Computacioacuten de Altas Prestaciones (HTC) se trata de aplicaciones que presentan pro-blemas que requieren la ejecucioacuten de tareas secuenciales con baja interdependencia

ndash Computacioacuten bajo demanda se trata de aplicaciones que utilizariacutean las capacidades dela computacioacuten Grid para satisfacer necesidades puntuales de recursos Son aplicacio-nes dirigidas por una poliacutetica de costes y no de rendimiento

ndash Computacioacuten intensiva de datos este tipo de aplicaciones se centran en sintetizar nuevainformacioacuten a traveacutes del anaacutelisis de grandes cantidades de datos Los datos son divididos

12 Motivacioacuten 7

en segmentos que pueden ser procesados de forma independiente por los diferentesrecursos del sistema Posteriormente se deberaacuten unificar las salidas parciales en unresultado final

ndash Computacioacuten colaborativa aplicaciones centradas en permitir y mejorar las interaccio-nes entre los usuarios a menudo utilizando un espacio virtual comuacuten y compartiendorecursos computacionales

La computacioacuten Grid aporta una serie de beneficios claros para los centros de investiga-cioacuten que tambieacuten pueden trasladarse a la empresa privada [82] como por ejemplo

ndash Permite compartir recursos heterogeacuteneos a traveacutes de VOs (DBs ciclos de computacioacutensoftware etc)

ndash Provee un acceso transparente a recursos remotos

ndash Reduce el nuacutemero de servidores necesarios en las organizaciones

ndash Permite agregar recursos bajo demanda Ante una eventual emergencia su flexibilidadpermitiriacutea alquilar y agregar recursos externos por un tiempo limitado

ndash Optimiza el uso de recursos organizativos compartieacutendolos cuando esteacuten infrautiliza-dos

ndash Reduce el tiempo de ejecucioacuten de aplicaciones complejas

ndash Provee tolerancia a fallos

ndash Permite la virtualizacioacuten de centros de datos

ndash Permite balancear la carga entre los diferentes recursos

12 Motivacioacuten

Como se ha visto en los apartados anteriores el estudio de los oceacuteanos es de vital im-portancia y aglutina disciplinas con poca o ninguna relacioacuten En el pasado soacutelo los grandescentros de investigacioacuten podiacutean contar con equipos multidisciplinares y recursos locales sufi-cientes para afrontar cierto tipo de proyectos La computacioacuten Grid facilitoacute la colaboracioacuten yla comparticioacuten de recursos de altas prestaciones entre centros maacutes modestos

8 Capiacutetulo 1 Introduccioacuten

Desde el punto de vista de las tecnologiacuteas a menudo los usuarios finales son reacios a uti-lizar herramientas o sistemas software que a pesar de ser adecuados para su trabajo presentenuna interfaz de usuario complicada o simplemente diferente a lo que estaacuten acostumbrados

Los middleware Grid como por ejemplo Globus permiten desplegar sistema distribuidosGrid con relativa rapidez y facilidad pero muy limitados en cuanto a usabilidad y basados enuna Interfaz de Liacutenea de Comandos (CLI) poco intuitiva y amigable lo que puede llevar areducir su grado de aceptacioacuten

Seriacutea deseable disponer de un sistema Grid enfocado a la investigacioacuten oceanograacutefica quepermita compartir recursos y posibilite la colaboracioacuten entre diferentes grupos pero desarro-llado desde la sencillez y la usabilidad ya que debido a la heterogeneidad de los grupos losconocimientos tecnoloacutegicos no seraacuten los mismos entre todos los integrantes

13 Objetivos

El presente trabajo nace con el propoacutesito de cubrir las necesidades de la Red Espantildeolade Teledeteccioacuten Marina (RETEMAR) en materia de computacioacuten de altas prestaciones Es-ta Red auna investigadores y tecnoacutelogos de diferentes centros con el objetivo de maximizarrecursos y conocimientos y dirigirlos hacia la consecucioacuten de objetivos comunes en el marcodel desarrollo de proyectos de investigacioacuten El desarrollo de un laboratorio virtual asiacute co-mo de aplicaciones y herramientas enfocadas a la investigacioacuten oceanograacutefica es clave en labuacutesqueda de la cooperacioacuten entre los diferentes socios de RETEMAR

La Red permite afrontar proyectos de mayor envergadura de la que podriacutea abarcarse demanera independiente De entre los objetivos comunes cabe destacar el intereacutes mutuo en lalucha contra la contaminacioacuten marina que desgraciadamente afecta diariamente a las costasespantildeolas

Este trabajo presenta dos objetivos principales

ndash El desarrollo y despliegue de un laboratorio virtual a traveacutes de un entorno de compu-tacioacuten distribuida que permita a los investigadores colaborar y realizar proyectos deforma conjunta

ndash Desarrollar e integrar en el laboratorio un sistema de deteccioacuten de vertidos de hidrocar-buros en el mar a partir del anaacutelisis de imaacutegenes de sateacutelite

13 Objetivos 9

El laboratorio deberaacute permitir a los investigadores acceder a recursos y datos distribuidosasiacute como a la potencia computacional y espacio de almacenamiento necesarios para desarro-llar sus trabajos El acceso deberaacute ser amigable y concebido para que los cientiacuteficos puedancentrar sus esfuerzos en la investigacioacuten y no en el aprendizaje yo utilizacioacuten de las herra-mientas

Dado que los recursos seraacuten interorganizativos la seguridad deberaacute ser una de las bases dela plataforma pero sin ser un impedimento para el trabajo por lo que las poliacuteticas de seguridaddeberiacutean ser transparentes para los usuarios finales

Para validar el uso de la plataforma se desarrollaraacute un sistema de deteccioacuten de vertidosde hidrocarburos que permita monitorizar la costa a traveacutes de imaacutegenes de sateacutelite y de formasemiautomaacutetica identificar y georreferenciar los vertidos

131 Objetivos concretos

Se propone el desarrollo de un entorno colaborativo y distribuido que constituya un labo-ratorio virtual para el desarrollo de proyectos de investigacioacuten interdisciplinares relacionadoscon la teledeteccioacuten oceanograacutefica Para ello se deberaacuten alcanzar los siguientes subobjetivos

1 Despliegue de un sistema de computacioacuten Grid que permita compartir recursos hetero-geacuteneos y distribuidos

2 Desarrollo de una interfaz de usuario amigable como medio de acceso al Grid quepermita a los usuarios finales centrarse en sus trabajos y no en las herramientas

3 Implementacioacuten de un sistema de acceso y registro de usuarios basado en Public Key

Infrastructure (PKI) y Control de Acceso Basado en Roles (RBAC)

4 Despliegue de un sistema de almacenamiento distribuido gestionado por metadatos

5 Implementacioacuten de un sistema de enviacuteo y ejecucioacuten de trabajos optimizado para selec-cionar de forma dinaacutemica y transparente al usuario el mejor recurso Grid para ejecutarla tarea

6 Desarrollo de un sistema de monitorizacioacuten que permita visualizar el estado de cadatarea enviada al Grid

7 Integracioacuten de herramientas de visualizacioacuten que permitan al usuario acceder a las co-lecciones de datos almacenadas en el laboratorio

10 Capiacutetulo 1 Introduccioacuten

8 Despliegue e integracioacuten de herramientas y aplicaciones del aacutembito oceanograacutefico parala validacioacuten del laboratorio

Con el doble propoacutesito de validar el laboratorio y de desarrollar un sistema de apoyo ala lucha contra la contaminacioacuten marina se implementaraacute una aplicacioacuten para la deteccioacutende vertidos de hidrocarburos en la superficie oceaacutenica mediante el anaacutelisis de imaacutegenes desateacutelite Los subobjetivos planteados son los siguientes

1 Desarrollo de un algoritmo de segmentacioacuten basado en una umbralizacioacuten adaptativaque permita separar los posibles vertidos del resto de la imagen

2 Integracioacuten de datos meteoroloacutegicos en el algoritmo de segmentacioacuten

3 Anaacutelisis y desarrollo de un vector de caracteriacutesticas que permita representar a los can-didatos segmentados

4 Implementacioacuten de diferentes algoritmos de clasificacioacuten que a partir de los candidatossegmentados separen los falsos positivos de los vertidos

5 Optimizacioacuten del tiempo de ejecucioacuten de los algoritmos para ser utilizados en tiempocasi real

6 Seleccioacuten del clasificador que proporcione los mejores resultados e integracioacuten del sis-tema de deteccioacuten en el laboratorio virtual

14 Estructura de la memoria

Despueacutes del actual capiacutetulo introductorio en el que se describen los oriacutegenes motivacioacuteny objetivos del trabajo la presente memoria se divide en dos grandes bloques que responden alos objetivos principales de la tesis doctoral Cada uno de estos objetivos se corresponde conun proyecto de investigacioacuten financiado por un organismo diferente pero ambos con una metacomuacuten

La primera parte detalla el desarrollo de RETELAB laquoLaboratorio Virtual para la Red Na-cional de Teledeteccioacuten Oceanograacuteficaraquo RETELAB fue desarrollado gracias a la financiacioacutendel Ministerio de Educacioacuten y Ciencia (MEC) con la referencia ESP2006-13778-C04 entrelos antildeos 2007 y 2010 Siguiendo el espiacuteritu del propio proyecto el desarrollo de RETELABaunoacute el trabajo de varias organizaciones distribuidas y heterogeacuteneas

14 Estructura de la memoria 11

ndash La Universidad de Santiago de Compostela (USC) y el Centro de Supercomputacioacutende Galicia (CESGA) se centraron en la implementacioacuten del laboratorio Por un ladola USC aportoacute su experiencia en teletedeteccioacuten anaacutelisis de imaacutegenes y desarrollo deportales y por otro lado el CESGA aportoacute su amplia su experiencia en el desarrollo deentornos de Computacioacuten de Alto Rendimiento (HPC) y Computacioacuten de Altas Presta-ciones (HTC)

ndash Los usuarios tiacutepicos del laboratorio estaban representados por el Instituto Canario deCiencias del Mar (ICCM) y el Centro Tecnoloacutegico del Mar y los Alimentos del PaiacutesVasco (AZTI) La experiencia de los investigadores de estos centros fue vital para rea-lizar el anaacutelisis de requisitos asiacute como para desarrollar las aplicaciones del laboratorio

El Capiacutetulo 2 estaacute dedicado a la descripcioacuten de diferentes aspectos de la computacioacuten Gridla Seccioacuten 21 muestra las diferentes fases en la evolucioacuten de la tecnologiacutea mientras que laSeccioacuten 22 describe la arquitectura tiacutepica de un sistema Grid para finalmente ocuparse en laSeccioacuten 23 del desarrollo de portales Web como medio de acceso a los sistemas

El Capiacutetulo 3 se centra en la implementacioacuten del laboratorio virtual de RETELAB y pro-fundiza en los diferentes moacutedulos incluidos en su desarrollo

ndash La Seccioacuten 32 describe la implementacioacuten del moacutedulo de acceso y gestioacuten de usuariosy coacutemo la integracioacuten de diferentes tecnologiacuteas permitioacute desplegar un sistema de accesousable y seguro basado en un control de acceso RBAC

ndash La Seccioacuten 33 profundiza en el despliegue y desarrollo del sistema de almacenamientodistribuido utilizado en RETELAB La integracioacuten con la interfaz Web asiacute como elempleo de metainformacioacuten para describir las colecciones de datos son dos de lospuntos fundamentales

ndash La integracioacuten de diferentes herramientas para la visualizacioacuten de las colecciones dedatos presentes en RETELAB es descrita en la Seccioacuten 34

ndash La ejecucioacuten de tareas en RETELAB asiacute como su monitorizacioacuten se aborda en laSeccioacuten 35 A pesar de que no se profundiza en los detalles de la implementacioacuten yaque esta tarea fue desarrollada principalmente por el CESGA este apartado introducecoacutemo se ha integrado y mejorado el metaplanificador GridWay para su utilizacioacuten desdeel laboratorio GridWay facilita a los usuarios el enviacuteo de tareas a un Grid seleccionandoautomaacuteticamente el mejor recurso disponible para su ejecucioacuten

12 Capiacutetulo 1 Introduccioacuten

ndash Por uacuteltimo la Seccioacuten 36 muestra diferentes aplicaciones integradas para validar ellaboratorio virtual e introduce el sistema desarrollado para detectar vertidos de hidro-carburos denominado SENTINAZOS y que centra la siguiente parte de la memoria

La segunda parte de la tesis doctoral describe en detalle el proyecto SENTINAZOS laquoAnaacute-lise e interpretacioacuten de imaxes de sateacutelite a partires de teacutecnicas de intelixencia artificialaplicacioacuten a contaminantes no medio marintildeoraquo El proyecto con referencia PGIDIT08SIN-001236PR fue financiado por la Conselleriacutea de Innovacioacuten e Industria de la Xunta de Galiciaentre los antildeos 2008 y 2010 e implicoacute en su desarrollo a la Universidad de la Coruntildea (UDC) yla USC los equipos de ambas instituciones abordaron el problema desde dos puntos de vistadiferentes pero complementarios

ndash La UDC centroacute su esfuerzos en el desarrollo de algoritmos para la deteccioacuten grandescantidades de vertidos ocasionados por cataacutestrofes

ndash La USC se implicoacute en el desarrollo de un sistema de deteccioacuten de pequentildeos vertidos(sentinazos) ocasionados generalmente por tareas de mantenimiento y en la integra-cioacuten de dicho sistema en RETELAB

Despueacutes de introducir en el Capiacutetulo 4 el problema de la contaminacioacuten oceaacutenica y elestado del arte de los sistemas de deteccioacuten de vertidos el Capiacutetulo 5 se centra en el desarrollodel sistema implementado La descripcioacuten detallada del problema a resolver (Seccioacuten 51) ylas fuentes de datos empleadas (Seccioacuten 52) son la antesala para entrar en el detalle de lasdiferentes fases y algoritmos involucrados en el anaacutelisis e interpretacioacuten de las imaacutegenes Radarde Apertura Sinteacutetica (SAR)

ndash Las diferentes acciones de preprocesado necesarias para preparar los datos SAR parasu posterior anaacutelisis son descritas en la Seccioacuten 53

ndash La segmentacioacuten de la imagen relacionando las condiciones meteoroloacutegicas con laintensidad de la sentildeal del sateacutelite se detalla en la Seccioacuten 54 Durante esta fase losposibles vertidos o candidatos son identificados y aislados

ndash La Seccioacuten 55 describe el proceso por el que cada candidato es descrito empleando unconjunto de caracteriacutesticas

14 Estructura de la memoria 13

ndash Cada candidato a traveacutes de teacutecnicas de Inteligencia Artificial (AI) es clasificado comofalso positivo o vertido seguacuten sus descriptores La implementacioacuten uso y comparacioacutende los diferentes clasificadores empleados es detallada en la Seccioacuten 56

ndash La Seccioacuten 57 describe la aplicacioacuten de escritorio desarrollada para validar el sistemaasiacute como su integracioacuten en RETELAB a traveacutes de un portlet

La parte reservada al desarrollo de SENTINAZOS finaliza con un anaacutelisis detallado (Ca-piacutetulo 6) y la discusioacuten (Capiacutetulo 7) de los resultados obtenidos

Los capiacutetulos finales de la tesis doctoral se reservan para mostrar los resultados y conclu-siones del trabajo (Capiacutetulo 8) y para perfilar las liacuteneas de investigacioacuten abiertas por la tesisdoctoral y que seriacutea interesante desarrollar a corto y medio plazo (Capiacutetulo 9)

Parte I

Laboratorio Virtual de TeledeteccioacutenOceanograacutefica

CAPIacuteTULO 2

EVOLUCIOacuteN DE LA COMPUTACIOacuteN GRID

21 Estandarizacioacuten de las tecnologiacuteas Grid

La computacioacuten Grid (veacutease el Capiacutetulo 1) es un paradigma de computacioacuten distribuidaque surge como respuesta a dos necesidades por un lado la de disponer de entornos espe-cializados en la resolucioacuten de problemas complejos con altas demandas computacionales ypor otro la de gestionar VOs que permitan la colaboracioacuten entre grupos interdisciplinares ydispersos geograacuteficamente

El camino hacia su estandarizacioacuten y globalizacioacuten (veacutease la Figura 21) se inicia a prin-cipios de la deacutecada de los 90 a partir de implementaciones ad hoc que resolviacutean problemasconcretos Las aplicaciones resultantes aprovechaban la potencia computacional procedentede unir diferentes recursos distribuidos

En esta primera etapa la meta de los desarrolladores era hacer que funcionasen las apli-caciones y explorar nuevas posibilidades tecnoloacutegicas La implementacioacuten se realizaba direc-tamente sobre los protocolos de Internet sin seguir ninguacuten tipo de estaacutendar y en general lassoluciones estaban muy limitadas en cuanto a seguridad escalabilidad robustez o interopera-bilidad

I-WAY [44] es considerado el primer Grid moderno que abrioacute la puerta al desarrollo y estu-dio de la computacioacuten Grid en profundidad [22] [9] Se presentoacute en la conferencia ACMIEEESupercomputing del antildeo 1995 (SC95) a traveacutes de una demostracioacuten en la que se conectaron17 centros de supercomputacioacuten por medio de 11 redes de alta velocidad Se creoacute un super-ordenador virtual sobre el que se probaron alrededor de 60 aplicaciones diferentes I-WAYexploroacute varios aspectos que ahora se consideran esenciales en un Grid como la seguridad o

18 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

1990 1995 2000 2005

SolucionesAd-Hoc

Globus Toolkit

Open GridServices Arch

Fun

cion

alid

ad

y e

stan

dari

zaci

oacuten

Gestioacuten de sistemas virtuales compartidos

Estaacutendar de factoImplementacioacuten uacutenica

Estaacutendares de iureMuacuteltiples implementacionesEstaacutendares de internet

Web services etc

2010

Figura 21 Evolucioacuten de las tecnologiacuteas Grid Imagen adaptada de [50]

el enviacuteo y la gestioacuten de trabajos Su eacutexito demostroacute las posibilidades de la computacioacuten Gridy llevoacute a aumentar considerablemente los esfuerzos en el desarrollo de proyectos concebidospara compartir recursos de computacioacuten distribuidos

I-WAY puede considerarse el germen del proyecto Globus [45] que surge con el objetivode investigar y desarrollar tecnologiacuteas Grid fundamentales y marca el comienzo de la segundaetapa en la evolucioacuten hacia la estandarizacioacuten El proyecto liderado por Ian Foster (codesa-rrollador de I-WAY y fundador del concepto de computacioacuten Grid) tiene uno de sus pilaresen la implementacioacuten del Globus Toolkit (GT) [47] El GT es un conjunto de componentessoftware disentildeado para desplegar infraestructuras Grid y proporcionar servicios que gestionenaspectos tales como la seguridad el enviacuteo de trabajos o la administracioacuten de los recursos

El GT se situacutea en la capa de middleware es decir entre la capa de aplicaciones de usuarioy la de recursos Esta capa proporciona herramientas que permiten que los recursos participende forma coordinada en un entorno unificado y aseguren el acceso transparente a los usuarios

Ademaacutes del GT surgieron otros proyectos para el desarrollo de infraestructuras Grid comoLegion [57] o Uniform Interface to Computing Resources (UNICORE) [94] pero desde suprimera versioacuten en 1998 el GT se posicionoacute como el middleware dominante y en 2002 susegunda versioacuten (GT2) se establecioacute como el estaacutendar de facto en el desarrollo de aplicacionesGrid

21 Estandarizacioacuten de las tecnologiacuteas Grid 19

El GT2 fue pionero en el desarrollo de sistemas Grid interoperables [50] pero aunquealgunos de sus componentes fueron desarrollados formalmente en general la implementacioacutendel GT2 careciacutea de directrices y no fue sometida a una revisioacuten puacuteblica

A medida que la computacioacuten Grid se estableciacutea y se popularizaba (trascendiendo inclusoal aacutembito acadeacutemico) se hizo maacutes patente la necesidad de desarrollar estaacutendares que aporta-sen total interoperabilidad no soacutelo a nivel de aplicaciones Grid sino tambieacuten de componentesfundamentales del sistema y permitiesen la integracioacuten de muacuteltiples tecnologiacuteas en un sistemade recursos compartidos [73]

En el antildeo 2002 surge la Open Grid Service Architecture (OGSA) [51] la cual define unestaacutendar que incluye servicios baacutesicos de computacioacuten Grid como la seguridad gestioacuten derecursos administracioacuten de trabajos etc OGSA busca la convergencia entre la tecnologiacuteaGrid y los servicios Web por lo que define una arquitectura abierta basada en servicios paradesarrollar entornos Grid OGSA no aporta detalles para la implementacioacuten del estaacutendar y enconsecuencia surge una importante dificultad OGSA requeriacutea servicios Web con estado peroel estaacutendar de dichos servicios no lo proporcionaba

En 2003 surge la Open Grid Services Infrastructure (OGSI) la cual detalla una posible im-plementacioacuten de OGSA y presenta una versioacuten modificada de los servicios Web denominadaservicios Grid [68] Estos servicios proporcionaban entre otras cosas soporte para el estadogracias a una modificacioacuten del Web Services Description Language (WSDL) [30] llamadaGrid Web Service Definition Language (GWSDL) [115] La tercera versioacuten del GT surge en2004 y en su camino hacia la estandarizacioacuten basa su implementacioacuten en el estaacutendar definidopor OGSI

La comunidad Grid pronto consideroacute que OGSI era una aproximacioacuten poco convenien-te [102] sobre todo por usar una versioacuten modificada de los servicios Web en lugar de basarseen el estaacutendar Se continuoacute trabajando para encontrar una mejor solucioacuten para la implementa-cioacuten del estaacutendar OGSA en general y para la implementacioacuten de servicios Web con estadoen particular En 2004 se propuso la especificacioacuten Web Service Resource Framework (WSRF)con el objetivo de sustituir a OGSI y aportar una implementacioacuten de los servicios Web con es-tado aceptada tanto por la comunidad Grid como por la comunidad de servicios Web WSRFintegra OGSA con los servicios Web puros y es la base para la implementacioacuten de la cuartaversioacuten del Globus Toolkit (GT4) (versioacuten empleada en el desarrollo del laboratorio virtual deRETELAB)

20 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

El teacutermino de servicio Grid ha continuado utilizaacutendose pero a partir de la especificacioacutende WSRF se asocia a cualquier servicio que de acuerdo a la nueva especificacioacuten se ajuste alas convenciones de interfaz de una infraestructura Grid

Continuando con el proceso de estandarizacioacuten Foster y Kesselman [50] anticiparon enel antildeo 2003 una futura fase en la buacutesqueda de un sistema Grid global que denominaron ges-tioacuten de sistemas virtuales compartidos Partiendo de la especificacioacuten de OGSA en esta fasese preveiacutea un incremento del conjunto de servicios y sistemas estaacutendar orientados a la inter-operabilidad Este nuevo conjunto de estaacutendares estariacutea enfocado a la administracioacuten tanto dedispositivos moacuteviles como de grandes sistemas con muacuteltiples VOs y todo ello aumentando elgrado de virtualizacioacuten enriqueciendo los modos de comparticioacuten e incrementando la calidadde servicio

22 Arquitectura de un sistema Grid

La arquitectura de un sistema Grid desarrollado con GT (veacutease la Figura 22) se divideen capas y estaacute construida sobre los principios del modelo de reloj de arena (hourglass mo-

del) [50] en el que las capas intermedias situadas en el cuello del reloj contienen un conjuntode protocolos e interfaces que los desarrolladores de servicios y aplicaciones de maacutes alto nivel(capas superiores) utilizan y que les permiten abstraerse de los desarrollos y tecnologiacuteas delas capas inferiores que gestionan el uso de los recursos locales

ndash Capa de infraestructura (Fabric layer) proporciona las operaciones baacutesicas sobre losrecursos que seraacuten utilizadas como base para el desarrollo de operaciones de maacutes altonivel

ndash Capa de conectividad (Connectivity layer) define el nuacutecleo de los protocolos utilizadospara la comunicacioacuten y la autenticacioacuten requeridos en las transacciones

ndash Capa de recursos (Resource layer) contiene los protocolos necesarios para gestionar deforma remota el acceso e interaccioacuten con los recursos individuales

ndash Capa colectiva (Collective layer) contiene protocolos para la gestioacuten de recursos muacutel-tiples Utiliza los protocolos definidos en las capas inferiores para implementar susoperaciones

23 Interfaces Grid 21

Recursos locales computadoras redes

almacenamiento sensores etc

Acceso seguro a recursos y servicios

Gestioacuten de recursos muacuteltiples diagnoacutestico monitorizacioacuten

etc

Herramientas y aplicaciones de usuario

Capa de aplicaciones

Capa colectiva

Capa de recursos

Capa de conectividad

Capa de infraestructura

Figura 22 Arquitectura Grid basada en capas y construida sobre los principios del modelo de laquoreloj de arenaraquoFigura adaptada de [50]

ndash Capa de aplicaciones (Application layer) esta capa contiene las aplicaciones de usua-rio que se implementan de forma especiacutefica para dar respuesta a un problema dentrodel entorno de una organizacioacuten virtual Para su desarrollo se utilizan las interfacesdesarrolladas en las capas inferiores

23 Interfaces Grid

Existen dos tipos de usuarios relacionados con los sistemas Grid desarrolladores y usua-rios finales Es habitual que los usuarios no tengan grandes conocimientos tecnoloacutegicos y enparticular la formacioacuten en este aacutembito es muy escasa Eacutestos ven al sistema como un mediopara desarrollar su trabajo por lo que la usabilidad del entorno ha de ser primordial La CLIes la solucioacuten baacutesica para el acceso a un Grid pero es muy poco amigable y requiere de unestudio previo de los comandos y sus formas de uso por lo que habitualmente es rechazadapor los usuarios finales Es conveniente desarrollar entornos que faciliten el acceso y utiliza-cioacuten de los sistemas y en la medida de lo posible que abstraigan a los usuarios de los detallestecnoloacutegicos para que puedan centrarse en sus trabajos

Con el desarrollo de la Web 20 surge la tendencia de migrar aplicaciones y sistemas ala Web convirtiendo Internet en un entorno amigable y conocido para el usuario La compu-

22 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

tacioacuten Grid no fue ajena a este cambio y surgieron los llamados portales Grid que actuabancomo interfaces de acceso a los sistemas distribuidos El acceso Web suponiacutea una evolucioacutenen cuanto a la generalizacioacuten y popularizacioacuten de los sistemas Grid ya que permitiacutea accedera los usuarios en cualquier momento y desde cualquier lugar a traveacutes de una interfaz ergonoacute-mica y sin tener que instalar software especiacutefico Desde el punto de vista de su finalidad losportales Grid pueden dividirse en dos categoriacuteas

ndash Portales Grid especializados proveen de un subconjunto de operaciones Grid en elmarco de una aplicacioacuten especiacutefica

ndash Portales Grid de propoacutesito general proveen de un acceso baacutesico y sin propoacutesito concre-to a servicios y recursos de un Grid

Los desarrollos de portales Grid pueden dividirse en dos generaciones dependiendo desu implementacioacuten y tecnologiacuteas utilizadas [69] la primera generacioacuten estaacute caracterizada pordesarrollos fuertemente acoplados con el middleware (habitualmente GT2) mientras que lasegunda generacioacuten hace uso de tecnologiacuteas como por ejemplo los portlets que permitensoluciones maacutes configurables y dinaacutemicas

231 Portales Grid primera generacioacuten

Surgen a mediados de los antildeos 90 como una forma de hacer maacutes accesibles y usables lossistemas Grid Se realizaron grandes esfuerzos para implementar entornos de computacioacutenGrid que ofreciesen a traveacutes de la Web los mismos servicios que un sistema Grid claacutesico Estosdesarrollos previos a los estaacutendares (veacutease la Seccioacuten 21) son soluciones personalizadaspoco modulares y fuertemente acopladas con el middleware Esta primera generacioacuten aportoacutesoluciones pero sobre todo un valioso conocimiento de la problemaacutetica que permitioacute allanarel terreno para desarrollos posteriores A continuacioacuten se detallan algunas de las limitacionesmaacutes importantes [69]

ndash Los portales tienen poca o ninguna posibilidad de personalizacioacuten por parte del usuariofinal

ndash El alto acoplamiento entre los portales y el middleware Grid hace que sea muy compli-cado integrar servicios suministrados por otro middleware

23 Interfaces Grid 23

ndash En esta eacutepoca el desarrollo de la computacioacuten Grid era muy dinaacutemico La integracioacutende nuevas funcionalidades Grid no contempladas desde un primer momento era muycomplicada

Aunque no son los uacutenicos los ejemplos presentados a continuacioacuten son una muestra rele-vante de sistemas de primera generacioacuten Es importante destacar que se describen las primerasversiones importantes pero que eacutestos han continuado evolucionando y cambiando por lo quelas limitaciones mencionadas no tienen que estar presentes en las sucesivas versiones

UNICORE Uno de los primeros ejemplos importantes de portales Grid de propoacutesitogeneral fue UNICORE [94] No dependiacutea de ninguna implementacioacuten especiacutefica ni de servi-cios ni de un middleware Grid sino que se trataba de una solucioacuten completa para la gestioacuten yuso de una red de recursos heterogeacuteneos y distribuidos En los primeros prototipos el accesoa UNICORE se proporcionaba a traveacutes de un applet disponible a traveacutes de la Web Imple-mentaciones posteriores descartaron el uso del applet en beneficio de una aplicacioacuten Java deescritorio [38]

GridPort 20 Es un toolkit basado en scripts CGI de Perl para desarrollar y desplegarraacutepidamente portales Grid [107] Fue implementado pensando en potenciar la compatibilidada expensas de sacrificar rendimiento y flexibilidad y por ello se utilizaron tecnologiacuteas baacutesicasy se descartaron otras maacutes complejas y actuales como los applets (en el lado del cliente) oJava Server Pages (JSP) y servlets (en el lado del servidor) Se utiliza GT para acceder a losrecursos de alta computacioacuten y sus comandos son invocados a traveacutes de los scripts La interfazde usuario se construye a traveacutes de paacuteginas HTML que contienen llamadas a los scripts Tantoel uso de scripts y de HTML para modelar la interfaz como la encapsulacioacuten de los serviciosen los propios scripts facilita el despliegue pero complica el mantenimiento y personalizacioacutendel portal

Grid Portal Development Kit (GPDK) Es un toolkit que provee de una serie de compo-nentes reutilizables que permiten interactuar con los recursos de un sistema Grid y desarrollarportales y aplicaciones con interfaces personalizables [85] En la medida de lo posible GPDKfue desarrollado a traveacutes de software libre y abierto GT2 es el middleware utilizado para elacceso y gestioacuten del sistema distribuido mientras que el desarrollo del portal y las aplicacio-

24 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

nes se basan en JSP y servlets La interaccioacuten entre Java y GT2 se realiza a traveacutes de Java

Commodity Grid Kit (CoG) [113]

232 Portales Grid segunda generacioacuten

El inicio de la segunda generacioacuten de portales Grid viene marcado por la aparicioacuten de losportlets o componentes reutilizables para portales Web y por el desarrollo de los estaacutendaresGrid basados en servicios

Tecnologiacuteas empleadas

Portlets Como hemos visto en el apartado anterior los portales de primera generacioacutenestaban muy limitados en cuanto a personalizacioacuten y esto se solucionoacute en gran medida gra-cias a la aparicioacuten de los portlets Seguacuten la primera versioacuten de la especificacioacuten del estaacutendarde desarrollo de portlets de Java (JSR168) [10]

laquoUn portlet es un componente Web desarrollado en Java y gestionado por un contene-

dor de portlets que procesa peticiones y genera contenido dinaacutemico Los portales utilizan

portlets como componentes de la interfaz de usuario que se pueden activar o desactivar y que

proporcionan una capa de presentacioacuten a los sistemas de informacioacutenraquoEl usuario final ve al portlet como una ventana dentro de un portal que proporciona in-

formacioacuten o acceso a un servicio concreto como por ejemplo un calendario noticias o elacceso a un buzoacuten de correo [61] Un portlet genera un fragmento de coacutedigo HTML que esincrustado en una seccioacuten del portal La unioacuten de los fragmentos generados por los diferentesportlets forman la interfaz del portal Una caracteriacutestica importante de este tipo de portales esla posibilidad de personalizacioacuten que ofrecen al usuario final ya que el contenido generadopuede variar dependiendo de la configuracioacuten e incluso es posible administrar queacute portletsestaacuten activos y cuaacuteles no (veacutease la Figura 23) Es faacutecil imaginarse un portal como un puzzleque puede tomar cualquier forma (la elige el usuario final) y en el que se pueden intercambiarpiezas siendo cada pieza un portlet Lo interesante es que estas piezas pueden ser reutilizadaspara formar parte de nuevos portales pues lo uacutenico que se exige es que el portal de des-tino sea compatible con el Application Programming Interface (API) estaacutendar de desarrollode portlets Cada portlet funciona de forma independiente respecto al resto y tiene su propiociclo de vida que es gestionado por el contenedor de portlets

23 Interfaces Grid 25

Contenedor de portlets Podemos definir un contenedor de portlets como un entorno deejecucioacuten en donde los portlets pueden ser instanciados usados y finalmente destruidos Esresponsabilidad del contenedor la gestioacuten del ciclo de vida del portlet [69] Un contenedorde portlets no puede ser usado de forma independiente sino que se despliega dentro de uncontenedor de servlets y aprovecha sus funcionalidades

Noticias de la Red X-

Red Nacional de Teledeteccioacuten Oceanograacutefica

Gestioacuten de Credenciales X-

Activo

X-

X-

Modelo Produccioacuten Primaria

Roms

X-Sentinazos

Seleccionar portlet activo

Portlets con acceso restringido Usuario no autorizado

Portlets con acceso restringido Usuario autorizado

Figura 23 Ejemplo de un portal Web desarrollado a traveacutes de portlets

Portlets Grid

Un portlet Grid es un tipo especial de portlet que estaacute asociado a un servicio Grid pro-porcionado por un middleware Gracias a la estandarizacioacuten tanto de los portlets como de losservicios Grid un portlet puede ser reutilizado e interactuar con un servicio Grid sea cualsea el middleware que lo hace accesible por lo que se puede afirmar que los portales Griddesarrollados con portlets se encuentran deacutebilmente acoplados al middleware

Entornos para el desarrollo de portales Web basados en portlets

Los entornos disentildeados para desarrollar portales basados en portlets no son especiacuteficosde la computacioacuten Grid es decir son geneacutericos y pueden contener portlets de cualquier tipo(incluido portlets Grid) WebSphere y GridSphere son probablemente los entornos de mayorpopularidad

26 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

IBM WebSphere Portal Es una aplicacioacuten J2EE que se ejecuta sobre un servidor deaplicaciones con el mismo nombre y que permite desarrollar y administrar portales Web cen-trados en el acceso a aplicaciones contenidos y servicios a traveacutes de portlets [69] Es unaimplementacioacuten propietaria que actualmente se encuentra en su octava versioacuten Durante susprimeras versiones el desarrollo de portlets estaba basado en el API de IBM que aunquefundamentalmente era similar al API JSR168 sus pequentildeas diferencias [59] impediacutean la to-tal compatibilidad de los portlets El soporte para el API JSR168 fue incluido a partir de laversioacuten 502 y la versioacuten actual soporta tanto el API JSR168 como el API JSR286

Con el portal se distribuye un toolkit que permite su administracioacuten y personalizacioacuten asiacutecomo la creacioacuten prueba depuracioacuten y despliegue de portlets para un raacutepido desarrollo ElIBM WebSphere Portal tambieacuten provee de mecanismos para la personalizacioacuten de la vista delportal por el usuario final permitiendo seleccionar las aplicaciones y contenidos asiacute comoestablecer la forma en que son mostrados

GridSphere Es uno de los entornos de desarrollo de portales basados en portlets maacutesconocidos y utilizados [87] y concretamente fue el empleado para desplegar el laboratoriovirtual de RETELAB Se trata de un proyecto de coacutedigo libre desarrollado en el marco delproyecto GridLab que incluye un contenedor de portlets un conjunto baacutesico de portlets ylibreriacuteas de desarrollo

GridSphere es compatible con el API de WebSphere y con el API estaacutendar para portlets loque permite una raacutepida integracioacuten del software desarrollado por terceros Cuando el proyectofue iniciado la primera versioacuten del estaacutendar todaviacutea no se habiacutea publicado por lo que deentrada fue construido conforme al de IBM La compatibilidad con el estaacutendar fue antildeadidaen una versioacuten posterior

El conjunto baacutesico de portlets incluido en GridSphere facilita el desarrollo de nuevosportales y aporta funcionalidades baacutesicas como la administracioacuten de usuarios y grupos elacceso de los usuarios al portal la gestioacuten de las cuentas o la personalizacioacuten del portal

Entornos y herramientas para el desarrollo de portlets Grid

Para facilitar la implementacioacuten de portlets Grid y su despliegue en los portales surgieronproyectos especiacuteficos que proporcionaban tanto entornos de desarrollo como toolkits

23 Interfaces Grid 27

GridPortlets y Open Grid Computing Environments (OGCE) son dos de los entornos dedesarrollo maacutes populares y extendidos Ambos aportan herramientas baacutesicas que permiten alos desarrolladores interactuar con el middleware facilitando el desarrollo de portlets Grid

OGCE Es un proyecto de coacutedigo libre que proporciona un ecosistema en el que seintegran diferentes tecnologiacuteas y herramientas para la creacioacuten de portales Grid [12] [116]

Varias son las liacuteneas en las que OGCE ha centrado sus esfuerzos

ndash Establecer un entorno de desarrollo de portlets Grid desde la segunda versioacuten del OG-CE los portlets desarrollados cumplen con el estaacutendar y pueden ser reutilizados Parafacilitar su implementacioacuten OGCE proporciona una utilidad que permite la creacioacuten deportlets estaacutendar a traveacutes de la herramienta de desarrollo Web denominada Velocity [4]

ndash Abstraer a los desarrolladores de aplicaciones del sistema Grid utilizado OGCE noutiliza un uacutenico API para acceder a los diferentes servicios Grid sino que se basa enun conjunto procedente de varios proyectos como CoG o GridPort CoG se puede con-siderar el API principal y proporciona una capa de abstraccioacuten que independiza a losportlets del middleware utilizado

ndash Desarrollar servicios Grid avanzados la segunda versioacuten de OGCE integra y proporcio-na servicios para por ejemplo monitorizar los recursos locales utilizando el GridPort

Information Repository (GPIR) incorporar el repositorio semaacutentico de contenido Tu-pelo [5] o generar interfaces de servicio Web para las aplicaciones cientiacuteficas que sedesee integrar en el portal

ndash Desarrollar servicios para la colaboracioacuten de grupos OGCE desarrolloacute servicios y di-sentildeoacute interfaces portlet para integrar las herramientas colaborativas Sakai [3]

OGCE ha sido el entorno utilizado para el desarrollo de los portlets en RETELAB ademaacutestambieacuten se incorporaron al laboratorio varios portlets ya implementados por OGCE como elportlet para la administracioacuten de credenciales o el dedicado a la gestioacuten de ficheros remotos

GridPortlets Surge dentro del proyecto GridSphere con el objetivo de proporcionar alos desarrolladores un entorno para la implementacioacuten de portlets Grid [97] GridPortletsdistribuye una coleccioacuten de portlets baacutesicos que pueden ser utilizados individualmente o juntoa otras aplicaciones y que permiten desplegar un portal Grid baacutesico Este conjunto de portlets

28 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

estaacute implementado a traveacutes de componentes JSP reutilizables que pueden ser integrados ennuevas implementaciones

Al contrario de OGCE que utilizaba varias APIs GridPortlets proporciona una uacutenica APIde alto nivel pensada para acceder a los servicios Grid e interactuar con los recursos y asiacutedesarrollar portlets y aplicaciones Grid especiacuteficas

Los portlets desarrollados a traveacutes de GridPortlets no son completamente independientesde GridSphere y aunque teoacutericamente son compatibles con el API estaacutendar no se puedenintegrar faacutecilmente en otros contenedores de portlets [116] GridPortlets pensando en la usa-bilidad proporciona una sencilla pero potente interfaz para el enviacuteo de trabajos que abstrae alusuario de los detalles de bajo nivel y almacena un detallado historial de cada trabajo proce-sado para que pueda ser consultado a posteriori

233 Portales Grid casos de estudio

Durante la primera deacutecada del siglo XXI sobre todo en los primeros antildeos la incidencia delos sistemas Grid en la sociedad fue en aumento no soacutelo en el campo acadeacutemico sino tambieacutenen el empresarial La estandarizacioacuten de las tecnologiacuteas Grid y la mejora de las interfaces deusuario hicieron de esta tecnologiacutea una valiosa herramienta Fueron muchos los sistemas Griddesplegados y numerosos tambieacuten los portales Grid desarrollados para interactuar con lossistemas de una forma amigable Una gran mayoriacutea de estos portales estaban centrados enla visualizacioacuten de informacioacuten monitorizacioacuten de los recursos y sistemas y en la ejecucioacutende tareas simples no obstante algunos otros profundizaron en la tecnologiacutea y desarrollaronaplicaciones Web que facilitaban la realizacioacuten de tareas Grid complejas a los usuarios

GENIUS Grid Portal La Organizacioacuten Europea para la Investigacioacuten Nuclear (CERN)en general y el proyecto LHC en particular han ejercido una gran influencia en el desarrollode la tecnologiacutea Grid El portal Grid GENIUS [19] [15] implementado dentro del marco delproyecto europeo DataGrid fue desarrollado para proporcionar acceso a los datos del LHC ypermitir su utilizacioacuten en diferentes aplicaciones sobre un sistema Grid Estaba disentildeado paraproporcionar un acceso seguro a funcionalidades Grid como el enviacuteo y ejecucioacuten de trabajosla administracioacuten de datos o el acceso interactivo para el anaacutelisis de los datos generados

GENIUS fue un portal Grid pionero basado en una versioacuten extendida del GT Este mid-

dleware modificado extendioacute la interfaz de Globus facilitando la interaccioacuten entre las aplica-ciones software y el sistema Grid La primera versioacuten del portal se puede considerar dentro

23 Interfaces Grid 29

de la primera generacioacuten de portales Grid (veacutease la Seccioacuten 231) ya que su desarrollo estaacutefuertemente acoplado con el middleware utilizado

El portal permitiacutea el acceso remoto de usuarios pero manteniacutea la necesidad de tener unacuenta personal en el servidor del portal con la que se proporcionaba acceso al sistema deficheros local La autenticacioacuten y autorizacioacuten de los usuarios sobre los recursos Grid se rea-lizaba a traveacutes de la delegacioacuten de credenciales implementada con MyProxy (veacutease la Sec-cioacuten 32)

Earth System Grid (ESG) En general los proyectos relacionados con el estudio de laTierra poseen una serie de particularidades que dificultan su desarrollo a traveacutes de mediostradicionales

ndash Generan cantidades ingentes de informacioacuten bien sea a traveacutes de la observacioacuten directade fenoacutemenos o bien a traveacutes de la ejecucioacuten de modelos que los simulan

ndash Los algoritmos y modelos utilizados suelen requerir una gran potencia computacional

ndash Implican ciencias interdisciplinares en donde trabajan cientiacuteficos de diferentes ramasque deben colaborar para obtener el maacuteximo rendimiento de las investigaciones

La computacioacuten Grid se adapta especialmente bien a este tipo de proyectos y en concretoel proyecto ESG [23] es uno los maacutes relevantes Centrado en la investigacioacuten climaacutetica ESGproporciona un entorno colaborativo con el objetivo de almacenar distribuir y procesar lasenormes cantidades de datos utilizadas en el seno de sus proyectos

Ademaacutes de proporcionar la infraestructura necesaria para el almacenamiento de la infor-macioacuten climaacutetica gran parte de los esfuerzos del proyecto fueron destinados a desarrollarestaacutendares y servicios de metainformacioacuten orientados a administrar navegar buscar y com-partir los datos almacenados Un portal Grid facilita el acceso a los datos y los servicios debuacutesqueda y recuperacioacuten de informacioacuten

El acceso a los recursos Grid se basa en el sistema de delegacioacuten de credenciales de My-Proxy (veacutease la Seccioacuten 32) pero ESG desarrolloacute y empleoacute un novedoso sistema de registrode usuarios para la generacioacuten automaacutetica de credenciales El Portal-based User Registra-

tion Service (PURSe) [53] permite el registro de usuarios y la creacioacuten y administracioacuten desus Certificados Digitales (DCs) y respectivos proxies de forma automaacutetica Originalmentefue desarrollado dentro del proyecto pero posteriormente evolucionoacute como sistema indepen-diente e integrable en nuevos portales Grid

30 Capiacutetulo 2 Evolucioacuten de la Computacioacuten Grid

PURSe encaja perfectamente con la poliacutetica de facilidad de uso que dirige el proyectoRETELAB por lo que fue integrado como medio de registro de usuarios No obstante elmoacutedulo de registro fue modificado y mejorado para dar un soporte maacutes amplio que el propor-cionado por defecto y asiacute ajustarse a las necesidades del laboratorio virtual Los detalles deimplementacioacuten y de integracioacuten se muestran en detalle en la Seccioacuten 32

P-Grade P-Grade es un portal Grid basado en GridSphere concebido para soportarformas complejas de ejecucioacuten de trabajos dirigidas por flujos de tareas (workflows) P-Gradeestaacute disentildeado para trabajar con Globus como middleware lo que le permite integrarse concualquier sistema Grid que lo utilice y aportarle la capacidad avanzada de administracioacuten deflujos de tareas Proporciona a los usuarios un editor de flujos que permite disentildear localmentelas tareas y subirlas al servidor Empleando Java Web Start (JavaWS) los usuarios puedendescargar el editor desde el portal y eacuteste se instala automaacuteticamente y de forma transparenteen la estacioacuten de trabajo del usuario Dentro de un mismo flujo de tareas P-Grade soportala asignacioacuten de trabajos a recursos que pertenezcan a diferentes Grids e incluso la creacioacutende flujos colaborativos entre varios investigadores Es tarea del usuario la asignacioacuten de losrecursos en concreto en donde se vaya a ejecutar una parte del flujo por lo que el usuario debeconocer la estructura del sistema

CAPIacuteTULO 3

PROYECTO RETELAB

31 Descripcioacuten del proyecto

RETELAB es un laboratorio virtual desplegado sobre un sistema distribuido que propor-ciona un entorno de trabajo colaborativo enfocado al desarrollo de proyectos de teledeteccioacutenoceanograacutefica [78] [33] Nace en el seno de la red RETEMAR con el objetivo proporcionarun entorno para llevar a cabo proyectos de altas prestaciones entre sus integrantes

Seguacuten las especificaciones iniciales los requerimientos que debiacutea cubrir el laboratoriovirtual eran

ndash Gestioacuten de recursos compartidos el laboratorio virtual debiacutea poseer la capacidad deintegrar y administrar recursos distribuidos pertenecientes a los diferentes centros de laRed

ndash Soporte para el almacenamiento administracioacuten e intercambio de datos distribuidos elalmacenamiento local tiene grandes limitaciones a la hora de administrar las ingentescantidades de datos capturados a traveacutes de la teledeteccioacuten por lo que RETELAB de-biacutea disponer de un sistema de datos distribuidos que permitiese almacenar procesar ycompartir la informacioacuten

ndash Potencia computacional en general las aplicaciones cientiacuteficas oceanograacuteficas (mode-los climaacuteticos deteccioacuten de contaminantes etc) demandan una gran cantidad de recur-sos computacionales El sistema proporcionariacutea la potencia necesaria para su ejecucioacuten

32 Capiacutetulo 3 Proyecto RETELAB

ndash Seguridad dado que el laboratorio proporcionariacutea acceso a recursos compartidos laseguridad debiacutea ser uno de los pilares en el disentildeo e implementacioacuten de RETELAB

ndash Interfaz amigable es necesario que la interfaz de acceso al sistema sea intuitiva y faacutecilde utilizar para que los usuarios puedan centrarse en sus trabajos sin tener que dedicaresfuerzos al aprendizaje de nuevas herramientas

ndash Visualizacioacuten el laboratorio virtual debiacutea proporcionar las herramientas necesarias paravisualizar tanto los resultados de los trabajos como los datos almacenados

Las especificaciones del sistema junto con las caracteriacutesticas tiacutepicas de las aplicacionesque se desea ejecutar hacen de la computacioacuten Grid la tecnologiacutea maacutes adecuada para el desa-rrollo del laboratorio virtual y el acceso a traveacutes de un portal Grid la opcioacuten maacutes simple yamigable para el usuario final

311 Arquitectura general del sistema

El disentildeo de RETELAB se corresponde con una arquitectura cliente-servidor multicapa(veacutease la Figura 31) en la que una aplicacioacuten cliente tiacutepicamente un navegador Web realizapeticiones a un servidor que las procesa y devuelve un resultado A continuacioacuten se describenbrevemente las principales capas del sistema

ndash Capa de aplicaciones en esta capa se situacutea el servidor Web (Tomcat + Apache) en el queestaacute desplegado el portal Grid a traveacutes del cual se accede al sistema El portal basadoen el contenedor de portlets GridSphere contiene diferentes portlets que encapsulan ygestionan tareas sobre los recursos de alta computacioacuten

ndash Capa de middleware en esta capa estaacute desplegada la cuarta versioacuten del Globus Tool-

kit que contiene la tecnologiacutea y herramientas necesarias para gestionar un Grid GT4proporciona una coleccioacuten de servicios que permiten a las aplicaciones (capa superior)operar sobre los recursos de alta computacioacuten (capa inferior)

ndash Capa de recursos en esta capa se situacutean los recursos del sistema Se trata de recursosdistribuidos y heterogeacuteneos que pertenecen a diferentes centros

31 Descripcioacuten del proyecto 33

Figura 31 Arquitectura general del sistema RETELAB

Recursos del sistema

El sistema Grid de RETELAB permite incluir recursos de cualquier centro participante enel proyecto pero en el despliegue inicial soacutelo se ponen a disposicioacuten de la comunidad recursosde la USC y del CESGA

La USC colaboroacute con un cluster compuesto por 11 nodos 10 AMD Opteron 2212 y 1INTEL Xeon 5130 cada uno de los cuales presenta las siguientes caracteriacutesticas arquitecturax86_64 2 procesadores dual core frecuencia de 2GHz 4GB RAM e interconexioacuten Giga-Ethernet

El CESGA aportoacute un cluster compuesto de 4 nodos HP Proliant de las siguientes carac-teriacutesticas arquitectura x86_64 2 procesadores Intel Xeon Quadcore X5355 (8 coresequipo)frecuencia de 266GHz 8 GB de RAM 4 x 2MB cacheacute (L2) e interconexioacuten GigaEthernet

Los recursos proporcionados por el CESGA se aprovecharon al maacuteximo gracias a la pla-taforma de virtualizacioacuten Xen [6] Tal y como se muestra en la Figura 32 uno de los nodosdel cluster fue virtualizado para alojar a 3 recursos virtuales diferentes

ndash RETELAB UI aloja la interfaz de acceso al laboratorio virtual es decir el portal Grid

34 Capiacutetulo 3 Proyecto RETELAB

ndash CESGA CE gestiona los trabajos que le llegan al cluster actuando como nodo principalo laquocabezaraquo

ndash Nodo de trabajo se ha virtualizado un nodo de trabajo que si bien no tiene la potenciacomputacional del resto de los nodos es aprovechado y utilizado como parte del cluster

Fedora Core 6 + XENScientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Hardware

Xenreg Hypervisor

CEUI Nodo Trabajo

Scientific Linux 45

(64 bits)Scientific Linux 45

(64 bits)

Scientific Linux 45

(64 bits)

Cluster CESGA

Figura 32 Recursos aportados por el CESGA

32 Registro y acceso de los usuarios

El objetivo de esta seccioacuten es mostrar el moacutedulo para el registro y acceso de los usuarios deRETELAB al sistema pero para una mejor comprensioacuten es necesario introducir brevementealgunos conceptos sobre la infraestructura de seguridad del GT

32 Registro y acceso de los usuarios 35

Security Grid Infrastructure (GSI)

La GSI es un conjunto de herramientas libreriacuteas y protocolos usados por el GT paragestionar el acceso de los usuarios y aplicaciones a los recursos de altas prestaciones [70]Los pilares fundamentales del GSI son la PKI y los Certificados Digitales (DCs) X509

Cada participante de un sistema Grid dispone de un DC X509 que lo identifica y queprincipalmente estaacute compuesto por

ndash Un nombre que identifica a la persona o recurso al que representa el DC

ndash La clave puacuteblica del propietario del DC

ndash El nombre de la Autoridad Certificadora (CA) que ha firmado el DC y que garantiza laidentidad del propietario Es esencial que todos los participantes de un Grid confiacuteen ytengan acceso a las claves puacuteblicas de las CAs utilizadas para firmar los DCs

ndash La firma digital de la CA que valida el DC

Es importante diferenciar dos teacuterminos en el aacutembito de la seguridad Grid

ndash Autenticar proceso de identificar uniacutevocamente a un usuario o a un recurso

ndash Autorizar proceso que identifica las acciones que puede realizar un usuario sobre unrecurso concreto

Autenticacioacuten El proceso de autenticacioacuten de participantes en un sistema Grid es mu-tuo es decir para establecer una comunicacioacuten entre dos participantes es necesario que cadauno de ellos se identifique ante el otro a traveacutes del siguiente meacutetodo

1 La entidad lsquoArsquo establece una conexioacuten con la entidad lsquoBrsquo y le enviacutea su DC

2 La entidad lsquoBrsquo comprueba la autenticidad del DC utilizando la clave puacuteblica de la CAcon la firma del certificado

3 Una vez validado el certificado lsquoBrsquo trata de confirmar que la entidad que envioacute el DC esrealmente su propietaria y para ello enviacutea un mensaje aleatorio para que lsquoArsquo lo codifiqueutilizando su clave privada

4 La entidad lsquoArsquo utiliza su clave privada para codificar el mensaje y eacuteste es devuelto a lsquoBrsquo

36 Capiacutetulo 3 Proyecto RETELAB

5 lsquoBrsquo utiliza la clave puacuteblica de lsquoArsquo contenida en el DC para descodificar el mensaje ycomprobar que es el mismo que el original

6 Una vez que lsquoArsquo es autenticada lsquoBrsquo iniciariacutea nuevamente el proceso enviando su DC alsquoArsquo

Cuando un usuario desarrolla una tarea en un Grid eacutesta puede requerir varios recursoso puede que durante su procesamiento necesite solicitar servicios en nombre del usuarioSeguacuten el meacutetodo de autenticacioacuten mostrado cada vez que el usuario necesite un recurso orequiera un servicio deberiacutea autenticarse El uso de la clave privada exige la atencioacuten delusuario ya que se almacena cifrada y es necesario que el usuario introduzca su contrasentildeacada vez que sea necesaria su autenticacioacuten Esto puede resultar tedioso en tareas complejassobre todo si se dilatan en el tiempo Para solucionarlo GSI introduce el concepto de dele-gacioacuten Este mecanismo permite al usuario asignar un proxy a la tarea deseada y evita tenerque presentar su DC cada vez que la tarea realiza una operacioacuten en su nombre Los proxies

son credenciales con un tiempo de vida muy reducido generadas por los usuarios a partir susDCs La identidad de los proxies es la misma que la de los DCs salvo una pequentildea modifi-cacioacuten que indica su naturaleza La creacioacuten de un proxy implica la generacioacuten tanto de unaclave puacuteblica como de una privada que se almacenan sin cifrar y a las que se puede accedersin contrasentildea evitando la accioacuten del usuario

Autorizacioacuten Por defecto GSI proporciona unos sistemas de autorizacioacuten muy baacutesicosde entre los que cabe destacar el sistema gestionado por el GridMap Cada recurso poseeun fichero denominado GridMap que contiene una lista que relaciona nombres de usuario(identificadores presentes en los DCs) con cuentas de usuario locales Si el usuario tiene unacuenta local entonces puede utilizar dicho recurso Es conveniente disponer de sistemas queayuden a la creacioacuten y gestioacuten de dichas listas y de las cuentas correspondientes

La ventaja es que GSI tambieacuten proporciona mecanismos para el desarrollo e integracioacutende sistemas de autorizacioacuten propios y esto seraacute aprovechado para gestionar la autorizacioacuten delos usuarios de RETELAB

MyProxy

MyProxy [86] es un repositorio on-line de certificados cuya finalidad es proporcionarproxies temporales bajo demanda para que puedan ser utilizados en cualquier momento y

32 Registro y acceso de los usuarios 37

desde cualquier lugar MyProxy puede ser utilizado para delegar credenciales a servicios queactuacuteen en lugar del usuario y es el meacutetodo maacutes habitual para delegar y usar credenciales enlos portales Grid MyProxy puede ser utilizado de dos modos diferentes

ndash Repositorio de credenciales de usuario MyProxy actuacutea como almaceacuten de los DCs y delas claves privadas de los usuarios Abstrae al usuario del uso y almacenamiento de loscertificados y permite generar proxies temporales bajo demanda Este uso implica queel usuario delega la seguridad de sus DCs en el servidor

ndash Repositorio de proxies MyProxy almacena los proxies generados por los usuarios atraveacutes de sus DCs y genera nuevos representantes con una vida maacutes corta que los origi-nales Es necesario que los usuarios generen y alojen nuevos proxies cada vez que losalmacenados caduquen

321 Autenticacioacuten y autorizacioacuten

Uno de los requisitos fundamentales para la construccioacuten del laboratorio virtual (veacutease laSeccioacuten 31) era el desarrollo de una interfaz de usuario sencilla y amigable que no demandasegrandes conocimientos tecnoloacutegicos La sencillez de un sistema debe empezar desde el regis-tro y acceso de los usuarios pero a menudo esto entra en conflicto con los requerimientos deseguridad por lo que fue necesario encontrar una solucioacuten equilibrada

La seguridad en RETELAB estaacute basada en el modulo GSI del GT4 lo que condiciona elacceso al sistema y supone que los usuarios deban disponer de un DC El proceso para obtenery emplear un DC es cuanto menos tedioso para el usuario y puede producir rechazo al usodel sistema por lo que es necesario adaptarlo para que sea maacutes coacutemodo Por otro lado esimportante que el sistema de autorizacioacuten sea sencillo de administrar pero lo suficientementepotente para responder a las siguientes preguntas

ndash iquestQuieacuten puede acceder

ndash iquestQueacute recursos puede utilizar

ndash iquestQueacute tareas puede realizar sobre un recurso concreto

Un RBAC [91] parece ser la mejor alternativa En RBAC los permisos se encuentran asociadosa roles y los usuarios son poseedores de uno o maacutes roles por lo que adquieren los permisosasociados a eacutestos Los roles permiten reflejar con mayor veracidad la estructura de una VO y el

38 Capiacutetulo 3 Proyecto RETELAB

puesto o tareas desempentildeadas por un investigador concreto dentro de ella La administracioacutendel control de acceso es considerablemente maacutes sencilla que si se gestiona la seguridad a nivelde usuario

Registro y Acceso

El registro y acceso de los usuarios de RETELAB se ha implementado integrando ymejorando diferentes sistemas para conseguir una solucioacuten amigable sin sacrificar la seguri-dad [76] [77] La Figura 33 muestra un diagrama en donde se aprecian los diferentes sistemasintegrados

Figura 33 Arquitectura del sistema de registro y acceso de usuarios de RETELAB

El acceso al portal puede contemplarse desde tres escenarios diferentes (veacutease la Figu-ra 34) acceso de un usuario no registrado acceso de un usuario registrado y acceso de unusuario perteneciente a una red de centros de confianza

Usuario no registrado

El registro de un nuevo usuario se realiza a traveacutes de un portlet de registro basado enel sistema PURSe [53] [2] Este sistema permite registrar a un usuario y solicitarle un DCde forma automaacutetica en el mismo momento en que enviacutea sus datos Por cada registro el

32 Registro y acceso de los usuarios 39

Usuario

Shibboleth

Recuperar

Certificados

Registro Usuario

PURSe

Usuario

Registrado

Acceder al Portal

AutenticarIdentificar

Usuario

No

No

Siacute

No

Rol

Identificar desde

Shibboleth

Auntenticar Centro Origen

Redirigir Datos Usuario

Crear Cuenta

Temporal

Rol

Generar

Certificados

Siacute

Acceso Concedido

Siacute

Figura 34 Esquema simplificado del registro y acceso de usuarios al sistema

administrador del portal recibe un aviso para que valide los datos del nuevo usuario y sies oportuno se genera el DC a traveacutes de una CA propia del sistema Los certificados y lasclaves privadas son almacenados en MyProxy e identificados con el nombre y contrasentildeaproporcionados por el usuario al registrarse

Para integrar el RBAC fue necesario implementar una mejora sobre PURSe para quepudiese dar soporte a los roles de usuario Gracias a esta mejora el administrador puedeasignar roles a los usuarios que gestionan sus accesos tanto al portal como a los recursosdel sistema La mejora realizada permite crear automaacuteticamente Certificados de Atributos(ACs) X509 con informacioacuten sobre los roles de los usuarios y almacenarlos en un aacuterbol dedirectorios Lightweight Directory Access Protocol (LDAP) para su posterior uso en la gestioacutendel acceso

Detalles de implementacioacuten La implantacioacuten de un sistema RBAC en RETELAB serealizoacute intentando que tuviese el menor impacto posible sobre el resto de los subsistemas

40 Capiacutetulo 3 Proyecto RETELAB

integrados con el objetivo de que fuese reutilizable y sencillo de instalar En el proceso seintentoacute aprovechar al maacuteximo el coacutedigo libre desarrollado por los proyectos integrados (PUR-Se PERMIS GridSphere etc) e implementar nuevas clases que sirviesen de nexo entre lasdiferentes tecnologiacuteas

Para integrar los roles con el sistema de registro PURSe fue necesario implementar variasclases Java (veacutease la Figura 35) que se encapsularon como un ARchivo Java (JAR) generarun archivo de propiedades con los datos de acceso al LDAP y antildeadir un nuevo moacutedulo deregistro en el fichero webxml de PURSe El diagrama mostrado en la Figura 35 contiene lasclases implicadas en la asignacioacuten de roles El moacutedulo de registro es el nexo con el paquetePURSe y el encargado de laquoescucharraquo los eventos y realizar las acciones consecuentes PURSeproporciona un moacutedulo de registro para integrarse con GridSphere que da de alta a los usua-rios en el portal pero ademaacutes permite antildeadir nuevos moacutedulos siempre y cuando implementenla interfaz RegistrationModule El moacutedulo RetelabRegistrationModule fue desarrollado espe-ciacuteficamente para dar soporte a los ACs Cuando un nuevo usuario es dado de alta a traveacutesde PURSe el evento es capturado y gestionado por la clase RetelabRegistrationModule Loseventos de PURSe se reciben como objetos que contienen tanto la informacioacuten de la accioacutencomo los datos del usuario Utilizando la informacioacuten personal y la traveacutes de la clase Certi-

ficateGenerator se genera un AC que es firmado por la clase RetelabSigningUtility Una vezse ha generado un AC la clase LdapConnector es utilizada para almacenarlo en el directorioLDAP Las clases dedicadas tanto a la generacioacuten como a la firma de los ACs fueron im-plementadas basaacutendose en clases de PERMIS que es el software empleado para gestionar elacceso de los usuarios registrados a los recursos a traveacutes de roles

---

----

Figura 35 Diagrama de clases simplificado para la creacioacuten y asignacioacuten de roles

La solucioacuten desarrollada utiliza DCs generados por PURSe y ACs creados a traveacutes de cla-ses basadas en procedimientos empleados por PERMIS Es interesante destacar un problema

32 Registro y acceso de los usuarios 41

surgido de la integracioacuten de los dos tipos de certificados para la creacioacuten de los DCs se utili-zoacute el proveedor de Extensioacuten Criptograacutefica de Java (JCE) denominado Cryptix mientras quepara los ACs se utilizoacute el JCE IAIK Para utilizar un proveedor JCE es necesario registrarloy concretamente un error en la implementacioacuten de Cryptix impediacutea su uso en caso de quealguacuten otro proveedor fuese registrado con posterioridad Al utilizar varios JCEs se generabanerrores frecuentemente por lo que fue necesario insertar un procedimiento previo a su utiliza-cioacuten para comprobar el orden de registro y modificarlo en caso de que fuese necesario (veacuteaseel Coacutedigo A1)

Una de las ventajas de usar GridSphere como base para el desarrollo del portal fue quedisponiacutea de una serie de portlets ya desarrollados para crear portales Web baacutesicos Del nuacutecleode portlets de GridSphere cabe destacar el portlet de administracioacuten que entre otras cosaspermite crear y asignar roles a los usuarios del portal GridSphere en base a dichos rolesgestiona el uso y acceso de los usuarios a los portlets

Dado que la gestioacuten del sistema Grid tambieacuten estaacute basada en roles y con el objetivo dedesarrollar un sistema de administracioacuten sencillo y usable se implementoacute una mejora sobreel sistema de administracioacuten de GridSphere para dar soporte a los ACs De este modo unadministrador puede gestionar los roles tanto del portal como del sistema Grid desde un puntouacutenico ya que en el momento en que un rol es asignado el AC correspondiente es creado yalmacenado automaacuteticamente en el directorio LDAP

Para dar soporte a los ACs fue necesario modificar la clase de GridSphere UserManager-

Portlet El fragmento de Coacutedigo A2 muestra los cambios realizados en el meacutetodo que antildeadeusuarios a GridSphere

Usuario registrado

Los usuarios con cuenta en RETELAB pueden acceder al portal autenticaacutendose en unportlet dedicado a tal fin Una vez que el usuario es identificado el sistema utiliza su nom-bre y contrasentildea para recuperar sus credenciales almacenadas Las acciones que el usuariopuede realizar sobre el sistema estaacuten guiadas por su rol y una poliacutetica de autorizacioacuten basa-da en un modelo RBAC PERMIS [28] [27] es el sistema de autorizacioacuten basado en rolesutilizado para gestionar el acceso de los usuarios a los servicios Grid Su integracioacuten con elGT4 se realiza gracias a que eacuteste permite configurar para cada servicio Grid una secuenciade mecanismos de autorizacioacuten denominados Policy Decision Point (PDP) PERMIS puededesplegarse como un PDP para antildeadir un control basado en roles al sistema Para gestionar

42 Capiacutetulo 3 Proyecto RETELAB

la autorizacioacuten de la ejecucioacuten de tareas en un recurso especiacutefico de acuerdo a un rol esnecesario modificar la poliacutetica de autorizacioacuten del meacutetodo createManagedJob en el ficheromanaged-job-factory-security-configxml y antildeadir el PDP de PERMIS como se muestra en elfragmento de Coacutedigo A3

El control de acceso de un usuario a un servicio o recurso Grid se realiza desde 3 puntoscomo puede verse en la Figura 36

1 Se comprueba si el usuario posee un rol suficiente para acceder a un determinadoportlet

2 Se comprueba que el usuario tenga un DC activo en el portal

3 Si el usuario invoca un servicio Grid PERMIS comprueba su rol y dependiendo de lapoliacutetica de seguridad del recurso solicitado se permite o no su uso

Figura 36 Esquema del control de acceso basado en roles de RETELAB

32 Registro y acceso de los usuarios 43

Acceso confiable

Actualmente y debido a la gran proliferacioacuten de sistemas a traveacutes de Internet cada personagestiona multitud de cuentas y registros lo que supone recordar una gran cantidad de nombresy contrasentildeas En muchos casos se acaba sacrificando la seguridad anotando las contrasentildeaso utilizando siempre los mismos datos para facilitar la tarea

Shibboleth [83] es un software que proporciona un sistema de autenticacioacuten Single-Sign

On (SSO) a traveacutes de la Web Esto significa que permite acceder a varios sistemas indepen-dientes a traveacutes de una uacutenica identificacioacuten Shibboleth se basa en una red confiable de sociosen los que cada uno tiene su propio sistema de autenticacioacuten A grandes rasgos su funciona-miento es el siguiente cuando un usuario perteneciente a uno de los centros de la red quiereacceder a un sistema de otro centro eacuteste uacuteltimo lo redirige al sistema de autenticacioacuten delcentro de origen Una vez que el usuario es autenticado el centro de origen manda los da-tos personales al centro de destino que permite o deniega el acceso en base a la informacioacutenrecibida

La integracioacuten de Shibboleth con RETELAB tiene como punto de partida la solucioacutendisentildeada por el grupo Meta Access Management System (MAMS) para su utilizacioacuten junto aGridSphere En RETELAB se ha partido de la versioacuten de MAMS y se ha desarrollado unamejora para registrar y generar automaacuteticamente los DCs y ACs de los usuarios que accedan atraveacutes de esta opcioacuten Los datos para generar los certificados deberaacuten ser enviados por el centroque lo autentica La secuencia de pasos para acceder a RETELAB a traveacutes de Shibboleth esla siguiente

1 El usuario accede a RETELAB a traveacutes del portlet de acceso de Shibboleth

2 El sistema muestra al usuario una lista con los centros asociados para que seleccione acuaacutel pertenece

3 El sistema redirige al usuario al sistema de autenticacioacuten correspondiente

4 Una vez que el sistema externo autentica al usuario eacuteste es redirigido nuevamente alportal de RETELAB junto con sus datos personales (nombre rol etc)

5 RETELAB utiliza la informacioacuten recibida para generar las credenciales del usuarionecesarias incluyendo el AC para utilizar el sistema

44 Capiacutetulo 3 Proyecto RETELAB

Para la integracioacuten de los DCs y ACs en el procedimiento de SSO se actuoacute principal-mente en la clase GridSphereServlet Esta clase fue previamente modificada en el proyectoMAMS para crear usuarios Shibboleth en el portal GridSphere y en el caso de RETELABse incorporaron los meacutetodos necesarios para la gestioacuten de los DCs y ACs El coacutedigo para lacreacioacuten y almacenamiento del los DCs asociados a los usuarios de Shibboleth se muestra enel Coacutedigo A4 mientras que el procedimiento para la creacioacuten de los ACs se presenta en elCoacutedigo A5

La inclusioacuten de Shibboleth en el sistema de RETELAB permite que los socios del proyectoque deseen integrarse en una Red de confianza puedan autenticarse a traveacutes de sus sistemasinternos sin necesidad de registrarse en el portal

33 Sistema de almacenamiento distribuido

El sistema de almacenamiento de RETELAB [75] [80] fue disentildeado para gestionar gran-des colecciones de datos provenientes de la teledeteccioacuten y de los propios proyectos ocea-nograacuteficos En RETELAB el concepto de dato debe entenderse como un fichero binario querepresenta un producto obtenido a traveacutes de un sensor o generado a traveacutes de un proceso deanaacutelisis de datos previos Este tipo de productos requiere un considerable espacio en disco porlo que su almacenamiento masivo es una tarea complicada que no puede ser resuelta utilizan-do DBs tradicionales La computacioacuten Grid puede afrontar este reto a traveacutes de un Data Grides decir un sistema de almacenamiento distribuido entre los diferentes recursos del Grid RE-TELAB no pretende ser soacutelo una herramienta para el almacenamiento y procesamiento sinoque busca ser un medio para compartir conocimiento entre la comunidad oceanograacutefica porello debe proporcionar procedimientos a los usuarios que de forma sencilla permitan pu-blicar y compartir los resultados de sus investigaciones Estos procedimientos deberiacutean estarbasados en el uso de metadatos para describir los productos almacenados y asiacute facilitar losprocesos de localizacioacuten y distribucioacuten de los mismos

Los metadatos son datos que describen el contenido de otros datos Funcionan de formasimilar a un iacutendice para localizar objetos A cada objeto se le asigna una laquoficharaquo que lo des-cribe a traveacutes de varios campos y que es utilizada para localizarlo dentro de un almaceacuten Unejemplo clarificador seriacutea el de las fichas de los libros en una biblioteca En RETELAB ca-da dato almacenado tiene asociado un conjunto de pares campo-valor que lo describen y queayudan a realizar buacutesquedas maacutes concretas a traveacutes de las colecciones de datos Los metadatos

33 Sistema de almacenamiento distribuido 45

pueden estar almacenados de forma interna incrustados dentro del propio dato al que describe(cabecera) o en un almacenamiento externo

Figura 37 Arquitectura del Data Grid desplegado en RETELAB

La arquitectura de la solucioacuten implementada que puede verse en la Figura 37 estaacute forma-da por tres capas la capa inferior que contiene a los recursos del Grid almacena las coleccio-nes de datos la capa intermedia o middleware integra las diferentes tecnologiacuteas que formanel nuacutecleo del sistema y por uacuteltimo la capa superior proporciona la interfaz de usuario paraacceder al sistema de almacenamiento

Las tecnologiacuteas presentes en la capa de middleware son las encargadas de gestionar elalmacenamiento de RETELAB El nuacutecleo del Data Grid lo forma el servicio de GT4 deno-minado Replica Location Service (RLS) Los elementos almacenados estaacuten identificados porun Nombre Loacutegico de Fichero (LFN) y cada uno de ellos tiene asociado lsquoNrsquo Nombres Fiacutesicosde Ficheros (PFNs) es decir las diferentes rutas donde estaacute almacenado ya que puede estarreplicado Por lo tanto el servicio laquoconoceraquo la localizacioacuten especiacutefica de cada dato dentrode RETELAB relacionando LFNs con PFNs El RLS funciona gracias a dos subsistemas el

46 Capiacutetulo 3 Proyecto RETELAB

Local Replica Catalog (LRC) y el Replica Location Index (RLI) Por un lado cada recursodel Data Grid de RETELAB tiene desplegado un LRC con un listado que relaciona los LFNscon los PFNs almacenados en ese recurso y por otro lado RETELAB posee un RLI que deforma centralizada relaciona los LFNs con los diferentes LRCs donde estaacuten almacenados Estarea de cada LRC informar al RLI de las colecciones de datos que gestiona

Para describir correctamente los datos es necesario disponer de un conjunto de metadatosque permita reflejar todas sus caracteriacutesticas y particularidades RETELAB ha utilizado el es-taacutendar para metadatos geoespaciales ISO 19115 [7] Este estaacutendar proporciona un conjuntode metadatos orientado a describir datos geoespaciales aportando informacioacuten sobre la iden-tificacioacuten la extensioacuten la calidad el modelo espacial y temporal la referencia espacial y ladistribucioacuten de dichos datos

El almacenamiento y gestioacuten de los metadatos se hizo de forma externa al propio dato(la alternativa seriacutea agregarlos en la propia cabecera) y centralizada empleando el Metadata

Catalog System (MCS) [100] El MCS es un servicio del GT4 que proporciona un cataacutelogode metadatos a traveacutes de una interfaz que cumple con el estaacutendar de OGSA Este cataacutelogopermite describir datos a traveacutes de metainformacioacuten OGSA-DAI [17] que proporciona unainterfaz OGSA para el acceso a ficheros XML y DBs relacionales puede integrarse con elMCS para proporcionarle la capacidad de almacenamiento de los metadatos asiacute como losmecanismos de autenticacioacuten propios de un Grid

El sistema de almacenamiento fue integrado en el portal Grid para que el usuario pudieseutilizarlo a traveacutes de los diferentes portlets desplegados El proceso de acceso y recuperacioacutende un archivo almacenado se resume en la Figura 38 e incluye los siguientes pasos

1 El usuario utilizando metadatos realiza una consulta a traveacutes del portlet correspon-diente

2 El sistema consulta el MCS para obtener los nombres loacutegicos cuyos metadatos se ajus-tan a la consulta de usuario

3 El sistema consulta al RLI para saber queacute LRCs gestionan los datos relacionados conlos alias obtenidos

4 El sistema consulta a los LRCs las direcciones fiacutesicas vinculadas a los LFN

33 Sistema de almacenamiento distribuido 47

5 A traveacutes de la direccioacuten fiacutesica el sistema puede mover los datos utilizando por ejemploel servicio GridFTP [13] El GridFTP que es parte del GT4 se basa en el protocolo FTPpara proporcionar transferencias de datos seguras robustas raacutepidas y eficientes

Figura 38 Secuencia resumida de acciones para buscar y acceder a los datos almacenados

Los usuarios no soacutelo pueden buscar y utilizar las colecciones de datos del sistema sinoque pueden publicar los resultados de sus trabajos asignaacutendoles una lista de metadatos quelos describan Ademaacutes cada usuario dispone de un espacio virtual propio donde puede des-cargar datos para editarlos y cuando esteacuten listos subirlos y compartirlos con el resto de lacomunidad La integracioacuten del Data Grid con el sistema de enviacuteo de trabajos se detalla en laSeccioacuten 351

Detalles de implementacioacuten Para facilitar la integracioacuten de la DB con los portlets sedesarrolloacute y empaquetoacute en un JAR un conjunto de clases que proporcionan las herramientaspara la gestioacuten de la DB virtual Cada portlet que quisiese emplear la DB soacutelo necesitabaincorporar el JAR entre sus libreriacuteas El paquete es descrito a traveacutes del diagrama de clasessimplificado de la Figura 39 Las clases implementadas interactuacutean con las clases proporcio-nadas por el GT4

48 Capiacutetulo 3 Proyecto RETELAB

Figura 39 Diagrama de clases simplificado en el que se presentan las clases utilizadas para desarrollar lasoperaciones sobre la DB virtual

El desarrollo de las clases para la gestioacuten de la DB tuvo varias dificultades y entre ellases interesante destacar dos [80]

ndash Integracioacuten de OGSA-DAI y el MCS GT proporciona libreriacuteas para gestionar el MCSconcretamente la clase DaiMCSClient es una implementacioacuten de un cliente para conec-tarse al MCS sobre OGSA-DAI Esta clase hace uso de otra llamada GenericServiceFet-

cher que se encarga de instanciar clases que implementan interfaces para comunicarsecon los diferentes servicios de datos GenericServiceFetcher se conecta con un servicioa traveacutes de una URL y recupera el WSDL que lo describe El anaacutelisis del WSDL lepermite determinar la distribucioacuten de OGSA-DAI empleada para implementarlo y asiacuteinstanciar la interfaz adecuada El coacutedigo utilizado para recuperar el WSDL intenta rea-lizar una conexioacuten a una URL pero sin especificar la clase responsable para gestionardicha conexioacuten Si la clase responsable no estaacute definida de forma expliacutecita se asignauna en tiempo de ejecucioacuten que depende del protocolo usado para la conexioacuten CuandoGenericServiceFetcher forma parte de un software de escritorio funciona correctamente

33 Sistema de almacenamiento distribuido 49

pero en un entorno J2EE debido a la forma de cargar las clases en memoria que usa elTomcat no encuentra la clase responsable adecuada Fue necesario modificar y hacerexpliacutecito la clase que debiacutea cargar en la conexioacuten modificando la clase GenericService-

Fetcher (veacutease el Coacutedigo A6)

ndash Gestioacuten de proxies cuando un usuario se autentica en el portal el sistema obtiene auto-maacuteticamente un proxy de su DC del repositorio MyProxy El GT proporciona libreriacuteaspara gestionar dicho proxy y definirlo como el DC por defecto para que sea empleadoen las autenticaciones El problema surge con el servicio RLS que necesita que el DCesteacute almacenado fiacutesicamente en un directorio local Para solucionarlo se desarrolloacute unprocedimiento de conexioacutenvalidacioacuten con la DB que fijaba el DC por defecto para quefuese utilizado por los servicios que lo requiriesen y ademaacutes fuera almacenado localy temporalmente para que el RLS pudiese usarlo en la autenticacioacuten El procedimientoempleado se detalla en el Coacutedigo A7

331 Almacenamiento de datos

Se han desarrollado diferentes procedimientos para introducir datos en el sistema de al-macenamiento de RETELAB que cubren las diferentes necesidades de sus usuarios

Almacenamiento de datos locales Se ha habilitado un sistema de transferencia y al-macenamiento de datos locales (veacutease la Figura 310) que permite a los usuarios compartirdatos con la comunidad Para transferir los datos el usuario debe seleccionar el producto desu computadora que desea compartir asignarle un LFN y describirlo a traveacutes de metadatosescogidos a traveacutes de una lista confeccionada a partir del estaacutendar ISO 19115

Almacenamiento de datos viacutea FTP En el campo de la observacioacuten de la Tierra eshabitual que los usuarios utilicen datos almacenados en servidores FTP externos para susproyectos Se ha implementado un portlet (veacutease la Figura 311) que permite el acceso a dichosservidores para copiar y transferir datos a RETELAB El usuario debe introducir sus datos deacceso navegar a traveacutes del aacuterbol de directorios del servidor FTP seleccionar los elementosque quiere antildeadir y describirlos a traveacutes de metadatos Si los datos estaacuten comprimidos puedeestablecerse el tipo de compresioacuten para que eacutestos sean desempaquetados automaacuteticamenteantes de almacenarse

50 Capiacutetulo 3 Proyecto RETELAB

Figura 310 Portlet para el almacenamiento de datos locales en RETELAB

Almacenamiento de datos generados en RETELAB Los datos generados tras la eje-cucioacuten de una tarea en RETELAB pueden compartirse con el resto de la comunidad a traveacutesdel sistema de almacenamiento (veacutease la Figura 312) El usuario puede visualizar los datos desalida y seleccionar los que desee antildeadir al Data Grid y al igual que en el resto de los casospodraacute ir antildeadiendo los metadatos que considere necesarios para describir cada elemento

Inicializacioacuten del Data Grid La introduccioacuten de nuevos elementos en el sistema de al-macenamiento se hace por defecto de uno en uno a traveacutes de un portlet dedicado pero estono es asumible en el momento de desplegar el sistema ya que es necesario dar de alta grandescolecciones de datos Se desarrolloacute un sistema de registro automaacutetico de datos a traveacutes de fi-cheros XML que indicaban rutas alias y metadatos para cada elemento Este procedimiento esde uso exclusivo del administrador y permite dar de alta automaacuteticamente grandes voluacutemenesde datos

Con el doble propoacutesito de probar el proceso para la inicializacioacuten del Data Grid y el deproporcionar suficientes recursos para poder ejecutar los proyectos que validariacutean el laborato-rio (veacutease la Seccioacuten 36) se dieron de alta varias colecciones de datos

ndash Una coleccioacuten de imaacutegenes SAR correspondientes por un lado al Golfo de Meacutexicoy por otro a la costa noroeste de la Peniacutensula Ibeacuterica asiacute como los datos de viento

33 Sistema de almacenamiento distribuido 51

Figura 311 Portlet para la integracioacuten de datos externos en el sistema

asociados a eacutestas en formato Network Common Data Form (NetCDF) Estos productosfueron empleados para desarrollar y validar el proyecto de SENTINAZOS (veacutease laSeccioacuten 363)

ndash Una coleccioacuten de datos en NetCDF empleada para desarrollar la aplicacioacuten para elcaacutelculo de la PP (veacutease la Seccioacuten 363) que incluiacutea

bull Datos de temperatura superficial del mar provenientes de los sensores AVHRR yMODIS

bull Datos sobre la concentracioacuten de clorofila provenientes de los sensores MODIS ySeaWIFS

bull Datos sobre la radiacioacuten solar disponible para el caacutelculo de la fotosiacutentesis estima-dos por la NASA

Cada producto almacenado fue etiquetado con un conjunto de metadatos para describirlo yasiacute facilitar su posterior identificacioacuten y buacutesqueda

El formato NetCDF [93] ha sido ampliamente utilizado en RETELAB debido a su popu-laridad dentro de la comunidad cientiacutefica Es utilizado regularmente en aplicaciones relacio-

52 Capiacutetulo 3 Proyecto RETELAB

Figura 312 Resultados de la ejecucioacuten de un trabajo en el Grid El usuario puede visualizarlos y revisarlos yoantildeadirlos al Data Grid previa descripcioacuten usando metadatos

nadas con la climatologiacutea meteorologiacutea o la oceanografiacutea para el intercambio de datos esdecir como formato de entradasalida

34 Visualizacioacuten de los datos

Se han integrado dos tipos de visores en RETELAB para la visualizacioacuten de los datosbien para validar las buacutesquedas bien para el anaacutelisis de los resultados tras ser procesados

341 Live Access Server

Un Live Access Server (LAS) [101] es un servidor con la capacidad de conectarse a ser-vidores externos OPeNDAP [32] para el acceso e intercambio de datos Estaacute disentildeado paraproporcionar acceso a datos cientiacuteficos georreferenciados y trabajar con informacioacuten prove-niente de distintos servidores como si fuese una uacutenica DB

Un LAS permite generar graacuteficos de forma dinaacutemica solicitar fragmentos de datos en unavariedad de formatos comparar variables almacenadas en DBs diferentes y generar estadiacutesti-cas baacutesicas La herramienta de visualizacioacuten por defecto es Ferret software de coacutedigo abiertoespecialmente dirigido a trabajar con datos georreferenciados y que permite crear datos cien-

34 Visualizacioacuten de los datos 53

tiacuteficos y proporciona una poderosa herramienta de anaacutelisis Una de las grandes ventajas de unLAS es que cualquier usuario puede acceder a traveacutes de un simple navegador

Se desplegoacute un LAS en RETELAB y se integroacute dentro del portal a traveacutes de un portlet conun Iframe elemento HTML que permite empotrar un documento HTML dentro de otro eneste caso se utilizoacute para incrustar la interfaz Web del LAS como puede verse en la Figura 313

Figura 313 Integracioacuten del Live Access Server en RETELAB

342 Integrated Data Viewer

El Integrated Data Viewer (IDV) [84] desarrollado por Unidata es una herramienta soft-ware implementada en Java que permite visualizar y analizar datos geocientiacuteficos Para in-tegrar IDV en el sistema se desarrolloacute un procedimiento que por cada elemento recuperadotras una consulta a la DB o por cada resultado producido por la ejecucioacuten de un trabajogenera dinaacutemicamente un enlace a un fichero Java Networking Launching Protocol (JNLP)La descarga por medio del enlace de este fichero inicia previa confirmacioacuten del usuario lainstalacioacuten temporal del software IDV La instalacioacuten se realiza de forma automaacutetica y trans-parente gracias a JavaWS y una vez finalizada IDV es cargado con los datos asociados alenlace El uacutenico requisito para su utilizacioacuten es disponer del Entorno de Ejecucioacuten de Java(JRE) que incluye al propio JavaWS

54 Capiacutetulo 3 Proyecto RETELAB

La Figura 314 muestra una composicioacuten de coacutemo un usuario podriacutea acceder a un ficheroNetCDF almacenado en su directorio virtual y visualizarlo a traveacutes del IDV de forma automaacute-tica

Figura 314 Integracioacuten del IDV en RETELAB

35 Gestioacuten y monitorizacioacuten de trabajos

A pesar de que el CESGA fue el principal desarrollador del moacutedulo de enviacuteo y monito-rizacioacuten de trabajos su descripcioacuten en el documento es necesaria debido a que es una partefundamental de RETELAB y se ha colaborado activamente en su integracioacuten con el resto delos moacutedulos del sistema

Existen diferentes alternativas que permiten a los usuarios enviar trabajos a un sistemaGrid pero requieren la interaccioacuten del usuario para por ejemplo decidir a queacute recurso delGrid se enviacutean las tareas lo que implica conocer su arquitectura La interaccioacuten con el usuarioresta transparencia y complica el proceso

Como se ha mencionado en varias ocasiones RETELAB ha sido disentildeado teniendo comopremisa la facilidad de uso por lo que el sistema de enviacuteo y monitorizacioacuten de trabajos fuedesarrollado para que permitiese a los usuarios configurar ejecutar monitorizar y recuperar

35 Gestioacuten y monitorizacioacuten de trabajos 55

los resultados sin necesidad de conocer detalles de implementacioacuten del sistema Grid Estenivel de abstraccioacuten se consiguioacute principalmente gracias a la integracioacuten de un metaplanifi-cador que optimiza el uso de los recursos compartidos y realiza tareas para el descubrimientode recursos planificacioacuten de tareas ejecucioacuten monitorizacioacuten y recuperacioacuten de trabajos

RETELAB incorporoacute un portlet para el enviacuteo y monitorizacioacuten de trabajos que interactuacuteacon el metaplanificador GridWay [64] [65] a traveacutes del API de Distributed Resource Ma-

nagement Application (DRMAA) [112] La eleccioacuten de Gridway como metaplanificador sebasoacute en varias de sus caracteriacutesticas permite interoperar con diferentes middleware Grid tie-ne soporte para DRMAA y permite enviar trabajos empleando el estaacutendar Job Submission

Description Language (JSDL) [16] Un esquema resumido de la arquitectura utilizada para elenviacuteo y monitorizacioacuten de trabajos puede verse en la Figura 315

Figura 315 Esquema de la arquitectura empleada para el enviacuteo y monitorizacioacuten de trabajos en RETELAB

Detalles de implementacioacuten La integracioacuten del metaplanificador con el portal Web fuebastante laboriosa ya que Gridway fue originalmente concebido para ser empleado por usua-rios Unix a traveacutes de CLI o de aplicaciones DRMAA Tal y como estaba originalmente dise-ntildeado GridWay utilizaba el mismo proceso de Unix y el mismo proxy para todos los trabajosque se lanzaban desde la misma cuenta de usuario La identificacioacuten y el acceso de usuarios

56 Capiacutetulo 3 Proyecto RETELAB

de RETELAB no se basa en cuentas de Unix sino que son identificados por su proxy y su AC(veacutease la Seccioacuten 32) Todos los usuarios de RETELAB utilizan la misma cuenta de Unix anivel de recurso de Grid lo que lo hace incompatible con el disentildeo de GridWay Fue nece-sario implementar junto con el equipo de desarrollo del GridWay una versioacuten mejorada delmetaplanificador [33] que manteniendo la compatibilidad con el estaacutendar DRMAA permi-tiese identificar a los usuarios no soacutelo por su cuenta Unix sino tambieacuten por el identificadorpresente en el DC X509

351 Integracioacuten con el sistema de almacenamiento distribuido

El portlet para el enviacuteo de trabajos estaacute totalmente integrado con el Data Grid lo que per-mite por un lado utilizar los datos almacenados en RETELAB como paraacutemetros de entradaen los trabajos de usuario y por otro publicar y compartir los resultados de los trabajos conla comunidad

Test-1

aware

Figura 316 Integracioacuten del espacio de almacenamiento privado del usuario con el portlet de enviacuteo de trabajos

Los paraacutemetros de entrada para un trabajo pueden ser antildeadidos desde el directorio privadode un usuario como puede verse en la Figura 316 o desde el Data Grid

En el caso de que el usuario quiera utilizar los datos almacenados en el Data Grid deberaacutehacer uso de la buacutesqueda dirigida por metadatos Los resultados que obtenga podraacuten ser visua-

35 Gestioacuten y monitorizacioacuten de trabajos 57

lizados a traveacutes del IDV y asiacute confirmar su idoneidad antes de incorporarlos a su trabajo LaFigura 317 muestra la secuencia de buacutesqueda e incorporacioacuten de datos del Data Grid comoparaacutemetros de un trabajo

a

b

Figura 317 Integracioacuten del Data Grid con el portlet de enviacuteo de trabajos a) Portlet de enviacuteo de trabajos con accesoa la buacutesqueda a traveacutes de la DB virtual b)Resultados de la buacutesqueda y seleccioacuten de los paraacutemetrospara el trabajo

Una vez lanzado el trabajo al Grid RETELAB pone a disposicioacuten del usuario un portletde monitorizacioacuten de tareas (veacutease la Figura 318) en el que puede verse el estado (esperaejecucioacuten error o finalizado) de todos sus trabajos Una vez que el trabajo ha finalizado el

58 Capiacutetulo 3 Proyecto RETELAB

monitor permite acceder a los resultados del mismo visualizarlos e incluso integrarlos en elData Grid (veacutease la Figura 312) en caso de que el usuario quiera compartirlos

Figura 318 Portlet para la monitorizacioacuten de los trabajos de usuario

36 Validacioacuten del laboratorio virtual

Una vez finalizado el desarrollo del laboratorio virtual fue probado desplegando variasaplicaciones desarrolladas en entornos de investigacioacuten en el aacuterea de la oceanografiacutea La in-tegracioacuten de estas aplicaciones sirvioacute para validar el sistema y para proporcionar softwareespecializado a la comunidad Todas las aplicaciones desplegadas estaacuten completamente inte-gradas en el portal por lo que hacen uso del sistema de autenticacioacuten del Data Grid y de lagestioacuten y monitorizacioacuten de trabajos

De entre las aplicaciones que a continuacioacuten se van a describir el Regional Ocean Mo-

del System (ROMS) y el modelo de produccioacuten primaria son aplicaciones desarrolladas porterceros que fueron adaptadas para ser ejecutadas en RETELAB mientras que el proyectoSENTINAZOS es un desarrollo propio concebido para solucionar un problema concreto quepor su entidad alcance y necesidad de investigacioacuten adicional del estado del arte es descritoen detalle en la segunda parte del presente documento

361 ROMS

ROMS [98] es un modelo de circulacioacuten oceaacutenica de nueva generacioacuten especialmente di-sentildeado para simular de manera precisa sistemas oceaacutenicos regionales La Figura 319 muestra

36 Validacioacuten del laboratorio virtual 59

un ejemplo de una simulacioacuten de la temperatura superficial oceaacutenica en la costa noroeste dela peniacutensula Ibeacuterica

Figura 319 Representacioacuten de la temperatura superficial en un instante de una simulacioacuten empleando ROMS

ROMS fue desarrollado en Fortran 9095 e implementa ademaacutes del meacutetodo en serie dosmeacutetodos de paralelizacioacuten [114] Message Passing Interface (MPI) y Open Multiprocessing

(OpenMP) mutuamente excluyentes Una caracteriacutestica del modelo es que todas sus entradasy salidas se basan en el formato NetCDF lo que facilita compartir los datos entre los usuariosy otras aplicaciones

El portlet que integra ROMS en el laboratorio fue desarrollado junto con el CESGA ypermite definir y ejecutar instancias del modelo Los usuarios a traveacutes de la interfaz Webpueden configurar los paraacutemetros de las simulaciones seleccionar los datos de entrada a traveacutesdel Data Grid monitorizar el estado de sus trabajos y cuando esteacuten finalizados recuperar losresultados En esta versioacuten es el usuario en el momento de la configuracioacuten quien debeseleccionar el modo de ejecucioacuten de la aplicacioacuten ya sea en serie o en paralelo viacutea OpenMPo MPI

60 Capiacutetulo 3 Proyecto RETELAB

362 Caacutelculo del modelo de produccioacuten primaria

RETELAB debiacutea poder integrar aplicaciones realizadas por los propios centros asociadosal proyecto por lo que se adaptoacute a traveacutes de un portlet un modelo realizado por el ICCMpara el caacutelculo de la Produccioacuten Primaria (PP) oceaacutenica

La PP puede definirse como la generacioacuten de componentes orgaacutenicos a partir del CO2 querealizan los organismos autoacutetrofos a traveacutes de los procesos de fotosiacutentesis o quimiosiacutentesis Esun mecanismo clave que permite a los oceacuteanos a traveacutes del fitoplancton ser los pulmones delplaneta ya que gracias a la PP se genera cerca del 50 de la produccioacuten global de oxiacutegeno yse captura alrededor de la mitad del CO2 mundial El caacutelculo de este paraacutemetro es fundamentalpara comprender el papel que juega el ciclo del carbono en el sistema climaacutetico mundial

Los llamados modelos biooacutepticos son los meacutetodos maacutes utilizados para el caacutelculo a granescala de la PP Estos modelos se basan en informacioacuten obtenida a traveacutes de sateacutelites queincluye entre otros datos informacioacuten sobre las biomasas de fitoplancton y de la luminosidadoceaacutenica En concreto el modelo implementado para RETELAB es una adaptacioacuten del Verti-cally Generalised Production Model (VGPM) desarrollado por Berhefeld y Falkowsky [20]

El portlet implementado permite definir los paraacutemetros de entrada al modelo y ejecutarloen el sistema Grid Los paraacutemetros esperados para un correcto funcionamiento son la tempe-ratura superficial oceaacutenica la concentracioacuten de clorofila y los datos sobre la radiacioacuten dispo-nible para fotosiacutentesis La Figura 320 muestra una composicioacuten que ilustra la visualizacioacutende resultados del caacutelculo de PP una vez lanzada la tarea en el sistema Grid

363 SENTINAZOS

Despueacutes de haber integrado y adaptado aplicaciones desarrolladas por terceros se afrontoacuteel reto de implementar una desde cero que aprovechase el sistema y ademaacutes fuese uacutetil para lacomunidad en un problema de difiacutecil solucioacuten como es la deteccioacuten semiautomaacutetica de con-taminantes marinos basados en hidrocarburos La contaminacioacuten marina es un problema quehabitualmente afecta a nuestras costas y que a menudo se relaciona con grandes cataacutestrofesde petroleros Sin embargo en un mayor porcentaje es originada por pequentildeos derrames quebien sea de forma fortuita debido a pequentildeos accidentes o bien sea de forma premeditada acausa de tareas de mantenimiento se producen diariamente Los centros de vigilancia ma-riacutetima invierten una gran cantidad de recursos en la vigilancia y persecucioacuten de estos actospero cubrir toda la superficie costera es una tarea inabarcable Los sateacutelites aportan la cober-

36 Validacioacuten del laboratorio virtual 61

Figura 320 Composicioacuten de la monitorizacioacuten de un trabajo y su integracioacuten con el Data Grid y el sistema devisualizacioacuten de IDV

tura necesaria para el estudio y monitorizacioacuten de grandes aacutereas y concretamente estudiosprevios [25] [110] demostraron la viabilidad del uso de las imaacutegenes SAR de sateacutelites en ladeteccioacuten de este tipo de contaminantes

El objetivo es desarrollar una aplicacioacuten que permita el anaacutelisis de imaacutegenes de SAR paradetectar hidrocarburos e integrarla en RETELAB ya que esto proporcionariacutea ciertas ventajascomo

ndash Distribuir el almacenamiento de las imaacutegenes SAR

ndash Compartir las colecciones de imaacutegenes que cada centro disponga con el resto de parti-cipantes del proyecto

ndash Optimizar los algoritmos ya que tienen una gran carga computacional que en granmedida estaacute asociada a los bucles que las analizan y que son candidatos a ser paraleli-zados

ndash Ejecutar diferentes instancias de la aplicacioacuten al mismo tiempo aprovechando los dife-rentes recursos del sistema y asiacute analizar simultaacuteneamente diferentes aacutereas de la costa

62 Capiacutetulo 3 Proyecto RETELAB

Aunque la bibliografiacutea muestra que existen algoritmos similares para la deteccioacuten de ver-tidos eacutestos suelen presentar uno o varios de los siguientes problemas

ndash Requieren la presencia activa de un operador

ndash El coste computacional es demasiado alto para su uso en tiempo real

ndash Las implementaciones se basan en libreriacuteas comerciales con licencias privativas

ndash No tienen en cuenta los efectos de los fenoacutemenos meteoroloacutegicos principalmente elviento en la deteccioacuten de los vertidos

Debido a la complejidad de los algoritmos desarrollados la segunda parte de la tesis estaacutededicada a describirlos en detalle y resaltar el caraacutecter innovador de los mismos

Parte II

Validacioacuten del Laboratorio Virtualavances en la deteccioacuten automaacutetica de

vertidos de hidrocarburos

CAPIacuteTULO 4

ESTADO DEL ARTE

Introduccioacuten

Aunque existen muchos tipos de contaminantes los vertidos de hidrocarburos son pro-bablemente los que maacutes afectan al ecosistema marino A pesar de lo que popularmente esaceptado las grandes cataacutestrofes provocadas por los petroleros suponen una pequentildea parte dedicha contaminacioacuten Un estudio de la Agencia Espacial Europea (ESA) [39] reveloacute que tansoacutelo un 7 de los vertidos pueden ser atribuidos a accidentes mientras que un 45 corres-ponden a derrames que habitualmente se realizan durante operaciones de mantenimiento (porejemplo la limpieza de las sentinas) y que denominaremos sentinazos un 13 proviene defuentes naturales y el 35 restante corresponde a vertidos realizados directamente en los riacuteos

Los vertidos afectan a la economiacutea (turismo pesca etc) y al ecosistema de las regionesdamnificadas por lo que son necesarios sistemas y herramientas para su localizacioacuten Unaraacutepida identificacioacuten permitiriacutea minimizar su impacto e incluso identificar a sus causantesLos sensores que operan en el rango de las microondas comuacutenmente llamados radares handemostrado ser de gran utilidad en la deteccioacuten de vertidos de hidrocarburos

Radar El radar es un sistema de deteccioacuten activo [31] cuyo funcionamiento baacutesicamenteconsiste en el enviacuteo de un pulso de energiacutea en el rango de las microondas hacia la superficieterrestre Este haz es reflejado y retrodispersado por la superficie y parte de la energiacutea esrecogida nuevamente por la antena del radar La intensidad de la sentildeal que vuelve a la antenaes medida y grabada para posteriormente ser utilizada en la construccioacuten de una imagen de la

66 Capiacutetulo 4 Estado del arte

45

7

13

35

Sentinazos

Accidentes

Emanaciones

naturales

Riacuteos

Figura 41 Oriacutegenes de los vertidos de hidrocarburos Imagen adaptada de [39]

zona estudiada Cada piacutexel de la imagen estaacute asociado a un aacuterea sobre el terreno y almacena unvalor que representa la cantidad de energiacutea que regresa al sensor debido a la retrodispersioacuten

Tradicionalmente los buques y los aviones han sido los medios de vigilancia maacutes utili-zados en la lucha contra la contaminacioacuten oceaacutenica Por un lado los buques equipados consistemas de radar son uacutetiles para detectar contaminantes en sus proximidades y obtener mues-tras de los vertidos pero su restringida cobertura limita su eficacia por otro lado los avionesde vigilancia que utilizan sistemas de Radar Lateral Aerotransportado (SLAR) permiten vi-gilar aacutereas maacutes extensas pero su coste hace que sea poco viable emplearlos para monitorizarsuperficies de gran tamantildeo de forma intensiva y simultaacutenea En resumidas cuentas tanto losbuques como los aviones son adecuados como medios de primera intervencioacuten pero seriacuteadeseable un sistema maacutes econoacutemico con mayor cobertura

El uso de sistemas de radar instalados a bordo de sateacutelites permite abarcar aacutereas muchomaacutes extensas y a un coste razonable pero su resolucioacuten espacial no es adecuada para la buacutes-queda de pequentildeos derrames de hidrocarburos La resolucioacuten es la habilidad para distinguirdos objetos separados por la miacutenima distancia posible Si la distancia entre los objetos essuficiente cada uno de ellos estaraacute localizado en una celda de la imagen diferente y seraacuten dis-tinguibles en caso contrario el radar devolveraacute una combinacioacuten de la energiacutea reflejada porlos dos objetos como si fuese uno soacutelo [74] Tanto el radar aerotransportado como el espacialobservan la superficie lateralmente (veacutease la Figura 42) y su resolucioacuten espacial es diferente

67

en la direccioacuten paralela a la trayectoria del sateacutelite tambieacuten denominada resolucioacuten en acimuty en la perpendicular es decir en la direccioacuten al objetivo

En la perpendicular a la trayectoria del sateacutelite el sistema puede discriminar dos objetossi la distancia entre ellos es mayor que la mitad de la anchura del pulso (pulse width) enviadoLa resolucioacuten perpendicular se calcula a traveacutes de la siguiente foacutermula

Rp =c middot τ

2=

c2 middotβ

(41)

siendo c la velocidad de la luz y τ la anchura del pulso Tambieacuten puede expresarse atraveacutes el ancho de banda del pulso (pulse bandwidth) representado por β

Normalmente los radares a bordo de sateacutelites trabajan en anchos de banda que van desdelos 10 a los 40 MHz Este rango generariacutea resoluciones que van desde los 15 a los 37 metrosque son suficientemente buenas para la deteccioacuten de vertidos El problema principal estaacute aso-ciado a la resolucioacuten en acimut es decir en la trayectoria del sateacutelite que se calcula como

Rac =λ middotdLA

(42)

siendo λ la longitud de onda d la distancia del sensor al objetivo y LA la longitud de laantena

d

A

A

B

B

Rac

Rac

800 km

d=1131 km

15deg

45deg

Trayect

oria d

el sa

teacutelit

e

Perpendicular a la trayectoria

Figura 42 Resolucioacuten espacial de un radar a bordo de un sateacutelite

68 Capiacutetulo 4 Estado del arte

Dado que la longitud de onda estaacute situada dentro de un rango determinado de microondasy que no puede haber grandes variaciones de la altura a la que orbita el sateacutelite la resolucioacutenen acimut queda directamente determinada por la longitud de la antena Obtener una oacuteptimaresolucioacuten utilizando sistemas de radar sobre plataformas espaciales implicariacutea el uso de an-tenas de enormes proporciones lo que seriacutea impracticable Empleando los datos de ejemplode la Figura 42 un radar que operase en la Banda C con una longitud de onda de 5 cm y queviajase a bordo de un sateacutelite que orbitase a 800 km de altura necesitariacutea una antena de casi 2km para conseguir una resolucioacuten de 30 m cuando el Aacutengulo de Incidencia (IA) fuese de 45

LA =005 middot1131 middot103

30= 1885m (43)

Para solucionar este haacutendicap surge un tipo especial de radar llamado SAR que permiteobtener resoluciones de pocos metros con antenas de pequentildeas dimensiones Por ejemplo laresolucioacuten del Envisat alcanzaba los 30 m empleando una antena rectangular de 13 m x 10m

SAR Los principios baacutesicos del funcionamiento del SAR solucionan la limitacioacuten deresolucioacuten del radar El SAR montado sobre una plataforma moacutevil analiza y recoge diferentesmedidas de un mismo punto durante su trayecto (Figura 43) Esto permite simular una antenade las mismas proporciones que la distancia entre la primera y la uacuteltima medicioacuten llegando aconseguir resoluciones de tan soacutelo unos pocos metros

Liacutenea de tierra

Traza

Antena virtual

Primera medicioacuten

Uacuteltima medicioacuten

Figura 43 Antena virtual generada por SAR

Las imaacutegenes SAR son complejas y difiacuteciles de interpretar y esto es debido a muacuteltiplesfactores (la superficie es estudiada lateralmente el aacutengulo de emisioacuten e incidencia del haz de

69

energiacutea variacutea la sentildeal de retorno se ve afectada por la distancia entre la antena y la superficieestudiada etc) La Figura 44 muestra un ejemplo de una imagen SAR en la que se apreciacoacutemo la intensidad no es homogeacutenea Las zonas maacutes cercanas al sateacutelite y con menor IA danlugar a niveles de intensidad maacutes altos (representados de forma maacutes clara) mientras que laszonas maacutes alejadas y con aacutengulos mayores son representadas de forma maacutes oscura debido alos bajos niveles de intensidad

Figura 44 Imagen SAR de la costa gallega obtenida por el sateacutelite Envisat (04052007)

Ademaacutes de la amplia cobertura y buena resolucioacuten que puede conseguirse con el SAR esnecesario destacar que al ser un sensor activo su funcionamiento no depende de la radiacioacutensolar y puede utilizarse durante el diacutea y la noche Ademaacutes el sensor es independiente de lacobertura nubosa ya que su haz de energiacutea en el rango de las microondas le permite atravesarlasin sufrir alteraciones

Un estudio en mayor profundidad de SAR y de sus aplicaciones puede encontrarse en [66]

Imaacutegenes SAR de la superficie oceaacutenica

La superficie del mar en condiciones moderadas de viento presenta cierta rugosidad ge-nerada por las ondas capilares Esta rugosidad provoca una retrodispersioacuten uniforme del hazde energiacutea enviado por el SAR Los vertidos de hidrocarburos asiacute como determinados fe-

70 Capiacutetulo 4 Estado del arte

noacutemenos naturales [63] como las algas el hielo o los vientos de baja intensidad suprimendichas ondas capilares provocando un aplanamiento de la zona (veacutease la Figura 45b) Estasaacutereas tienen un comportamiento especular frente al haz de energiacutea que reduce considerable-mente la cantidad de radiacioacuten retornada al sensor Los piacutexeles que representan a este tipo dezonas almacenan valores de retrodispersioacuten muy bajos lo que provoca que se visualicen comoaacutereas oscuras El efecto provocado por los distintos fenoacutemenos naturales y que es similar alde los vertidos es conocido como look-alike Si el viento que afecta a la zona del vertido essuficientemente fuerte el efecto de laquoaplanamientoraquo de los hidrocarburos es atenuado hacien-do muy difiacutecil o imposible distinguirlo del mar limpio (veacutease la Figura 45c) Por el contrariosi el aacuterea analizada estaacute afectada por vientos de baja intensidad (veacutease la Figura 45a) lasondas capilares desaparecen y el contraste entre el vertido y el mar limpio no es suficientepara distinguirlos por lo que aparecen look-alikes

Diversos estudios [40] [92] [43] han fijado la velocidad del viento miacutenima y necesariapara detectar contaminantes entre 2 y 3 ms El liacutemite superior se encuentra maacutes difuso dadoque depende del tipo de hidrocarburo y del tiempo que ha pasado desde su vertido pero podriacuteaestablecerse que a partir de 10 ms su deteccioacuten es complicada y que una velocidad de entre12 y 15 ms podriacutea ser considerada el umbral maacuteximo para poder identificar un sentinazo Lascondiciones oacuteptimas de viento se encontrariacutean en el rango de 35 a 70 ms [54]

(a) (b) (c)Vientos de baja intensidad lt3 ms Vientos moderados Vientos fuertes gt 15 ms

Figura 45 Efecto del viento en la retrodispersioacuten de un pulso SAR

71

Metodologiacuteas para la deteccioacuten de vertidos de hidrocarburos en imaacutegenes SAR

Inspeccioacuten manual La inspeccioacuten manual de las imaacutegenes SAR para la deteccioacuten desentinazos es la teacutecnica maacutes popular y maacutes sencilla de aplicar Estaacute basada en dos grandesfases

ndash Localizacioacuten de fenoacutemenos sospechosos

ndash Anaacutelisis y asignacioacuten de un grado de probabilidad (alto medio o bajo) de que seansentinazos

Aunque la mayoriacutea de los fenoacutemenos detectados pueden ser clasificados correctamente porun experto basaacutendose soacutelo en la imagen existen algunos maacutes confusos en los que el operadornecesita utilizar informacioacuten externa adicional para su correcta clasificacioacuten como puede serdatos de vientos periodo del antildeo forma caracteriacutesticas del aacuterea de observacioacuten etc

Inspeccioacuten automaacutetica La literatura muestra un gran esfuerzo en el desarrollo de siste-mas automaacuteticos y semiautomaacuteticos para la deteccioacuten de vertidos analizando imaacutegenes SARPuede encontrarse un extenso repaso a los antecedentes bibliograacuteficos tanto en el anaacutelisisde Brekke y Solberg [25] como en el de Topouzelis [110] Dichos trabajos muestran que lamayoriacutea de los sistemas despueacutes de realizar alguacuten tipo de preprocesado sobre las imaacutegenes(calibrado proyeccioacuten filtrado de ruido enmascaramiento de la tierra etc) aplican un algo-ritmo compuesto de 3 grandes fases

ndash Segmentacioacuten el objetivo es localizar aislar y extraer todas las aacutereas susceptibles deser vertidos de hidrocarburos (incluyendo los falsos positivos)

ndash Extraccioacuten de caracteriacutesticas las regiones previamente detectadas son analizadas y ca-racterizadas

ndash Clasificacioacuten analizando las caracteriacutesticas extraiacutedas y a traveacutes de un clasificador seasigna a cada candidato una etiqueta o una probabilidad de ser sentinazo o look-alike

La extraccioacuten de caracteriacutesticas y la clasificacioacuten pueden estar apoyadas por informacioacutencontextual como por ejemplo proximidad a fuentes de vertidos (plataformas petroliacuteferasbarcos etc) o datos meteoroloacutegicos La Figura 46 resume las fases principales de un sistemaautomaacutetico

72 Capiacutetulo 4 Estado del arte

Figura 46 Sistema automaacutetico para la deteccioacuten de sentinazos

Comparativa entre la inspeccioacuten automaacutetica y la inspeccioacuten manual Los sistemasmanuales presentan ciertas desventajas frente a los automaacuteticos su eficiencia depende dela experiencia del experto que analiza las imaacutegenes el ojo humano tiene dificultades paraclasificar aacutereas difusas donde las fronteras entre la mancha y el fondo no estaacuten claras eloperador tiende a sobreseleccionar piacutexeles al delinear los bordes de las manchas el tiempo deprocesamiento es claramente superior al de un sistema automaacutetico etc

La principal desventaja de los sistemas automaacuteticos respecto a los manuales tiene que vercon la confianza en los mismos Los medios de vigilancia in-situ como barcos y aviones soncostosos y limitados y aunque los sistemas automaacuteticos pueden clasificar correctamente lamayoriacutea de los sentinazos existe un pequentildeo nuacutemero de ellos que son clasificados incorrec-tamente Los sistemas de deteccioacuten automaacuteticos suelen utilizarse como una herramienta deapoyo a las decisiones donde un operario tiene la uacuteltima palabra a la hora de movilizar losmedios de vigilancia

Teacutecnicas de deteccioacuten automaacutetica de sentinazos

Los siguientes subapartados profundizan en las teacutecnicas utilizadas para desarrollar lasprincipales fases de los algoritmos de deteccioacuten

Segmentacioacuten Analizando la intensidad de la sentildeal recuperada por el sensor es posibledistinguir ciertos fenoacutemenos oceaacutenicos Como se ha visto anteriormente los sentinazos asiacutecomo otros fenoacutemenos naturales se representan en las imaacutegenes SAR con valores de baja in-

73

tensidad El objetivo de esta fase es detectar todos los posibles sentinazos siendo su resultadouna imagen binaria en la que se destacan todos los candidatos El umbral de intensidad paraque un piacutexel sea segmentado no es constante y depende de factores asociados al aacuterea estudia-da como el IA del haz del sateacutelite o las condiciones meteoroloacutegicas La segmentacioacuten es unafase fundamental dentro del algoritmo dado que si un sentinazo no es aislado en esta fase nopodraacute ser clasificado como tal en fases posteriores

La diferencia de contraste entre los candidatos y el fondo de la imagen sugiere que lasteacutecnicas basadas en umbrales pueden ser adecuadas para la segmentacioacuten por lo que tanto lasteacutecnicas de umbralizacioacuten simple [41] como las de umbralizacioacuten adaptativa [103] [104] [37]han sido ampliamente utilizadas Ademaacutes de las basadas en umbrales han sido empleadasotras teacutecnicas para la segmentacioacuten como son las redes neuronales [108] [54] las teacutecnicasbasadas en texturas [21] [72] o las basadas en deteccioacuten de bordes [29] [81]

Debido a la complejidad de la segmentacioacuten y a las dimensiones de las imaacutegenes SAReacutesta es la fase computacionalmente maacutes costosa La velocidad de ejecucioacuten del algoritmo escrucial para dar una respuesta en tiempo cuasi real Para acelerar la segmentacioacuten algunossistemas reducen la resolucioacuten radiomeacutetrica de la imagen original de 32 bits codificaacutendolaen 8 bits [90] [54] o bien analizan soacutelo pequentildeas Regiones de Intereacutes (ROIs) de la imagenprincipal que previamente han sido seleccionadas por un experto [37] otros en cambio usanfactores de escape en sus algoritmos para no procesar todos los piacutexeles de la imagen [104]

Extraccioacuten de caracteriacutesticas Una vez detectados los candidatos eacutestos son analizadosy caracterizados El vector de caracteriacutesticas deberiacutea recoger la informacioacuten necesaria parauna posterior clasificacioacuten A pesar de que existen algunos trabajos que intentan unificar elnuacutemero y tipo de caracteriacutesticas [109] [111] en general no existen estudios sistemaacuteticos sobrela extraccioacuten de caracteriacutesticas y su influencia en la clasificacioacuten y por ello su eleccioacuten sueleproducirse de forma heuriacutestica No obstante la mayoriacutea de las caracteriacutesticas utilizadas seengloban en las siguientes clases

ndash Caracteriacutesticas geomeacutetricas desde el punto de vista de la composicioacuten quiacutemica del hi-drocarburo la forma no guarda una relacioacuten directa con el vertido no obstante desdeel punto de vista de su origen estudios previos [92] muestran que la forma de los sen-tinazos es caracteriacutestica y pertenece a uno de los tipos mostrados en la Figura 47

ndash Caracteriacutesticas fiacutesicas asociadas al nivel de intensidad de los piacutexeles que forman elcandidato y a los de la superficie circundante

74 Capiacutetulo 4 Estado del arte

ndash Texturas en contraposicioacuten a las caracteriacutesticas obtenidas de cada piacutexel de forma aisla-da las texturas aportan informacioacuten sobre la correlacioacuten espacial de dichos piacutexeles enun aacuterea

ndash Informacioacuten contextual la informacioacuten exclusivamente basada en la mancha puede noser suficiente para una correcta clasificacioacuten de las aacutereas maacutes confusas y es en estepunto donde la informacioacuten contextual como la distancia a una posible fuente del ver-tido [104] o los datos meteoroloacutegicos [40] puede ser de utilidad

Figura 47 Anaacutelisis de la forma de 1638 sentinazos detectados en el Mediterraacuteneo durante el antildeo 1999 Figuraadaptada de [92]

Clasificacioacuten El objetivo de esta fase es distinguir cuaacuteles de los candidatos segmentadosson sentinazos y cuaacuteles son look-alikes (falsos positivos) utilizando para ello un clasificadorcuya entrada es el vector de caracteriacutesticas obtenido en la fase anterior La comparacioacuten enteacuterminos de eficiencia entre los distintos clasificadores existentes en la bibliografiacutea resultamuy complicada dado que cada sistema utiliza su propio conjunto de pruebas y las caracte-riacutesticas extraiacutedas de los candidatos son diferentes Es conveniente resaltar que muchos de losconjuntos de prueba utilizados no contienen sentinazos confirmados in-situ sino que han sidodetectados y clasificados por un operador de forma manual En otros muchos casos simple-mente no se especifica la forma en que fueron identificados

75

En la bibliografiacutea podemos encontrar muacuteltiples aproximaciones al problema de la clasifi-cacioacuten Las Red Neuronal Artificial (ANN) [71] y sus diferentes implementaciones han sidomuy utilizadas

ndash Frate et aacutel [37] utilizaron una DB con 600 imaacutegenes ERS de baja resolucioacuten (100 m x100 m) codificadas en 8 bits de la que se extrajeron 139 candidatos (71 sentinazos y 68look-alikes) Utilizando un clasificador basado en una ANN y a traveacutes de una validacioacutencruzada (dejando uno fuera) se clasificoacute correctamente al 82 de los sentinazos y al90 de los look-alikes

ndash Topouzelis et aacutel [108] parten de una DB de 24 imaacutegenes de alta resolucioacuten (25 m x 25m) codificadas en 8 bits De la DB se seleccionaron 159 fragmentos (90 look-alikes y69 sentinazos) La ANN utilizada clasificoacute correctamente el 91 de los sentinazos y el87 de los look-alikes

ndash Oscar Garciacutea-Pineda et aacutel [54] seleccionaron de una DB con 700 imaacutegenes Radarsatcodificadas en 8 bits dos conjuntos de entrenamiento con 14 y 10 imaacutegenes respectiva-mente y dos conjuntos de validacioacuten con 5 imaacutegenes cada uno Un primer clasificadorentrenado para distinguir los piacutexeles con hidrocarburos de los piacutexeles con mar limpiofue aplicado sobre el conjunto de 14 imaacutegenes obtenieacutendose una eficacia del 9822El segundo clasificador entrenado sobre el conjunto de 10 imaacutegenes para clasificar en-tre 3 tipos de piacutexeles (sentinazos mar limpio y bajo viento) obtuvo una eficacia del9774

Otro gran grupo de clasificadores son los basados en modelos probabiliacutesticos

ndash Solberg et aacutel [103] combinaron un modelo estadiacutestico con un sistema basado en reglase incorporaron informacioacuten contextual (datos de vientos y distancia a posibles oriacutegenesdel vertido) Aplicando el algoritmo sobre 84 imaacutegenes SAR (inspeccionadas por unoperador) y usando un meacutetodo de validacioacuten cruzada su eficacia alcanzoacute el 94 en ladeteccioacuten de sentinazos y el 99 en la de look-alikes Este modelo ha sido mejoradoen varias ocasiones

bull Solberg y Brekke [104] trabajaron con un conjunto de entrenamiento consistenteen 56 imaacutegenes del Envisat y 71 imaacutegenes del Radarsat y un conjunto de pruebacon 27 imaacutegenes del Envisat El conjunto de prueba conteniacutea 37 sentinazos con-firmados y 12110 look-alikes (obtenidos de la segmentacioacuten de las imaacutegenes)

76 Capiacutetulo 4 Estado del arte

El 994 de los look-alikes fueron clasificados correctamente mientras que laeficacia en la deteccioacuten de los sentinazos alcanzoacute el 784

bull Brekke y Solberg [26] se basaron en el modelo anterior para desarrollar un sis-tema de deteccioacuten de sentinazos en dos pasos En el primer paso emplearon unclasificador estadiacutestico normalizado con el objetivo de detectar todos los senti-nazos y en un segundo paso aplicaron un estimador de confianza que asignabauna probabilidad a cada sentinazo Su DB se componiacutea de 104 imaacutegenes EnvisatWide Swath Mode (WSM) divididas en tres subconjuntos entrenamiento (56 imaacute-genes) validacioacuten (20 imaacutegenes) y test (27 imaacutegenes) La eficacia del clasificadorfue del 927 sobre los sentinazos y del 897 con los look-alikes

ndash Fiscella et aacutel [41] realizaron una comparativa entre un clasificador de probabilidadcompuesta y uno basado en la distancia de Mahalanobis El conjunto de datos de entre-namiento estaba compuesto por 80 sentinazos y 43 look-alikes mientras que el de testque estaba analizado por un operador teniacutea 11 sentinazos 6 look-alikes y 4 indefinidosEl 818 de los sentinazos y el 100 de los look-alikes fueron correctamente clasifi-cados usando la distancia de Mahalanobis mientras que el clasificador de probabilidadcompuesto identificoacute el 909 de los sentinazos y el 67 de los look-alikes

La eficacia de los diferentes meacutetodos de clasificacioacuten es totalmente dependiente de las fa-ses previas y por tanto es difiacutecil compararlos Es necesario segmentar el candidato para poderclasificarlo siendo clave para su correcta clasificacioacuten las caracteriacutesticas seleccionadas y supoder discriminatorio Es importante tambieacuten destacar que las eficacias de algunos clasifica-dores viene dada a nivel de piacutexel [54] y las de otros a nivel de candidato [103] En generalla eficacia a nivel de piacutexel suele ser maacutes elevada dado que se evaluacutea una muestra mayor y loserrores de clasificacioacuten si son pocos quedan maacutes diluidos

CAPIacuteTULO 5

SISTEMA AUTOMAacuteTICO DE DETECCIOacuteN DE

VERTIDOS EN IMAacuteGENES DE SAR

51 Descripcioacuten del proyecto

Galicia es una regioacuten en el noroeste de Espantildea con maacutes de 1200 km de costa y aproxi-madamente 720 playas donde el mar ha jugado siempre un papel muy importante en la vidade sus habitantes La pesca y la agricultura han sido pilares fundamentales de su economiacutea yactualmente el sector turiacutestico juega tambieacuten un papel esencial Sus costas playas y las bon-dades de su gastronomiacutea particularmente la relacionada con el producto de mar (pescados ymariscos) son en buena parte culpables del incremento turiacutestico Ademaacutes se encuentran enesta regioacuten importantes astilleros y puertos tanto civiles como militares

La situacioacuten geograacutefica de Galicia convierte a sus costas en un paso obligado para buenaparte del traacutefico mariacutetimo europeo El Esquema de Separacioacuten de Traacutefico de Fisterra (ESTF)mostrado en la Figura 51 es utilizado para dirigir y controlar este traacutensito Las viacuteas de circu-lacioacuten estaacuten empezando por la maacutes proacutexima a la costa a 217 millas naacuteuticas (40 km) 283millas naacuteuticas (524 km) 355 millas naacuteuticas (657 km) y 395 millas naacuteuticas (73 km) deCabo Fisterra Las viacuteas C y D del ESTF son usadas para navegar de norte a sur mientras quela A y B se utilizan en sentido contrario Las viacuteas B y D estaacuten reservadas para embarcacionescon mercanciacuteas peligrosas

Cada antildeo miles de buques de mercanciacuteas navegan a lo largo del ESTF y debido a lanormativa internacional todos los barcos tienen que informar de su posicioacuten al servicio de

78 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

7degW8degW9degW10degW

44degN

43degN

42degN

0 30 60 90 12015

Millas naacuteuticas130ordm

75ordm

Cabo Vilaacuten

Cabo Fisterra

Traacutefico

costero

D C B A

Figura 51 Esquema de Separacioacuten de Traacutefico de Fisterra

Traacutefico Mariacutetimo de Fisterra al cruzar las liacuteneas de demora 130 a Cabo Vilaacuten y 75 a CaboFisterra La Tabla 51 muestra el nuacutemero de informes recibidos entre los antildeos 1999 y 2009

Antildeo 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009Buques 41829 44561 44331 43209 43469 42538 43212 41942 42136 42354 40320

Tabla 51 Nuacutemero de embarcaciones identificadas en el ESTF

Este intenso traacutefico tiene graves consecuencias medioambientales en forma de accidentesy vertidos como por ejemplo el del petrolero Urquiola en 1976 o el del Mar Egeo en 1992 Sinembargo la cataacutestrofe maacutes importante y con mayor repercusioacuten ha sido la del buque petroleroPrestige que el 13 de Noviembre del antildeo 2002 sufrioacute un accidente frente a la costa gallegapara acabar hundieacutendose al cabo de seis diacuteas En la Figura 52 se observa la extensioacuten delvertido 5 diacuteas despueacutes de la cataacutestrofe La amplia cobertura cientiacutefica del accidente permitioacuteobtener multitud de datos y de informacioacuten lo que unido a un incremento de los recursoseconoacutemicos tuvo como consecuencia el desarrollo de varios proyectos para la deteccioacuten yseguimiento de grandes vertidos [90] [18] [34]

A pesar de que los medios de vigilancia y prevencioacuten se incrementaron despueacutes de la ca-taacutestrofe se descubren regularmente pequentildeos vertidos (sentinazos) provenientes de las ope-raciones de mantenimiento y limpieza de sentinas Es conveniente recordar que los pequentildeos

51 Descripcioacuten del proyecto 79

vertidos a pesar de no ser tan mediaacuteticos son la fuente de contaminacioacuten por hidrocarburosmaacutes importante (veacutease la Figura 41)

8deg30W9degW9deg30W10degW10deg30W

44degN

43deg30N

43degN

42deg30N

42degN

0 10 20 30 405

Millas naacuteuticas

Figura 52 Imagen SAR del vertido provocado por el accidente del buque petrolero Prestige (17112002)

La Agencia espantildeola de Salvamento y Seguridad Mariacutetima (SASEMAR) es la autoridadpuacuteblica encargada de monitorizar las costas gallegas en general y el ESTF en particular SA-SEMAR como se observa en la Figura 53 cuenta con varias bases de vigilancia en Galiciay con recursos tanto marinos como aeacutereos para efectuar la monitorizacioacuten y la vigilancia Eluso de buques y aviones es costoso y limitado por lo que el acuerdo suscrito con la Agen-cia Europea de Seguridad Mariacutetima (EMSA) para recibir hasta un maacuteximo 12 avisos al mesprovenientes de la inspeccioacuten de imaacutegenes SAR sobre posibles vertidos es especialmente uacutetilEstos avisos son evaluados por el personal de SASEMAR y cuando se considera apropiadoenviacutean sus propios recursos a la zona

En general una nacioacuten costera como es Espantildea y en particular Galicia con su intenso traacute-fico mariacutetimo y su traacutegico historial de cataacutestrofes medioambientales deberiacutea poseer su propiosistema de anaacutelisis de imaacutegenes SAR sin depender de sistemas de terceros Con este aacutenimose desarrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos a partirde imaacutegenes SAR que aunque resulta faacutecilmente adaptable a otras regiones fue optimizadopara su uso en las costas gallegas [79] Se prestoacute especial atencioacuten a su implementacioacuten conel objetivo de dar una respuesta en tiempo cuasi real sin sacrificar la eficiencia Las diferentesherramientas software o libreriacuteas utilizadas para el desarrollo del prototipo estaacuten soportadaspor licencias puacuteblicas lo que permite la libre distribucioacuten del producto final Los siguientes

80 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

A Coruntildea

Porto do Son

Vigo

Recursos de SASEMAR en Galicia

1 avioacuten de vigilancia CESSNA 337-G

1 avioacuten de vigilancia CN235-300

1 helicoacuteptero S61N - Sikorsky

1 helicoacuteptero AW139

3 buques polivalentes

Figura 53 Bases de la SASEMAR en Galicia y recursos asignados a la regioacuten

apartados detallan el desarrollo del algoritmo utilizado y su incorporacioacuten a un prototipo LaSeccioacuten 52 presenta la DB de imaacutegenes usada para el desarrollo y las fuentes de datos uti-lizadas Las particularidades del algoritmo se describen en las Secciones 53 54 55 y 56Por uacuteltimo la Seccioacuten 57 se centra en la descripcioacuten del prototipo implementado y en suintegracioacuten en RETELAB

52 Fuentes de datos

521 Sateacutelite Envisat

En Marzo del 2002 la ESA puso en oacuterbita el sateacutelite de observacioacuten terrestre Envisat [1]Su objetivo principal era dotar a Europa de una mayor capacidad para la observacioacuten de laTierra desde el espacio y dar continuidad a las misiones predecesoras de los sateacutelites ERS-1 y ERS-2 La instrumentacioacuten del Envisat estaba disentildeada para realizar observaciones ymediciones del oceacuteano la tierra el hielo y la atmoacutesfera Estuvo operativo hasta el 8 de Abrildel 2012 diacutea en que se perdioacute el contacto El 9 de Mayo del 2012 la ESA dio por finalizadaoficialmente la misioacuten Algunos de los paraacutemetros orbitales del sateacutelite pueden consultarse enla Tabla 52

La continuidad de las misiones europeas para la observacioacuten de la Tierra estaacute garantizadacon la serie de sateacutelites Sentinel que estaacute siendo desarrollada por la ESA dentro del programa

52 Fuentes de datos 81

de Monitorizacioacuten Global para el Medioambiente y la Seguridad (GMES) Se espera que elprimer sateacutelite Sentinel sea lanzado durante el antildeo 2013

Oacuterbitas por diacutea 143Periodo repeticioacuten de ciclo 35 diacuteasOacuterbitas por ciclo 501Periacuteodo orbital 10059 minVelocidad de la oacuterbita 745 kmsInclinacioacuten orbital 9855

Altitud media 7998 km

Tabla 52 Paraacutemetros orbitales del sateacutelite Envisat

A bordo del Envisat viajaban 10 instrumentos dedicados a la observacioacuten de la Tierra

ndash El instrumento de Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite(DORIS) ofreciacutea datos sobre la oacuterbita del sateacutelite con gran precisioacuten Esta informacioacutenera utilizada para determinar la posicioacuten exacta del sateacutelite

ndash El Espectroacutemetro de Imaacutegenes de Resolucioacuten Media (MERIS) mediacutea la reflectancia dela Tierra en el rango del espectro solar analizando el color de los oceacuteanos y la coberturadel terreno Los mapas de alta resolucioacuten generados con sus datos son utilizados paraevaluar los efectos del cambio climaacutetico

ndash El Radioacutemetro Avanzado de Exploracioacuten Longitudinal (AATSR) permitiacutea medir la tem-peratura de la superficie de la Tierra y de los oceacuteanos a partir de la radiacioacuten teacutermicainfrarroja que emite nuestro planeta

ndash El Altiacutemetro de Radar (RA-2) era capaz de registrar la topografiacutea de la superficie te-rrestre con una precisioacuten de unos pocos centiacutemetros lo que haciacutea posible analizar porejemplo la evolucioacuten temporal del nivel del mar

ndash El objetivo principal del Radioacutemetro de Microondas (MWR) era el de realizar medicio-nes del vapor de agua de la atmoacutesfera y del contenido de agua liacutequida de las nubes

ndash El instrumento para Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Es-trellas (GOMOS) proporcionaba una cartografiacutea global del ozono en altitud y un segui-miento de tendencia de gran precisioacuten

82 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash El Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva (MIPAS) era unespectroacutemetro independiente de la luz solar que serviacutea para realizar mediciones de altaresolucioacuten del espectro de emisiones gaseosas en la atmoacutesfera terrestre

ndash La misioacuten principal del Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes paraCartografiacutea Atmosfeacuterica (SCIAMACHY) era registrar el espectro de rayos solares quepasan a traveacutes de la atmoacutesfera Se utilizaba para encontrar huellas de absorcioacuten espectralproducidas por determinados gases y entre otras utilidades permitiacutea realizar mapasglobales de polucioacuten atmosfeacuterica

ndash El Retrorreflector Laacuteser (LRR) era un sensor pasivo utilizado como reflector de pul-sos laacuteser de alta potencia enviados desde estaciones en tierra y que proporcionaba ladistancia entre el sateacutelite y la estacioacuten

ndash El Radar de Apertura Sinteacutetica Avanzado (ASAR) era un novedoso instrumento SARdel que se obtuvieron los datos utilizados para el desarrollo de SENTINAZOS La si-guiente Seccioacuten profundiza su descripcioacuten

La mayoriacutea de los instrumentos presentados excepto el MWR y el RA-2 teniacutean coberturaglobal y necesitaban entre 1 y 3 diacuteas para completarla

Radar de Apertura Sinteacutetica Avanzado

El ASAR es un sensor activo que opera en el rango de las microondas concretamenteen la banda C con una frecuencia de 5331 GHz En la figura 54 se muestra el espectroelectromagneacutetico ofreciendo mayor detalle en el rango de las microondas

Las caracteriacutesticas particulares del sensor ademaacutes de su independencia de la luz solar yde la cobertura nubosa lo hacen especialmente eficiente en el estudio de temas tan diversoscomo frentes oceaacutenicos oleaje marino deteccioacuten de barcos y contaminantes movimiento yextensioacuten de hielos agricultura estudios urbaniacutesticos desastres naturales etc Dependiendodel aacuterea de estudio se trabajaraacute en uno de los 5 modos de operacioacuten soportados por el sensory que son descritos en la Tabla 53

Envisat Wide Swath Mode

El Envisat Wide Swath Mode (WSM) es el modo de operacioacuten que mejor se adapta a labuacutesqueda de vertidos de hidrocarburos Por un lado gracias a la teacutecnica ScanSAR ofrece una

52 Fuentes de datos 83

Banda

Frecuencia (GHz)

Long onda (cm)

InfrarojoMedio

MicroondasRadar

Radio Bandas Audio AC

UV

GammaRayos X

P L S C X K Q V W

039 155

03 10 30 100 300 1000

56463610957539

100 30 10 3 1 03

Vis

ible

10 10 1010 10 10 10 10 10 10 120 18 16 14 12 10 8 6 4 2

Longitud de onda

Frecuencia Hz

00

3 Å

03

3 Å

30

30

0 Å

03

μm

3 μ

m

30

μm

30

m

03

cm

3 c

m

30

cm

3 m

30

m

30

0 m

3 k

m

30

km

30

0 k

m

Longitud de onda (λ)

04

μm

07

μm

Figura 54 Espectro electromagneacutetico Figura adaptada de la web de la ESA [1]

Modo Trazas Polarizacioacuten Resolucioacuten (m) Cobertura aproxima-da (km)

IA (grados sexagesi-males)

Ruido de fondo (dB)

Image Mode(IM)

IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

AlternatingPolarisation(AP)

IS1 IS2 IS3IS4 IS5 IS6o IS7

HHVVHHHVVVVH

30 56 (traza 7) - 100(traza 1)

15minus45 -19 a -22

Wide Swath(WS)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 150 400 17minus42 -21 a -26

Global Moni-toring (GM)

SS1 + SS2 +SS3 + SS4 +SS5

VV o HH 1000 400 17minus42 -32 a -35

Wave (WV) IS1 IS2 IS3IS4 IS5 IS6o IS7

VV o HH 30 5 15minus45 -20 a -22

Tabla 53 Modos de operacioacuten del sensor ASAR a bordo del Envisat

amplia cobertura de 405 km y una resolucioacuten media de 150 m Por otro lado la relacioacuten entreel ruido de fondo y la retrodispersioacuten es adecuada para la buacutesqueda de sentinazos en casi todaslas condiciones cuando se utiliza la polarizacioacuten vertical-vertical

Polarizacioacuten Los radares pueden transmitir el haz energeacutetico con polarizacioacuten horizon-tal (H) o con polarizacioacuten vertical (V) y recibir la sentildeal retornada nuevamente con polariza-cioacuten horizontal vertical o ambas Esto es interesante debido a que los diferentes materiales

84 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de los que estaacute compuesta la cubierta terrestre reflejan las sentildeales con intensidades diferentesdependiendo de la polarizacioacuten e incluso algunos materiales convierten una polarizacioacuten enotra Dependiendo del objetivo de la investigacioacuten es maacutes adecuado un tipo u otro de pola-rizacioacuten Los productos de Envisat WSM pueden trabajar con dos tipos de polarizacioacuten lavertical-vertical (VV) y la horizontal-horizontal (HH)

Ruido de fondo Los sistemas para la adquisicioacuten de datos y procesamiento de sentildealesestaacuten afectados por diferentes tipos de ruido y de sentildeales no deseadas La suma de todo estoes lo que se define como ruido de fondo o noise floor La intensidad de este ruido situacutea elumbral o medida miacutenima que puede ser tomada e identificada con certeza es decir no sepuede identificar nada cuya intensidad de sentildeal sea inferior al ruido de fondo ya que quedaenmascarado por dicho ruido

La retrodispersioacuten del oceacuteano variacutea dependiendo del IA la polarizacioacuten y la velocidad ydireccioacuten del viento Los productos WSM de Envisat con polarizacioacuten VV poseen un ruidode fondo entre -21 dB y -26 dB que se encuentra por debajo de la media de retrodispersioacutendel oceacuteano en casi todas las condiciones Esta caracteriacutestica permite buscar la presencia dehidrocarburos ya que eacutestos se asocian a valores de retrodispersioacuten inferiores a los generadospor las aacutereas del mar sin presencia de contaminantes La Figura 55 muestra la retrodispersioacutendel oceacuteano obtenida de una imagen SAR que no teniacutea presencia de hidrocarburos Se puedeobservar que la retrodispersioacuten variacutea seguacuten el IA y la velocidad del viento

Aacutengulo de incidencia (grados)

Retr

odis

pers

ioacuten (

dB

)

Vientos 10 msVientos 6 msVientos 4 ms

15 20 25 30 35 40 45

5

0

-5

-10

-15

-20

-25

Figura 55 Retrodispersioacuten media obtenida de una imagen ASAR WSM para vientos de 4 ms 6 ms y 10 ms

52 Fuentes de datos 85

522 Coleccioacuten de datos

Para el desarrollo del sistema se ha contado con una coleccioacuten de 47 imaacutegenes WSM conpolarizacioacuten VV del Envisat obtenidas a traveacutes de un convenio con la ESA Las imaacutegenestomadas entre los antildeos 2007 y 2011 corresponden al noroeste de la Peniacutensula Ibeacuterica estandola mayoriacutea centradas en la costa gallega como puede verse en el mapa de densidad mostradopor la Figura 56

Figura 56 Representacioacuten de la densidad de cobertura de la Base de Datos

La regioacuten de estudio es una ampliacioacuten del ESTF construida tal y como se muestra en laFigura 57

Las imaacutegenes de los antildeos 2007 y 2008 contienen sentinazos detectados por operadoresde la EMSA a los que se les ha asignado una probabilidad (alta baja o media) de ser hidro-carburos El resto de la coleccioacuten contiene sentinazos y look-alikes confirmados a traveacutes demisiones aeacutereas de SASEMAR El nuacutemero de imaacutegenes de la coleccioacuten y cuaacutentas de ellascontienen sentinazos (confirmados o no) se puede ver en la Figura 58a agrupadas por antildeo Laclasificacioacuten de los sentinazos de la coleccioacuten es mostrada en la Figura 58b

La Figura 59 muestra la posicioacuten geograacutefica de los vertidos presentes en la DB Eacutestos secaracterizan por estar agrupados en torno al ESTF lo cual es debido a que es paso obligadopara los buques y en consecuencia sufre en mayor medida el efecto de los sentinazos

86 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 57 Aacuterea de estudio y ESTF

a b

Figura 58 a) Imaacutegenes SAR e imaacutegenes con sentinazos agrupadas por antildeo b) Clasificacioacuten de las manchas de laBase de Datos

53 Preprocesado

531 Calibrado y proyeccioacuten cartograacutefica

La DB utilizada para el desarrollo del proyecto almacena productos Envisat WSM de nivel1 Para que estos productos se adapten a las necesidades del proyecto es necesario aplicar-les varias operaciones de preprocesado por un lado las imaacutegenes son calibradas [95] conel objetivo de conseguir valores que realmente representen la retrodispersioacuten de la superficie

53 Preprocesado 87

Figura 59 Localizacioacuten de los sentinazos contenidos en las imaacutegenes de la coleccioacuten

estudiada y que puedan ser comparados entre ellos La calibracioacuten aplicada consiste en unaserie de correcciones radiomeacutetricas que permiten comparar imaacutegenes sin importar si fueronobtenidas por el mismo sensor en queacute momento fueron tomadas el modo usado o si fueronprocesadas por diferentes procesadores Por otro lado las imaacutegenes calibradas son proyecta-das a un mismo sistema de referencia de coordenadas

Una vez realizadas estas actividades de preprocesado las imaacutegenes pueden utilizarse co-mo datos de entrada al sistema no obstante se aplicaraacuten otras dos funciones un enmascara-miento de la tierra y un filtrado de ruido antes de proceder a la segmentacioacuten con el objetivode optimizar la informacioacuten contenida en las mismas

532 Maacutescara de tierra

El objetivo del sistema es la deteccioacuten de vertidos de hidrocarburos en la superficie oceaacute-nica Las imaacutegenes utilizadas tienen una cobertura de 400 km x 400 km y al estar centradasen el ESTF contienen habitualmente regiones de tierra que corresponden a la costa noroestede la Peniacutensula Ibeacuterica Para no procesar dichas regiones eacutestas son enmascaradas asignandovalores nulos a los piacutexeles que las forman

88 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Desde el punto de vista espacial la costa gallega es muy compleja debido a la presencia delas riacuteas y otros accidentes geograacuteficos La costa y sobre todo las riacuteas funcionan como parapetoprotegiendo de los vientos a la superficie oceaacutenica y como se ha visto en el Capiacutetulo 4 lasaacutereas marinas dominadas por vientos de baja intensidad se visualizan en las imaacutegenes SARde forma similar a las afectadas por vertidos (falsos positivos) Para evitar estos look-alikes

se ha ampliado la maacutescara de tierra en 3 millas naacuteuticas tal y como puede apreciarse en lafigura 510

5degW6degW7degW8degW9degW10degW11degW

46degN

45degN

44degN

43degN

42degN

Regioacuten de Intereacutes

0 50 100 15025Millas Nauacuteticas

Figura 510 Maacutescara de tierra utilizada La franja roja representa una ampliacioacuten de 3 millas naacuteuticas a partir de laliacutenea de costa

533 Filtro de ruido

Previamente al procesado de las imaacutegenes es necesario aplicar un filtro de mediana conuna ventana de 3 x 3 piacutexeles con el objetivo de eliminarsuavizar el ruido de las imaacutegenesLa Figura 511 muestra un ejemplo de aplicacioacuten del filtro de mediana y coacutemo el valor de unpiacutexel se ve influenciado por los de su entorno

54 Segmentacioacuten

El objetivo de esta fase es detectar sobre la imagen SAR todos los piacutexeles susceptiblesde pertenecer a un vertido de hidrocarburo y generar una imagen binaria donde los candidatosdestaquen de la superficie marina limpia

54 Segmentacioacuten 89

Mediana - valor seleccionado

15 10 11 10 10

13 10 9 10 13

12 11 15 13 14

12 10 13 7 15

16 15 12 13 10

darr 7 9 10 10 10 11 13 13 15

darr

Secuencia ordenada

Figura 511 Ejemplo de uso del filtro de mediana para reducir el ruido de la imagen Imagen adaptada de [35]

Dado que los bajos niveles de intensidad generados por las aacutereas con baja retrodispersioacutenestaacuten asociados a hidrocarburos (ademaacutes de a otros fenoacutemenos naturales) es loacutegico pensar queuna segmentacioacuten basada en umbrales pueda ser el meacutetodo maacutes adecuado La complejidad delas imaacutegenes SAR (por ejemplo la fuerte dependencia del nivel medio de intensidad con el IA) provoca que los umbrales simples no sean adecuados Una funcioacuten de umbral adaptativo quetenga en cuenta el IA del piacutexel analizado ademaacutes de otros factores parece la mejor opcioacuten

541 Establecimiento del umbral adaptativo

Con el objetivo de establecer una funcioacuten de umbral adaptativo se muestrearon 1652 piacute-xeles pertenecientes a zonas afectadas por vertidos de hidrocarburos De cada piacutexel se registroacutesu valor de intensidad y su IA asociado La Figura 512 presenta graacuteficamente los piacutexelesmuestreados agrupados por su IA

En este histograma se observa que los IAs de los piacutexeles seleccionados no estaacuten distribui-dos uniformemente y la razoacuten es que la mayoriacutea de las imaacutegenes de la DB estaacuten centradas enel ESTF por lo que la relacioacuten entre las aacutereas de la imagen y los IAs se mantiene relativa-mente constante El rango de IAs con mayor nuacutemero de piacutexeles muestreados suele coincidircon el aacuterea cubierta por el ESTF que es la zona que contiene la mayor cantidad de vertidosLos piacutexeles de la muestra fueron agrupados de acuerdo con su IA en intervalos de 1 entre los17 y los 42 Para cada intervalo se calculoacute la media y su desviacioacuten tiacutepica y se descartaronlos piacutexeles con valores de intensidad superiores a la suma de los dos valores calculados Paracada intervalo se seleccionaron los valores de intensidad maacuteximos (veacutease Ecuacioacuten 51) y conestos puntos como liacutemite superior se realizoacute un estudio de regresioacuten para obtener una funcioacutenque los aproximase

x = max(B)B = y isin B yle ν(A)+σ(B) (51)

90 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Figura 512 Piacutexeles muestreados agrupados seguacuten su IA

El resultado del anaacutelisis fue que tanto una funcioacuten de cuarto grado (52) como una expo-nencial negativa (53) se ajustaban de forma significativa a los datos de la muestra

y =minus63401 middot10minus6x4 +000073027x3minus0029919x2 +050015xminus26381 (52)

y = 74199eminus018212x (53)

Estas funciones debiacutean representar los valores maacuteximos de intensidad que podiacutea almace-nar un piacutexel en funcioacuten de su IA asociado en caso de que representase un vertido es decirtodo piacutexel con un valor de intensidad igual o menor se considerariacutea vertido Se optoacute por unaaproximacioacuten agresiva ya que es preferible en esta fase de segmentacioacuten obtener algunosfalsos positivos a descartar vertidos

Las pruebas efectuadas aplicando cualquiera de las dos funciones mostraron demasiadosfalsos positivos La obtencioacuten de look-alikes en la fase de segmentacioacuten no es preocupantee incluso es esperada dado que es la fase de clasificacioacuten la que tradicionalmente asumela responsabilidad de seleccionar cuaacuteles son los sentinazos y cuaacuteles no pero seriacutea deseableobtener el miacutenimo posible y asiacute disminuir la responsabilidad del clasificador

Las funciones obtenidas estaban basadas en la intensidad y en el IA pero determinadosestudios previos [40] ponen de manifiesto la importancia de los factores meteoroloacutegicos y

54 Segmentacioacuten 91

particularmente los vientos en la deteccioacuten de sentinazos Dado que el nivel de retrodispersioacutentiene relacioacuten directa con la rugosidad de la superficie (veacutease la Figura 45) y eacutesta se debe ala presencia de viento la funcioacuten adaptativa deberiacutea tener en cuenta los datos del viento de lazona estudiada La Figura 55 muestra la influencia de la velocidad del viento en la intensidadUtilizar datos de viento en la fase de segmentacioacuten permitiraacute realizar una segmentacioacuten maacutesprecisa facilitando el trabajo posterior del clasificador

1 2 3 4 5 6 7 8 9

0

100

10

200

300

400

500

600

Piacutex

ele

s m

uestr

eados

Total piacutexeles 1652

Velocidad del viento (ms)0

Figura 513 Elementos de la muestra agrupados por la velocidad del viento

La forma maacutes directa de acceder a los datos de viento correspondientes a la zona cubiertapor una imagen SAR es a traveacutes de los datos contenidos en la propia imagen CMOD5 [60] esun modelo geofiacutesico desarrollado para datos obtenidos en la banda C que permite relacionarla retrodispersioacuten generada por la rugosidad de la superficie oceaacutenica con la velocidad y di-reccioacuten del viento Utilizando este modelo se obtuvieron los datos de viento correspondientesa las imaacutegenes de la DB Los resultados generados con una resolucioacuten menor que la de laimagen SAR fueron interpolados usando el algoritmo Kriging [88] para obtener la mismaresolucioacuten que la imagen original

La muestra de 1652 piacutexeles fue enriquecida antildeadiendo los datos de velocidad de vientocalculados con el modelo CMOD5 Los piacutexeles de la muestra fueron agrupados seguacuten la velo-cidad del viento (veacutease Figura 513) La mayoriacutea de estos piacutexeles tienen asociadas velocidadesde viento entre los 3 y 7 ms por lo que cubren el rango oacuteptimo para la deteccioacuten de verti-dos [54] Los piacutexeles con vientos mayores a 7 ms se agruparon en un soacutelo intervalo ya que la

92 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

muestra no teniacutea suficientes datos como para realizar maacutes divisiones Cada grupo creado fuenuevamente dividido en subconjuntos en base al IA En cada subconjunto (con al menos 10valores) se calculoacute la media y la desviacioacuten tiacutepica de los valores de intensidad Finalmente seescogioacute el valor de intensidad maacutes alto para cada subconjunto siempre y cuando fuese igual omenor a la suma de la media y el doble de la desviacioacuten tiacutepica de dicho subconjunto Noacuteteseque en esta ocasioacuten al ajustar mejor los valores gracias a los vientos se optoacute por relajar elumbral maacuteximo empleando dos veces la desviacioacuten tiacutepica y no soacutelo una como en el caso de laumbralizacioacuten sin vientos (veacutease Ecuacioacuten 51) El esquema del proceso seguido se muestraen la Figura 514

A=muestra de 1652 piacutexeles

A1= piacutexeles con

viento lt 4 ms

A2= piacutexeles con

viento lt 5 ms

A3= piacutexeles con

viento lt 6 ms

A4= piacutexeles con viento lt 7 ms

A5= piacutexeles con viento gt= 7 ms

A1= piacutexeles con

aacutengulo de incidencia[1718]

A2= piacutexeles con

aacutengulo de incidencia[1819]

A25= piacutexeles con

aacutengulo de incidencia[4142]

x25x2x1

xi=max(Bi) Bi=yisinAi y le A

i + 2σAi

Figura 514 Esquema de acciones realizadas para establecer el umbral adaptativo

El resultado de este proceso es un conjunto de intensidades para cada rango de velocidadestudiado Realizando un anaacutelisis de regresioacuten sobre los datos se comproboacute que al igual queen la primera aproximacioacuten una funcioacuten de cuarto grado y una exponencial negativa se ajus-taban de forma significa a la muestra Estudiando dichas funciones con maacutes detalle y a traveacutesde pruebas de segmentacioacuten se comproboacute que los mejores resultados se obteniacutean usando lafuncioacuten de cuarto grado en los aacutengulos de incidencia menores y la exponencial negativa en losmayores Se establecioacute una funcioacuten definida por partes para el caacutelculo adaptativo del umbralen el que el IA es utilizado para establecer el punto de corte entre las partes La Tabla 54presenta los coeficientes de las funciones adaptados seguacuten la velocidad del viento asiacute comolos puntos de corte establecidos por los IAs

54 Segmentacioacuten 93

Velocidad del viento Funcioacuten de cuarto grado Punto de corte Funcioacuten exponencial negativa

vel lt= 4ms 63662lowast10minus6x4minus000083671x3 +0041262x2minus090719x+75353 378 59169eminus017881x

vel lt= 5ms 30874lowast10minus6x4minus000043845x3 +0023424x2minus055931x+50588 3625 66689eminus017944x

vel lt= 6ms 21022lowast10minus6x4minus000031131x3 +0017414x2minus04365x+41503 3682 57770eminus017217x

vel lt= 7ms 27742lowast10minus6x4minus000039094x3 +002086x2minus050088x+45883 3752 54477eminus016858x

vel gt 7ms 12416lowast10minus6x4minus000019466x3 +0011604x2minus031143x+3182 368 62053eminus017101x

Tabla 54 Coeficientes y puntos de corte para las funciones de umbral adaptativo

Las funciones exponenciales negativas para vientos de 4 ms 6 ms y mayores que 7 msse representan graacuteficamente en la Figura 515

0

005

01

015

02

025

03

20 25 30 35 40

Inte

nsi

da

d

Aacutengulo de incidencia

Viento lt=4 msViento lt=6 msViento gt 7 ms

Figura 515 Representacioacuten de la aproximacioacuten de la intensidad en funcioacuten del IA para distintos valores de lavelocidad del viento

542 Aplicacioacuten del umbral adaptativo

El proceso de segmentacioacuten se aplica sobre todos los piacutexeles de una imagen SAR exceptolos que previamente han sido enmascarados como tierra y los que pertenecen a zonas fueradel aacuterea de alcance del sensor

De cada piacutexel procesado se extrae su intensidad el IA y la velocidad del viento A partirde la velocidad del viento y de los coeficientes presentados en la Tabla 54 se obtienen lasfunciones adecuadas y el punto de corte (IA) entre la funcioacuten polinoacutemica y la exponencialnegativa Seguacuten el IA del piacutexel y tras compararlo con el punto de corte se selecciona una

94 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

de las dos funciones y se utiliza el aacutengulo como paraacutemetro La funcioacuten devolveraacute un umbralque identificaraacute el maacuteximo valor de intensidad que podriacutea tener el piacutexel analizado para serconsiderado parte de un sentinazo Si la intensidad es menor o igual al umbral el piacutexel seraacuteetiquetado como candidato y en caso contrario como superficie limpia

543 Filtro de vientos

Dado que existen estudios previos que consideran que es necesaria una velocidad del vien-to de al menos 3 ms para detectar un sentinazo los piacutexeles segmentados que esteacuten afectadospor vientos de intensidad menor que ese umbral son considerados look-alikes y son eliminadosde la imagen segmentada

544 Filtro de aacuterea

Los medios de vigilancia contra la polucioacuten como los buques y aviones tienen un costede uso elevado y son limitados por lo que soacutelo son utilizados cuando la situacioacuten es poten-cialmente dantildeina o el vertido tiene una dimensioacuten considerable Las estructuras formadas porlos piacutexeles segmentados que tengan un aacuterea menor que 50 piacutexeles (equivalente a 03km2) sonconsideradas como falsos positivos o como pequentildeos sentinazos no dantildeinos que pueden sereliminados de la imagen segmentada

55 Extraccioacuten de caracteriacutesticas

El resultado de la fase de segmentacioacuten es una imagen binaria donde aparecen resaltadostodos los sentinazos junto con un gran nuacutemero de look-alikes Es tarea de un clasificador sepa-rar los sentinazos de los falsos positivos y para una correcta clasificacioacuten es necesario obtenerun vector de caracteriacutesticas para cada candidato que pueda ser analizado por el clasificador

El vector de caracteriacutesticas utilizado para el desarrollo de este algoritmo estaacute basado entres tipos de caracteriacutesticas

ndash Caracteriacutesticas de forma la forma puede ser un factor determinante para clasificar uncandidato Estudios anteriores [92] han mostrado que debido a su naturaleza los senti-nazos pueden agruparse en 5 grandes clases desde el punto de vista de su forma (veacuteasela Figura 47)

55 Extraccioacuten de caracteriacutesticas 95

ndash Caracteriacutesticas fiacutesicas se han incorporado caracteriacutesticas asociadas al nivel de intensi-dad de los piacutexeles dado que su importancia y utilidad ha sido refrendada por estudiosprevios [37]

ndash Informacioacuten contextual Los datos de contexto en general y maacutes concretamente los devientos [40] son de gran utilidad a la hora de detectar sentinazos y deben ser incorpora-dos al vector de caracteriacutesticas

Tipo Nombre Descripcioacuten

Forma

APR Aacuterea PeriacutemetroElongacioacuten Eje mayor Eje menor

MPR Eje mayor PeriacutemetroRectangularidad Aacuterea Aacuterea (Min rect engloba)

Circularidad Periacutemetro2 (4 πAacuterea)Thickness Nuacutemero de erosiones necesarias para dividir un objeto

Hu1 (η20 +η02)

Hu2 (η20minusη02)+4η211

Hu3 (η30 +3η12)2 +(3η21minusη03)

2

Hu4 (η30 +η12)2 +(η21 +η03)

2

Hu5 (η30 minus 3η12)(η30 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η21 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Hu6 (η20minusη02)[(η30minusη12)2minus (η21η03)

2]+4η21(η30 +η12)(η21 +η03)

Hu7 (3η21 minus η30)(η00 + η12)[(η30 + η12)2 minus 3(η21 + η03)

2] + (3η12 minus η03)(η21 + η03)[3(η30 +η12)

2minus (η21 +η03)2]

Flusser y Suk - I1 (η20η02minusη211)η4

00

Flusser y Suk - I2 (minusη230η2

03 +6η30η21η12η03minus4η30η312minus4η3

21η03 +3η221η2

12)η1000

Flusser y Suk - I3 (η20η21η03minusη20η212minusη11η30η03 +η11η21η12 +η02η30η12minusη02η2

21)ν700

Flusser y Suk - I4 (minusη320η2

03 + 6η220η11η12η03 minus 3η2

20η02η212 minus 6η20η2

11η21η03 minus 6η20η211η2

12 +12η20η11η02η21η12 minus 3η20η2

02η221 + 2η3

11η30η03 + 6η311η21η12 minus 6η2

11η02η30η12 minus6η2

11η02η221 +6η11η2

02η30η21minusη302η2

30)η1100

Contexto AI IA respecto al centroide de la manchaViento Velocidad del viento en el aacuterea estudiada

Fiacutesicas Intensidad Intensidad media de los piacutexeles contenidos en la mancha candidatoASR Ratio de la intensidad del candidato respecto al aacuterea circundante

Nota ηi j representa a los momentos centrales normalizados

Tabla 55 Vector de caracteriacutesticas

El vector generado (veacutease Tabla 55) estaacute compuesto por 21 componentes de los que 17corresponden a caracteriacutesticas de forma Para disminuir la dimensionalidad del vector se apli-coacute un Anaacutelisis de Componentes Principales (PCA) [67] sobre las caracteriacutesticas de forma LaTabla 56 contiene los porcentajes de varianza explicados por los componentes principalesobtenidos tras el PCA mientras que la Figura 516 muestra graacuteficamente el porcentaje expli-cado por el subconjunto de componentes maacutes representativo Finalmente se sustituyeron las

96 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

17 caracteriacutesticas de forma por los 5 primeros componentes cubriendo asiacute maacutes del 92 de lavarianza y reduciendo considerablemente la dimensionalidad del vector Los coeficientes delos componentes principales seleccionados se muestran en la Tabla 55

PCA1 PCA2 PCA3 PCA4 PCA5

0

10

20

30

40

50

60

70

80

90

0

10

20

30

40

50

60

70

80

90

100 100

Componentes Principales

Vari

anza E

xplicada

Figura 516 Componentes principales y porcentaje de varianza explicado

Componente Principal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17Varianza explicada () 477716 183024 138332 73918 50537 37671 19663 08758 04884 03178 00938 00693 00414 00142 00089 00041 00001

Tabla 56 Componentes principales y porcentaje de varianza explicado

56 Clasificacioacuten

Una vez caracterizados los candidatos es necesario clasificarlos y asignarles una clase(sentinazo o look-alike) El vector de caracteriacutesticas de cada candidato es la entrada para unclasificador cuya salida seraacute una clase o etiqueta identificaacutendolo La eficiencia del clasificadorestaacute directamente relacionada con los datos del vector es decir un buen clasificador no podraacuteclasificar correctamente si las caracteriacutesticas no discriminan suficientemente bien

La maacutexima seguida para el desarrollo de los clasificadores fue la de minimizar el nuacuteme-ro de falsos negativos incluso cuando la consecuencia era incrementar el nuacutemero de falsospositivos Para el sistema es asumible mostrar falsos positivos debido a que o bien el siste-ma es semiautomaacutetico es decir un operador humano filtra los resultados antes de enviar losmedios de vigilancia o bien el sistema es completamente automaacutetico en cuyo caso los siste-mas de vigilancia se activariacutean tras el descubrimiento del look-alike con el consecuente gasto

56 Clasificacioacuten 97

Var1 PCA Var2 PCA Var3 PCA Var4 PCA Var5 PCAAPR -00321 00466 06160 01722 -01237

elongacioacuten 01770 03460 -01469 02321 -01141MPR 02596 00579 03499 00017 -00160

Rectangularidad -01196 -00306 02473 00149 08811Circularidad 03070 -00775 00457 -00321 -02217

Thickness -00013 00530 06099 01626 -02103Hu1 03299 00316 -00735 00802 -00472Hu2 03371 00255 -00683 01573 00767Hu3 03389 -00366 -00237 00670 01383Hu4 02769 03158 -00167 -00164 01338Hu5 02092 04218 -00049 -00343 01185Hu6 02055 04349 -00000 -00842 01202Hu7 -02791 03182 -00151 00583 -01003FS1 02795 -02692 00373 -02175 -00562FS2 00728 -02281 -01329 07528 00772FS3 -02540 02239 -01053 04511 -00382FS4 -02567 03457 -00020 -01540 -00864

Tabla 57 Coeficientes de los componentes principales seleccionados

econoacutemico pero sin consecuencias medioambientales Los falsos negativos por el contrariono podriacutean detectarse ni de forma automaacutetica ni por un operador ya que el sistema no losmostrariacutea y esto conllevariacutea un mayor impacto en el ecosistema dado que no se activariacutean losprotocolos de gestioacuten de forma temprana

Los siguientes apartados describen dos clasificadores desarrollados para identificar loscandidatos generados en la segmentacioacuten Para su desarrollo y entrenamiento se ha utilizadouna DB de candidatos previamente etiquetados con 155 falsos positivos y 80 sentinazos quefueron distribuidos en 3 grandes grupos (veacutease la Figura 517) el 70 de los elementos fuereservado para el entrenamiento un 15 fue utilizado para el conjunto de validacioacuten y el15 restante fue seleccionado para el conjunto de test

Base de datos de candidatos

155 Look-alikes 80 Sentinazos

128 66 27 14

101 52 27 14

Test

Validacioacuten

Datos para el entrenamiento

Entrenamiento

85 15

1570

Figura 517 DB de candidatos etiquetados utilizados para desarrollar los clasificadores

98 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

561 Redes Neuronales Artificiales

Introduccioacuten

Las ANN tratan de emular el comportamiento del cerebro humano y la extraccioacuten de co-nocimiento geneacuterico a partir de un conjunto de datos [71] Las ANNs al igual que el cerebroestaacuten compuestas de procesadores elementales llamados neuronas artificiales o simplementeneuronas que conectadas entre siacute o a entradas externas cooperan para producir un estiacutemulode salida Cuando un conjunto de neuronas recibe todas sus entradas de una misma fuente ytodas sus salidas se dirigen a un mismo destino forman una capa

Una neurona artificial se caracteriza por los siguientes elementos (veacutease la Figura 518)

ndash Estado inicial las neuronas de la red presentan un estado o valor inicial (atminus1) previo arecibir los estiacutemulos externos y que influiraacute en su respuesta a eacutestos

ndash Conexiones neuronales valores de entrada a la neurona j-eacutesima (xi) con unos pesosasociados (wi j)

ndash Funcioacuten de propagacioacuten determina la entrada de la neurona (Net j) Generalmente es elsumatorio de cada uno de sus estiacutemulos externos o entradas (xi) multiplicado por su pesoasociado (wi j) Es habitual que se incluya un teacutermino constante (x0) denominado sesgoLa inclusioacuten de este elemento se deriva del comportamiento de las neuronas bioloacutegicasque poseen umbrales internos de activacioacuten que distorsionan el impacto causado porlos estiacutemulos recibidos El teacutermino suele tener el valor lsquo1rsquo y el valor y signo de su pesoindica su influencia en la funcioacuten

ndash Funcioacuten de activacioacuten o transferencia combina el valor inicial de la neurona (atminus1) conla entrada obtenida por la funcioacuten de propagacioacuten (Net j) para producir un nuevo estadoo valor de la neurona

ndash Funcioacuten de salida transforma el estado de la neurona generado a traveacutes de la funcioacutende transferencia en una sentildeal de salida (y j) que se trasmitiraacute a las siguientes neuronasHabitualmente la funcioacuten de salida coincide con la funcioacuten identidad es decir el valorde salida es en la praacutectica el valor retornado por la funcioacuten de transferencia

Una de las caracteriacutesticas maacutes importantes de las ANNs es su capacidad de generalizara partir de ejemplos lo que permite dar una respuesta correcta ante patrones no presentadospreviamente Las ANNs tienen la capacidad de aprender creando modificando o destruyendo

56 Clasificacioacuten 99

w1j

wdj

wnj

F(aj(t-1)Netj)=aj(t)) f(aj(t))=yj rarr yj

Entradas Pesos Entrada total Func activacioacuten Func salida Salida

X0Sesgo w0j

Netj=sum wkjmiddotxk k=0

n

X1

Xd

Xn

Neurona j-eacutesima

Figura 518 Elementos de una neurona artificial Figura adaptada de [71]

sus conexiones (pesos) entre sus neuronas Existen diferentes algoritmos de aprendizaje perotodos ellos pueden ser englobados en uno de los dos grandes tipos presentados a continuacioacuten

ndash Aprendizaje supervisado se caracteriza por la presencia de un agente que controla elproceso de entrenamiento estableciendo una respuesta correcta para una serie de valo-res de entrada determinados Si la salida de la red no es la salida deseada el supervisormodifica iterativamente los pesos de las neuronas de la red (wi j) con el objetivo de queel resultado tienda al deseado Eacuteste es el tipo de aprendizaje utilizado para desarrollar laANN para la deteccioacuten de los sentinazos y en concreto se usoacute una teacutecnica de aprendi-zaje por correccioacuten de error denominada backpropagation Las teacutecnicas por correccioacutende error ajustan los pesos de las conexiones de la red en base a la diferencia entre lasalida deseada y la obtenida Una de las reglas maacutes sencillas para la correccioacuten es lasiguiente

wt+1i j = wt

i j +∆wi j

∆wi j = α(r jminus y j)x j(54)

Dada una conexioacuten neuronal entre la neurona i-eacutesima y la j-eacutesima con un peso wi j en elinstante t ∆wi j representariacutea la variacioacuten en el peso de la conexioacuten en el instante t +1es decir la correccioacuten del error En el caacutelculo de ∆wi j α es un factor de aprendizaje r j

es la salida deseada ante un determinado patroacuten mientras que y j es la salida realmenteobtenida y finalmente x j es la entrada a la neurona j

100 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

ndash Aprendizaje no supervisado se presenta a la red una serie de patrones sin una respues-ta asociada La red busca particularidades correlaciones o categoriacuteas presentes en losdatos de entrada y los categoriza

Las conexiones neuronales son uno de los elementos fundamentales en el aprendizaje ypueden producirse entre neuronas de una misma capa o entre neuronas de capas diferentessin limitaciones El modelo de ANNs maacutes utilizado en la praacutectica es el Perceptroacuten Multicapa(MLP) que constituye un modelo particular en el que la propagacioacuten de los datos es siemprehacia adelante es decir ninguna salida neuronal constituye la entrada a una neurona de lamisma capa o de una capa anterior Las redes MLP (veacutease la Figura 519) estaacuten compuestaspor una capa neuronas de entrada donde se recogen los datos del exterior una o varias capasde neuronas ocultas y una capa de salida que devuelve los resultados de la red

Figura 519 Estructura de una red neuronal MLP

Algoritmo de retropropagacioacuten de errores

Debido a su sencillez y eficacia el algoritmo de retropropagacioacuten de errores o de backpro-

pagation [58] es uno de los algoritmos de aprendizaje supervisado maacutes extendido para redesMLP Baacutesicamente el algoritmo modifica iterativamente los pesos de las conexiones entre lasneuronas con el objetivo de minimizar el error de la red Partiendo de unos pesos aleatorios yde un conjunto de patrones de entrenamiento correctamente clasificados el algoritmo procesaa traveacutes de la red cada patroacuten El error cometido al procesar un patroacuten es cuantificado paramodificar los pesos en consecuencia La modificacioacuten iterativa de los pesos se realiza con elobjetivo de que el resultado real tienda al deseado La cuantificacioacuten del error medio-total de

56 Clasificacioacuten 101

la red se calcula comoE(w|xr) = 1

2(rminus y)2 (55)

siendo r el resultado deseado para la entrada de un patroacuten a la red e y el resultado real-mente obtenido La modificacioacuten de los pesos trata de minimizar el error de la red siendoel descenso de gradiente el meacutetodo maacutes habitual para ello siempre y cuando la funcioacuten pa-ra calcular el error sea diferenciable Las variaciones de los pesos utilizando el descenso degradiente se obtendriacutean a traveacutes del siguiente caacutelculo

∆wh j =minusαpartE

partwh j(56)

El algoritmo de retropropagacioacuten de errores tiene dos fases principales en una primerafase los patrones de entrenamiento son presentados y analizados por la red y sus salidas soncomparadas con los resultados esperados en una segunda fase se modifican los pesos de la redcalculando el error cometido y propagaacutendolo desde la capa de salida hasta la capa de entrada

x0=1

xj

xn

z0=1

whj vih

zh

zk

w0

sesgo sesgo v0

yi

Figura 520 Ejemplo simplificado de una red MLP

Actualizacioacuten de los pesos Partiendo del ejemplo mostrado en la Figura 520 en el quela funcioacuten de transferencia de las neuronas de la capa oculta es una sigmoide la salida de lared para un determinado patroacuten p se obtiene a traveacutes del siguiente caacutelculo

ypi =

k

sumq=1

viqzq + v0 (57)

102 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

La variacioacuten de los pesos que unen la capa oculta con la capa de salida se calculariacuteatratando de minimizar el error de la red (veacutease Ecuacioacuten 55) a traveacutes del descenso de gradiente(veacutease Ecuacioacuten 56)

∆wh j = α sump(rpminus yp)zp

h (58)

Sin embargo el caacutelculo de los pesos entre la capa de entrada y la oculta no puede hacer-se directamente utilizando el error cuadraacutetico medio ya que se desconoce cuaacutel es la salidadeseada para las neuronas ocultas La solucioacuten estaacute en el uso de la regla de la cadena sobre laEcuacioacuten 56 de la siguiente manera

∆wh j =minusαpartE

partwh j

=minusα sump

partE p

partyppartyp

part zph

partE p

part zph

part zph

partwh j

=minusα sumpminus(rpminus yp)︸ ︷︷ ︸

partE ppartyp

vh︸︷︷︸partyp

part zph

zph(1minus zp

h)xpj︸ ︷︷ ︸

part zph

partwh j

= α sump(rpminus yp)vhzp

h(1minus zph)x

pj

(59)

Teacutermino momento De entre las mejoras desarrolladas sobre el algoritmo claacutesico cabedestacar la que introduce el teacutermino momento Esta mejora consigue que la actualizacioacuten depesos sea proporcional al incremento de la iteracioacuten anterior permitiendo acelerar y estabili-zar el proceso de aprendizaje [96] La actualizacioacuten de pesos utilizando el teacutermino momentose calcula como

Wt+1 =Wt +[∆Wt +β∆Wtminus1] (510)

El teacutermino momento identificado por la constante β suele tomar un valor entre 0 y 1 ygeneralmente su valor es proacuteximo a la cota superior e inversamente proporcional a la tasa deaprendizaje es decir cuanto maacutes pequentildeo es el valor α maacutes grande suele ser β

Tanto la tasa de aprendizaje como el teacutermino momento son seleccionados empiacutericamentedependiendo del problema a resolver

56 Clasificacioacuten 103

Clasificador

Se implementoacute una red neuronal MLP para clasificar los candidatos segmentados Su ar-quitectura y los pesos de sus conexiones fueron establecidos a traveacutes de un proceso de entre-namiento validacioacuten y test utilizando los conjuntos mostrados en la Figura 517

La red desarrollada cuya arquitectura final se muestra en la Figura 522 estaacute compuestade 3 capas de neuronas El nuacutemero de neuronas de la capa de entrada se establecioacute en 9 unapor cada elemento del vector de caracteriacutesticas mientras que en la capa de salida se utilizaron2 neuronas para representar cada una de las posibles clases que se pueden asignar a un candi-dato Una neurona de la capa de salida con valor lsquo0rsquo representa la total incompatibilidad conla clase asignada a dicha neurona y el caso opuesto es representado con el valor lsquo1rsquo Valoresintermedios en el rango (01) representan una cierta probabilidad de pertenencia a la claseLos estiacutemulos externos a la red fueron normalizados en el rango [-11] como paso previo a suprocesamiento

Las neuronas utilizadas tanto en la capa oculta como en la capa de salida siguen el es-quema de la Figura 521 Estas neuronas reciben los valores de salida de las neuronas de lacapa anterior ponderados a traveacutes de los pesos asignados a las conexiones neuronales y unsesgo con valor lsquo1rsquo que se pondera a traveacutes de un peso asignado a cada neurona Una funcioacutende propagacioacuten que unifica y combina los valores de entrada en un uacutenico valor sirve comoentrada para la funcioacuten de activacioacuten de la neurona El resultado de la funcioacuten de activacioacutenrepresenta el valor de salida de la neurona

Netj=sum(ximiddotwi)+w0 aj=f(Netj)=2

[1+exp(Netj)]-1f(aj)=id(aj)=yj

yj

Neurona j-eacutesimax0

x1

x2

xn

Sesgo w0

w1

w2

wn

i=1

n

Figura 521 Esquema de la neuronas empleadas en la ANN desarrollada

El nuacutemero de neuronas de la capa oculta se establecioacute a traveacutes de un proceso comparativoentre diferentes arquitecturas Utilizando el algoritmo de retropropagacioacuten de errores con lavariante del teacutermino momento como proceso de aprendizaje de la red y basaacutendose en la reglaad hoc de que el nuacutemero de neuronas ocultas no deberiacutea ser superior al doble del nuacutemerode neuronas de entrada [106] fueron realizadas diferentes pruebas en las que se emplearon

104 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

hasta un maacuteximo de 18 neuronas En cada prueba los patrones normalizados del conjuntode entrenamiento fueron presentados iterativamente a la red y sus salidas se compararon conlos resultados esperados Cuando las salidas no resultaron satisfactorias los pesos fueronactualizados seguacuten el algoritmo de aprendizaje

Para evitar el sobreentrenamiento de la red es decir que la red aprendiese las particula-ridades propias de los patrones de entrenamiento limitando su capacidad de generalizacioacutense utilizoacute un conjunto de validacioacuten En cada iteracioacuten del proceso de entrenamiento se proboacutela red con el conjunto de validacioacuten y se calculoacute su eficacia Por norma general la eficaciade la red respecto al conjunto de entrenamiento iraacute mejorando en las sucesivas iteraciones delentrenamiento sin embargo la eficacia sobre el conjunto de validacioacuten alcanzaraacute un punto deinflexioacuten en el que la tendencia cambiaraacute La iteracioacuten donde se alcance la eficiencia maacuteximasobre el conjunto de validacioacuten marca el final del entrenamiento Una vez finalizado el en-trenamiento la red entrenada y validada se proboacute nuevamente sobre el conjunto de test paraconfirmar su eficacia con un conjunto independiente

Figura 522 Arquitectura del clasificador desarrollado basado en una red neuronal MLP

Las pruebas de arquitectura fueron realizadas con diferentes inicializaciones de la red ta-sas de aprendizaje valores para el teacutermino momento y funciones de transferencia los mejoresresultados se obtuvieron utilizando 11 neuronas en la capa oculta con una tasa de aprendizajede 03 y un valor de momento de 09 La funcioacuten de propagacioacuten utilizada fue la suma pon-derada de las entradas de cada neurona con los pesos asociadas a ellas (incluyendo el sesgo)

56 Clasificacioacuten 105

mientras que la funcioacuten de transferencia seleccionada fue una sigmoide (tangente hiperboacuteli-ca) Los resultados de la ejecucioacuten de la red sobre los candidatos contenidos en los conjuntosde validacioacuten y test asiacute como su comparativa con el otro clasificador se muestran en detalleen el capiacutetulo 6

562 Aacuterboles de decisioacuten

Descripcioacuten

Un aacuterbol de decisioacuten [14] es un meacutetodo de aprendizaje inductivo supervisado y no para-meacutetrico que puede ser utilizado tanto para la clasificacioacuten como para la regresioacuten Se imple-menta a traveacutes de una estructura jeraacuterquica basada en una estrategia de divide y venceraacutes ygeneralmente se representa como un aacuterbol binario es decir una estructura de datos formadapor nodos en la que cada nodo que no sea final tiene dos hijos Los nodos finales son conoci-dos como hojas mientras que los intermedios son denominados nodos decisioacuten De entre lasdiferentes implementaciones posibles que se pueden encontrar en la literatura el clasificadordesarrollado se basoacute en los Aacuterboles de Clasificacioacuten y Regresioacuten (CART) propuestos porBreiman et aacutel [24]

Construccioacuten y entrenamiento del aacuterbol

El entrenamiento y construccioacuten de un aacuterbol de clasificacioacuten se realiza a partir de un con-junto de patrones de entrenamiento previamente etiquetados en el que se trata de encontrar atraveacutes de sucesivas particiones secciones en su espacio de representacioacuten en las que todos lospatrones presentes pertenezcan a una misma clase o etiqueta Cada particioacuten se representa enel aacuterbol como un nodo decisioacuten en el que se evaluacutea una caracteriacutestica presente en los patronesagrupaacutendose eacutestos acorde al resultado de la evaluacioacuten en uno de los nodos hijo generados

Sea m un nodo del aacuterbol y Nm los patrones o instancias de entrenamiento que llegan a esenodo desde el conjunto inicial N contenido en el nodo raiacutez se considera Ni

m un subconjuntode Nm que contiene patrones asociados a la clase Ci donde

sumi

Nim = Nm (511)

Dado un patroacuten que alcanza el nodo m la probabilidad de que pertenezca a la clase Ci sepuede calcular como

pim =

Nim

Nm(512)

106 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Un nodo se considera puro cuando todos los patrones que llegan a ese nodo pertenecen a unamisma clase lo cual se expresa matemaacuteticamente de la siguiente manera

m = purolArrrArrforalli pim isin 01 (513)

Los nodos puros representan hojas del aacuterbol y se etiquetan con el valor de la clase asignadaa sus patrones Si los dos nodos hijo de una particioacuten son puros dicha particioacuten se considerapura

Aunque lo ideal es realizar particiones puras la mayoriacutea no lo son y las que lo son sesituacutean en la parte inferior del aacuterbol (ramas inferiores) Es necesario establecer un meacutetodopara seleccionar la mejor particioacuten en cada punto del aacuterbol y para ello se debe cuantificar laimpureza de las posibles particiones y seleccionar la que tenga menor valor Existen diferentesmeacutetodos de cuantificar la impureza de una particioacuten siendo el meacutetodo Gini [24] uno de losmaacutes populares y el empleado para desarrollar el clasificador de SENTINAZOS El valor deGini se calcula como

1minussumi(pi

m)2 (514)

En la Figura 523 se muestra un sencillo ejemplo de construccioacuten de un aacuterbol de decisioacutenbinario El conjunto de entrenamiento estaacute formado 20 patrones pertenecientes a 2 tipos dife-rentes de clases diferentes y cada patroacuten contiene medidas para 2 caracteriacutesticas Se observaque no todas las hojas del ejemplo son puras ya que aunque es posible crear un aacuterbol sufi-cientemente grande donde todas sus hojas sean puras lo maacutes probable es que se caiga en elsobreentrenamiento por tanto es necesario utilizar reglas que gestionen el tamantildeo del aacuterbol

01 2 3 4 5 6 7

1

2

3

4

5

6

x

y

yge3

xge37

1010

6410

9 41

a b

Figura 523 Ejemplo de desarrollo de un aacuterbol de decisioacuten binario a) Patrones de entrenamiento en base a doscaracteriacutesticas b) Aacuterbol desarrollado a partir de los patrones de entrenamiento

56 Clasificacioacuten 107

Poda

El tamantildeo del aacuterbol generado puede establecerse desde dos estrategias diferentes por unlado se puede definir a priori un umbral que establezca el nuacutemero de patrones miacutenimo quedebe alcanzar un nodo para que se permita crear una nueva particioacuten lo cual implica que elaacuterbol dejaraacute de crecer en el momento en que los patrones sean inferiores a ese umbral Otraestrategia consiste en desarrollar completamente el aacuterbol hasta conseguir que todas sus hojassean puras o hasta que los patrones asociados sean inferiores a un umbral y a continuacioacutenpodarlo

El proceso de poda trata de encontrar las secciones del aacuterbol (subaacuterboles) que no apor-tan ventajas y se asocian al sobreentrenamiento Existen diferentes estrategias de poda y enel caso concreto del clasificador desarrollado la estrategia utilizada fue la de seleccionar lapoda que mejor clasificaba un conjunto de validacioacuten Utilizando un grupo independiente depatrones o conjunto de validacioacuten y de forma incremental desde las hojas hacia el nodo raiacutezse sustituyoacute cada posible subaacuterbol por una hoja etiquetada con la clase asociada a la mayoriacuteade los patrones de entrenamiento que clasificaba ese subaacuterbol Si la eficiencia del nuevo aacuterbolno era peor que la del original la poda se llevaba a cabo pues la mayor complejidad no sejustificaba

La estrategia de poda obtiene mejores resultados que la estrategia basada en detener elcrecimiento del aacuterbol ya que la poda permite que un subaacuterbol de un nodo permanezca mien-tras que su laquohermanoraquo desaparece y esto seriacutea imposible con una estrategia de parada ya queel crecimiento se detendriacutea por ambas ramas Por otro lado la estrategia de poda es maacutes lentay compleja ya que es necesario analizar los diferentes subaacuterboles de los que estaacute compuestoel aacuterbol original y encontrar la mejor poda

Clasificador

Se desarrolloacute un clasificador basado en un aacuterbol de decisioacuten binario para clasificar loscandidatos resultantes de la fase de segmentacioacuten Al igual que para la ANN presentada enla Seccioacuten 561 para el entrenamiento y desarrollo del clasificador se utilizaron 3 conjuntossiguiendo el mismo esquema de la Figura 517 el 70 de los elementos fueron utilizadospara entrenar el aacuterbol un 15 fue utilizado para podarlo (conjunto de evaluacioacuten) y el 15restante fue empleado en el test del clasificador resultante El meacutetodo Gini ha sido el empleadopara cuantificar la impureza de las particiones en el proceso de desarrollo del aacuterbol

108 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

El aacuterbol con hojas puras y generado uacutenicamente a traveacutes del entrenamiento se muestra enla Figura 524 se puede observar que el tamantildeo del aacuterbol es considerable y se le presuponeun sobreentrenamiento A traveacutes de un proceso de poda en el que se calculoacute la eficacia de losdiferentes subaacuterboles sobre el conjunto de validacioacuten se establecioacute que el mejor clasificadorera el subaacuterbol presentado en la Figura 525 Para confirmar su eficacia se utilizoacute el conjuntode test Los resultados del clasificador sobre los candidatos contenidos tanto en el conjunto detest como en el de validacioacuten se presentan en el Capiacutetulo 6

Ratio intensidad lt 204183

Sentinazo Look-alike

PCA3 lt 949121

AI lt 249877

Viento lt 298174

PCA4 lt 237383

Intensidad lt 00748946

PCA1 lt 107964

Intensidad lt 000383156 Ratio intensidad lt 249859

Viento lt 349681

PCA1 lt 532078

PCA1 lt 185418

Sentinazo Look-alike

Sentinazo

Look-alikeSentinazo

PCA5 lt -145036

PCA1 lt 491891 PCA1 lt 713184

SentinazoLook-alikeSentinazo

Ratio intensidad 160946 PCA4 lt 312993

PCA4 lt 318744

PCA1 lt 23493

PCA5 lt -377764

PCA2 lt 219814

Viento lt 563786

SentinazoLook-alike

Look-alike

Sentinazo

Look-alike

Sentinazo Look-alike

Sentinazo Look-alike

Sentinazo

Sentinazo

SentinazoLook-alike

Siacute No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

Siacute

SiacuteSiacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Siacute

Figura 524 Aacuterbol de decisioacuten binario sin podar y con hojas puras generado por el proceso de entrenamiento

Ratio intensidad lt 204183

Sentinazo

Look-alike

PCA3 lt 949121

Sentinazo

No

NoSiacute

Siacute

Figura 525 Aacuterbol de decisioacuten binario podado

57 Validacioacuten del sistema de deteccioacuten de vertidos 109

57 Validacioacuten del sistema de deteccioacuten de vertidos

571 Desarrollo de un software de escritorio

La necesidad de evaluar los algoritmos presentados en las secciones anteriores condujoal desarrollo de un software de escritorio La implementacioacuten del prototipo se basoacute en soft-ware de coacutedigo libre y abierto con el objetivo de que pudiese ser libremente distribuido y asiacutepromover la colaboracioacuten entre la comunidad cientiacutefica

Visualizacioacuten

Para facilitar el trabajo con los datos SAR se implementoacute un visor especiacutefico que permi-tiese visualizar e interactuar (navegar aumentar y reducir) con las imaacutegenes asiacute como repre-sentarlas sobre un mapa de contexto mundial para mejorar la interpretacioacuten de los resultadosEl visor (veacutease la Figura 526) tambieacuten se disentildeoacute para acceder a los metadatos contenidos enlas cabeceras de las imaacutegenes

Figura 526 Pantalla principal del software de escritorio

110 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Identificacioacuten de sentinazos

El prototipo implementado contiene las diferentes funciones y meacutetodos de deteccioacuten desentinazos presentados en los apartados anteriores Existen dos formas de ejecutarlo por unlado automaacuteticamente a traveacutes de los paraacutemetros filtros y funciones por defecto por otrolado haciendo uso de una personalizacioacuten que permite configurar yo modificar el procesadode la imagen

ndash Filtro de ruido la aplicacioacuten dispone de un filtro de mediana un filtro de Gauss y unfiltro bilateral

ndash Filtro de aacuterea el usuario puede seleccionar el valor maacuteximo del filtro del aacuterea que seaplicaraacute a la imagen

ndash Clasificadores la aplicacioacuten permite emplear los diferentes clasificadores a traveacutes de suconfiguracioacuten por defecto o cargando una nueva base de conocimiento

El resultado de cada accioacuten ejecutada sobre la imagen es mostrado en el visor lo quepermite evaluar sus efectos La Figura 527 muestra un ejemplo del resultado obtenido trasprocesar una imagen SAR empleando los paraacutemetros por defecto maacutescara de tierra (veacutease laSeccioacuten 532) filtro de mediana de 3x3 (veacutease la Seccioacuten 533) segmentacioacuten por umbra-lizacioacuten adaptativa en base a los vientos (veacutease la Seccioacuten 541) filtro de vientos menores a3 ms (veacutease la Seccioacuten 543) filtro de aacutereas inferiores a 03 Km2 (veacutease la Seccioacuten 544) yclasificacioacuten empleando la ANN (veacutease la Seccioacuten 561)

572 Integracioacuten en RETELAB

Una vez finalizado y validado el sistema de deteccioacuten de vertidos de hidrocarburos se pro-cedioacute a su integracioacuten en RETELAB Al contrario que el prototipo de escritorio que permitiacuteair visualizando el efecto de ejecutar diferentes acciones sobre los datos SAR la versioacuten Gridde SENTINAZOS fue pensada para ser ejecutada en modo no interactivo de forma que elusuario debe seleccionar en un primer momento los paraacutemetros de la tarea y a continuacioacutenprocesarla y esperar a los resultados finales

A pesar de la limitacioacuten en cuanto a la interaccioacuten las ventajas que proporciona la compu-tacioacuten Grid al sistema SENTINAZOS son importantes

57 Validacioacuten del sistema de deteccioacuten de vertidos 111

Figura 527 Captura de pantalla del resultado de procesar una imagen SAR a traveacutes de los paraacutemetros por defectoy un clasificador ANN

ndash Permite compartir los datos (vientos datos SAR etc) entre los diferentes centros par-ticipantes

ndash Los resultados obtenidos pueden ser distribuidos y utilizados para nuevos estudios porel resto de los participantes de la red por ejemplo para realizar predicciones de laevolucioacuten de los vertidos o para ejecutar algoritmos de backtracking con el objetivo dedetectar su fuente

ndash El entorno de RETELAB permite ejecutar diferentes instancias de SENTINAZOS y asiacuteprocesar diferentes aacutereas simultaacuteneamente

ndash La presencia de recursos computacionales de gran potencia puede aportar una mayorvelocidad de procesamiento

El portlet para la deteccioacuten de sentinazos permite seleccionar diferentes acciones a rea-lizar sobre los datos SAR como por ejemplo segmentar clasificar una imagen previamentesegmentada o segmentar y clasificar Para la clasificacioacuten se permite escoger uno de los dosclasificadores implementados (ANN o aacuterboles de decisioacuten) y los paraacutemetros escogidos tantopara los filtros (ruido aacuterea vientos) como para los clasificadores estaacuten prefijados

112 Capiacutetulo 5 Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes SAR

Al igual que el resto de los portlets eacuteste ha sido integrado con el Data Grid (veacutease laSeccioacuten 33) tanto para poder acceder y utilizar los datos de la DB virtual como para compartirlos resultados generados Ademaacutes el portlet tambieacuten se ha integrado con el monitor de tareaspara realizar un seguimiento del estado de las tareas y acceder a los resultados que generen

La Figura 528 muestra el portlet desarrollado para SENTINAZOS y su integracioacuten en ellaboratorio de RETELAB

Figura 528 Captura de pantalla del portlet desarrollado para integrar SENTINAZOS en el laboratorio virtual

CAPIacuteTULO 6

RESULTADOS

61 Eficacia

Los clasificadores presentados en las secciones 561 y 562 han sido desarrollados uti-lizando la DB de candidatos presentada en la Figura 517 es decir se han utilizado los mis-mos conjuntos para entrenar validar y probar los clasificadores lo que permitioacute realizar unacomparativa entre ellos en teacuterminos de eficacia (veacutease Tabla 61) Los datos relativos al rendi-miento del aacuterbol de decisioacuten original (sin podar) son meramente ilustrativos ya que reflejancoacutemo el sobreentrenamiento afecta a la clasificacioacuten de otros conjuntos que no sean el deentrenamiento En la praacutectica soacutelo el aacuterbol podado y la red MLP han sido utilizados comoclasificadores

Validacioacuten TestSentinazos Look-alikes Sentinazos Look-alikes

Red MLP 857 852 929 963Aacuterbol decisioacuten original 500 889 357 889Aacuterbol decisioacuten podado 929 852 929 926

Tabla 61 Eficacia de los diferentes clasificadores sobre los conjuntos de validacioacuten y test

La eficacia de los clasificadores fue comprobada directamente sobre las imaacutegenes SARal ser eacutestos implementados como parte del prototipo descrito en la seccioacuten 571 La Figu-ra 61 muestra una composicioacuten realizada soacutelo con el objeto de facilitar la visualizacioacuten de2 imaacutegenes SAR (Figura 61a) y su correspondiente segmentacioacuten (Figura 61b) asiacute comolos resultados obtenidos por los clasificadores (Figura 61c y Figura 61d) Enmarcados en

114 Capiacutetulo 6 Resultados

color rojo se identifican varios sentinazos confirmados a traveacutes de misiones de vigilancia deSASEMAR que se detallan en la Figura 62 junto al resultado de clasificarlos mediante la redMLP

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

a b9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

9degW10degW

43degN

0 10 20 305Millas Naacuteuticas

A

B

C

c d

Figura 61 a) Composicioacuten a efectos de visualizacioacuten de 2 imaacutegenes SAR La imagen lsquo1rsquo fue obtenida el28032011 y la imagen lsquo2rsquo el 14102011 b) Composicioacuten formada por la segmentacioacuten de lasimaacutegenes SAR c) Montaje formado por los resultados de aplicar el clasificador basado en el aacuterbol dedecisioacuten a las imaacutegenes segmentadas d) Montaje formado por los resultados de aplicar el clasificadorbasado en la red MLP a las imaacutegenes segmentadas

Se puede observar que los resultados obtenidos a traveacutes del clasificador basado en el aacuterbolde decisioacuten son muy similares a los ofrecidos por el que utiliza la red MLP (sobre todo desdeel punto de vista de la deteccioacuten de sentinazos) si bien la ANN (veacutease la Figura 61d) generauna menor cantidad de falsos positivos

61 Eficacia 115

A

10deg30W10deg40W

43deg40N

0 1 2 305Millas Naacuteuticas

B

9deg50W10degW10deg10W10deg20W10deg30W

43degN

42deg50N

42deg40N

0 4 8 122Millas Naacuteuticas

C

9deg40W9deg50W10degW

42deg10N

42degN

0 2 4 61Millas Naacuteuticas

Figura 62 A la izquierda detalle de los sentinazos confirmados e identificados en la Figura 61 a la derecharesultados obtenidos a traveacutes del clasificador basado en una red MLP

116 Capiacutetulo 6 Resultados

62 Tiempo de procesamiento

El tiempo requerido para el procesamiento de las imaacutegenes en la buacutesqueda de vertidos dehidrocarburos es criacutetico y por ello los algoritmos presentados en las secciones anteriores hansido desarrollados con el objetivo de minimizarlo pero sin sacrificar su eficacia sobre todoen cuanto a la no deteccioacuten de sentinazos (falsos negativos) Ademaacutes de tener un especialcuidado en el disentildeo e implementacioacuten del software el coacutedigo se desarrolloacute pensando enobtener el mejor rendimiento de los microprocesadores multinuacutecleo presentes en la mayoriacuteade las computadoras actuales Para la implementacioacuten se empleoacute el API de OpenMP [36] quepermite adaptar y paralelizar automaacuteticamente la ejecucioacuten del coacutedigo entre los diferentesnuacutecleos de los que disponga el procesador donde se ejecuta la aplicacioacuten y asiacute obtener elmaacuteximo rendimiento

Fueron probadas dos versiones del algoritmo (claacutesica y optimizada) utilizando un nodode computacioacuten Core 2 Duo - 213 Ghz con 3 GB de RAM y despueacutes de 100 iteracionessobre una imagen de 8088 x 6481 piacutexeles la versioacuten optimizada empleoacute una media de 194segundos por ejecucioacuten mejorando un 296 el tiempo de ejecucioacuten del algoritmo claacutesico

CAPIacuteTULO 7

DISCUSIOacuteN

Debido a las condiciones tanto geograacuteficas como climatoloacutegicas de la costa gallega (aacutereade estudio) los vientos de baja intensidad generan la mayor parte de los falsos positivos olook-alikes El algoritmo desarrollado los filtra en su mayor parte en la fase de segmentacioacutenal introducir una umbralizacioacuten basada en la velocidad del viento Una de las consecuenciasde este proceso de segmentacioacuten es que algunos vertidos pueden quedar parcialmente ocultosen la salida si se encuentran situados en aacutereas afectadas por vientos de baja intensidad Modi-ficar el umbral de viento miacutenimo mejora la segmentacioacuten en algunos de los casos pero a costade incrementar notablemente el nuacutemero de falsos positivos Es muy complicado detectar sen-tinazos en aacutereas con vientos de baja intensidad debido a que la superficie del mar no genera elbrillo suficiente en la imagen SAR para que se produzca un contraste entre la superficie afec-tada por el sentinazo y el mar limpio y ademaacutes la intensidad de la sentildeal retrodispersada quellega al sateacutelite se aproxima al ruido de fondo (veacutease la Seccioacuten 521) dificultando discernirlos fenoacutemenos presentes en la superficie

A pesar de que la utilizacioacuten de los datos de viento mejoroacute considerablemente la segmen-tacioacuten eacutesta podriacutea ser maacutes precisa si se utilizasen medidas reales o provenientes de modelosde vientos maacutes precisos que el CMOD5 que trabaja directamente con los datos SAR El mo-delo CMOD5 es bastante exacto cuando se trata de velocidades de viento inferiores a 15 msy empeora con vientos de mayor intensidad [62] El error producido por el modelo aunquesea pequentildeo podriacutea ser clave para que una zona sea identificada como look-alike sobre todosi no alcanza el umbral miacutenimo de viento

118 Capiacutetulo 7 Discusioacuten

Otro de los inconvenientes que se presentan al emplear un modelo basado en los pro-pios datos SAR es la dificultad para calcular los datos de viento en las aacutereas proacuteximas a lacosta CMOD5 soacutelo calcula la velocidad del viento en la superficie oceaacutenica y necesita unalaquoventanaraquo de datos alrededor del aacuterea de estudio por lo que la presencia de la costa puededistorsionar los resultados La propia costa tambieacuten genera muchos falsos positivos al pro-teger del viento a la superficie marina generando aacutereas de baja intensidad Para evitar estosinconvenientes se ha usado una maacutescara de tierra extendida (veacutease la Seccioacuten 532) pero losresultados siguen mostrando una mayor cantidad de look-alikes en las aacutereas maacutes cercanas ala costa Aumentar la maacutescara para reducir el efecto de la costa obtendriacutea mejores resultadosdesde el punto de vista de los look-alikes pero a costa de ocultar posibles sentinazos que sehayan desplazado y que puedan ser potencialmente peligrosos para el medioambiente

La comparativa entre los diferentes sistemas de deteccioacuten de sentinazos presentes en laliteratura es especialmente complicada debido a que cada uno utiliza su propia DB para entre-nar y para validar se basa en diferentes tipos y resoluciones de imaacutegenes SAR usa diferentesvectores de caracteriacutesticas etc Ademaacutes es habitual que las DB contengan imaacutegenes con ver-tidos que solamente han sido identificados por expertos y directamente sobre la propia imagenpero sin confirmacioacuten in situ Los porcentajes de eficacia de los diferentes sistemas deben sertomados a modo de referencia pero de ellos no puede extrapolarse ninguna conclusioacuten defi-nitiva Algunos de los sistemas de deteccioacuten de hidrocarburos presentes en la literatura asiacutecomo sus porcentajes de eficacia son mostrados en la Tabla 7

Ref DB Clasificador Eficacia[37] 71 Sentinazos 68 Look-alikes Red MLP (validacioacuten

cruzada)82 Look-alikes 90 Sentinazos

[108] 34 Sentinazos 45 Look-alikes Red MLP 91 Look-alikes 87 Sentinazos[103] 71 Sentinazos 6980 Look-alikes Modelo estadiacutestico +

Sist basado en reglas99 Look-alikes 94 Sentinazos

[104] 37 Sentinazos 12110 Look-alikes Modelo estadiacutestico +Sist basado en reglas

994 Look-alikes 784 Sentinazos

[26] 41 Sentinazos 12245 Look-alikes Modelo estadiacutestico +Sist basado en reglas+ Estimador de con-fianza

897 Look-alikes 9207 Sentinazos(sin aplicar el estimador de confianza)

[41] 11 Sentinazos 6 Look-alikes 4Desconocidos

Distancia de Mahala-nobis

100 Look-alikes 82 Sentinazos 0Desconocidos

Clasificador probabi-liacutestico

67 Look-alikes 909 Sentinazos 50Desconocidos

[54] 1915 piacutexeles (552 Sentinazos 557Bajo viento 806 Superficie limpia)

Red MLP 9825 Look-alikes 9702 Sentinazos

Tabla 71 Diferentes sistemas de deteccioacuten de vertidos y su porcentaje de eficacia en la clasificacioacuten

119

Los resultados de los clasificadores implementados (veacutease Tabla 61) son muy promete-dores a la vista de los porcentajes de eficacia obtenidos por los clasificadores presentes enla literatura No obstante es sorprendente que un clasificador tan sencillo como el aacuterbol dedecisioacuten binario obtenga unos resultados comparables a la mayoriacutea de clasificadores siendoeacutestos en general mucho maacutes complejos Esto puede ser debido a varios factores por un ladola mayoriacutea de los look-alikes son filtrados gracias al empleo de datos meteoroloacutegicos en lafase de segmentacioacuten por otro lado la mayoriacutea de los candidatos segmentados pueden serclasificados basaacutendose soacutelo en una de las variables del vector (ratio entre la intensidad de lospiacutexeles de la mancha respecto al aacuterea circundante) mientras que el uso de las otras varia-bles del vector permitiraacute discernir los casos maacutes problemaacuteticos siendo esto lo que marca ladiferencia entre la red neuronal implementada y el aacuterbol

La mayoriacutea de los sistemas dan sus porcentajes de eficacia en funcioacuten de la clasificacioacutende los candidatos pero en otros casos como Oacutescar Garcia-Pineda et aacutel [54] se presentala eficacia en funcioacuten de la correcta clasificacioacuten a nivel de piacutexel En general se espera unaeficacia mayor a nivel de piacutexel dado que las DB suelen estar formadas por un mayor nuacutemero derepresentantes y los errores si son pocos quedan maacutes diluidos en los porcentajes Ademaacutessi se analizan imaacutegenes completas la cantidad de piacutexeles que representan hidrocarburos esclaramente inferior a la que representa superficie limpia por lo que se espera un porcentajede eficacia media muy alto de piacutexeles correctamente etiquetados

El tiempo de procesamiento es criacutetico en un sistema que debe dar respuesta en tiempocuasi real pero la mayoriacutea de los sistemas de deteccioacuten de hidrocarburos presentes en la lite-ratura lo relegan a un segundo plano en pos de la eficacia Sin embargo una raacutepida deteccioacutenpuede marcar la diferencia a la hora de ser efectivos gestionando un vertido o incluso en labuacutesqueda de los responsables Teniendo en cuenta que en la praacutectica la mayoriacutea de los siste-mas funcionan de forma semiautomaacutetica es decir que un operador suele revisar los resultadosantes de enviar los medios de vigilancia se hace maacutes plausible que el sistema se desarrollecon el objetivo de detectar sentinazos en el intervalo de tiempo maacutes breve posible incluso sipara ello se sacrifica eficacia en la eliminacioacuten de los falsos positivos o look-alikes El sistemapresentado con una media de 194 s de tiempo de procesamiento representa una importantemejora respecto a otros sistemas como el TCNNA (65 min) el cual se aplica a imaacutegenescompletas Solberg et aacutel [104] (145 min) que utiliza factores de escape en su algoritmo parano procesar completamente la imagen es decir no utiliza todos los datos con el consecuenteriesgo de no conseguir los mejores resultados o Topouzelis et aacutel [108] (2-5 min) que utiliza

120 Capiacutetulo 7 Discusioacuten

subsecciones de la imagen de entre 4 y 16 MB previamente seleccionadas por un operadorEn otros casos se opta por reducir la resolucioacuten radiomeacutetrica y trabajar soacutelo con 256 nivelesde grises [90] [54] lo que conlleva un incremento en la velocidad de procesamiento de lasimaacutegenes pero a costa de perder informacioacuten

Es importante tener en cuenta que los datos presentados en cuanto al tiempo de procesa-miento estaacuten iacutentimamente relacionados con las caracteriacutesticas de la computadora utilizada esdecir que podriacutean ser faacutecilmente mejorados disponiendo de un hardware con mayor poten-cia y aunque esto pueda parecer obvio para cualquier software en el caso presentado cobramayor relevancia puesto que fue desarrollado para adaptarse automaacuteticamente y utilizar losdiferentes nuacutecleos disponibles

Epiacutelogo

CAPIacuteTULO 8

RESULTADOS Y CONCLUSIONES

En este trabajo se ha planteado el desarrollo despliegue y validacioacuten de un laboratorio vir-tual oceanograacutefico Partiendo de unos requisitos iniciales ambiciosos en los que se abordarondiferentes liacuteneas de investigacioacuten se desarrolloacute un entorno de trabajo basado en computacioacutenGrid enfocado a la ejecucioacuten de aplicaciones de oceanografiacutea Para validar el entorno se desa-rrolloacute un sistema semiautomaacutetico de deteccioacuten de vertidos de hidrocarburos en la superficieoceaacutenica a traveacutes de datos de sateacutelite

Las principales aportaciones del presente trabajo han sido

ndash Desarrollo de un laboratorio virtual de altas prestaciones se ha presentado un en-torno de trabajo unificado y versaacutetil que permite a los investigadores realizar una granparte de su trabajo sin necesidad de otras herramientas Como si de un laboratorio realse tratase el entorno permite

bull Administrar el acceso de los usuarios

bull Gestionar analizar y visualizar datos

bull Procesar datos utilizando recursos computacionales de altas prestaciones

bull Distribuir y compartir los resultados de los proyectos con la comunidad

ndash Desarrollo de una interfaz amigable tanto la arquitectura del sistema como su inter-faz han sido disentildeadas para abstraer a los usuarios finales de la tecnologiacutea subyacenteInternet es un entorno coacutemodo y familiar para la mayor parte de los usuarios y porello se escogioacute un portal Web como medio de acceso al sistema Grid El portal fue

124 Capiacutetulo 8 Resultados y conclusiones

implementado empleando GridSphere que proporciona un entorno de desarrollo deportales Web basado en portlets El uso de portlets permite desplegar aplicaciones inde-pendientes del middleware Grid utilizado en el sistema asiacute como reutilizarlas en otrosportales La solucioacuten tecnoloacutegica desarrollada permite al usuario centrar sus esfuerzosen el desarrollo de sus trabajos y no en el aprendizaje de las herramientas

ndash Sistema de autenticacioacuten y autorizacioacuten simplificado buscando una solucioacuten bienequilibrada entre seguridad y facilidad de uso se disentildeoacute y desarrolloacute un sistema deautenticacioacuten y autorizacioacuten integrando y mejorando diferentes tecnologiacuteas El sistemade registros de usuarios PURSe fue desplegado para abstraer a los usuarios del usode los DCs Tanto PURSe como GridSphere fueron modificados para gestionar rolesde usuarios a traveacutes de ACs y asiacute poder emplearlos como medio de autorizacioacuten enel Grid El uso de un sistema de autorizacioacuten del tipo RBAC en un Grid simplifica laadministracioacuten de los recursos y por esta razoacuten en RETELAB se integroacute el softwarePERMIS que permite gestionar poliacuteticas de seguridad basadas en roles

ndash Despliegue de un sistema de autenticacioacuten SSO los usuarios que pertenezcan a cen-tros incluidos en la red de confianza de RETELAB pueden acceder al portal sin nece-sidad de registrarse a traveacutes del sistema de autenticacioacuten de sus centros Para realizareste proceso se integroacute Shibboleth y se desarrollaron procedimientos que generan deforma temporal DCs y ACs para los usuarios externos Los datos necesarios para losdiferentes certificados son proporcionados por las organizaciones en el proceso de au-tenticacioacuten

ndash Despliegue de un sistema de almacenamiento distribuido basado en metadatosse ha disentildeado y desplegado un sistema de almacenamiento distribuido que permitea la comunidad de RETELAB compartir los datos de sus investigaciones Esta DBvirtual que soporta formatos estaacutendar en oceanografiacutea estaacute dirigida por metadatos parafacilitar el etiquetado y descripcioacuten de los datos almacenados y asiacute mejorar los sistemasde buacutesquedas Para unificar el uso de los metadatos se ha seleccionado el estaacutendar paradescribir informacioacuten geograacutefica ISO 19115

ndash Despliegue de un metaplanificador y un monitor de trabajos se ha disentildeado una in-terfaz de ejecucioacuten y monitorizacioacuten de trabajos que permite a los usuarios configurarejecutar y monitorizar sus trabajos sin que sea necesario que conozcan la infraestruc-tura hardware Para ello se ha desplegado una versioacuten mejorada del metaplanificador

125

GridWay que se encarga de gestionar en nombre del usuario la ejecucioacuten de las tareasEl monitor permite visualizar el estado de las tareas y acceder a los resultados una vezque hayan finalizado Tanto la versioacuten del GridWay utilizada como la interfaz de ejecu-cioacuten y monitorizacioacuten de los trabajos ha sido realizada por el CESGA en el marco delproyecto RETELAB

ndash Validacioacuten y distribucioacuten de los resultados utilizando la interfaz de monitorizacioacutenel usuario puede acceder a los resultados de las tareas ejecutadas Desde la interfazde resultados el usuario puede descargar los ficheros generados o compartirlos con lacomunidad publicaacutendolos previa descripcioacuten a traveacutes de metadatos en la DB virtuallo que realimenta el sistema El entorno cuenta con una herramienta avanzada para lavisualizacioacuten y validacioacuten de los datos llamada IDV (desarrollada por Unidata) Estesoftware se descarga e instala en el puesto de trabajo del usuario de forma temporal ytransparente y se ejecuta con los datos seleccionados por el usuario

ndash Desarrollo de un sistema de deteccioacuten de vertidos de hidrocarburos el laboratoriovirtual se ha validado a traveacutes del despliegue de varias aplicaciones y entre ellas porsu entidad alcance y necesidad de investigacioacuten adicional del estado del arte destacaSENTINAZOS Eacuteste es un sistema de deteccioacuten de vertidos de hidrocarburos en lasuperficie oceaacutenica que fue desarrollado con el doble propoacutesito de validar el sistema yde encontrar una solucioacuten para un problema diario de nuestras costas Las principalesaportaciones de este sistema son

bull Desarrollo de un procedimiento de segmentacioacuten adaptativo basado en la ve-locidad del viento partiendo de una DB de imaacutegenes SAR enriquecida tanto condatos de viento como con informacioacuten de vertidos de hidrocarburos se implemen-toacute un segmentador basado en una umbralizacioacuten adaptativa El establecimiento deeste umbral tiene como base el estudio de centenares de datos muestreados en losque se analizoacute la velocidad del viento el IA del sateacutelite respecto al punto mues-treado y su valor de intensidad Tras el estudio de la muestra se constatoacute que siel IA era similar las muestras asociadas a hidrocarburos teniacutean valores de intensi-dad menores a las que representaban superficie limpia pero ademaacutes se comproboacuteque estos valores teniacutean una relacioacuten directa con el viento que afectaba a la zonaEmpleando estos datos se establecioacute una funcioacuten definida por partes que repre-sentaba el umbral de intensidad del hidrocarburo seguacuten el IA y la velocidad del

126 Capiacutetulo 8 Resultados y conclusiones

viento Este procedimiento de segmentacioacuten obtiene un menor nuacutemero de falsospositivos que otras alternativas lo que permite facilitar el trabajo del clasificadory obtener mejores resultados

bull Caracterizacioacuten de los candidatos a traveacutes de la forma diferentes estudios hanconstatado que los sentinazos adquieren formas que siguen patrones singularesdebido a su origen y a su antiguumledad Partiendo de la hipoacutetesis de que la formaes un elemento diferenciador se desarrolloacute un procedimiento para caracterizar loscandidatos que generaba un vector dominado por las caracteriacutesticas relacionadascon la forma La dimensionalidad de dicho vector fue reducida a traveacutes de unPCA siendo el resultado utilizado como entrada para el clasificador

bull Sistema semiautomaacutetico de deteccioacuten de vertidos se desarrollaron y analizarondos clasificadores para separar los falsos positivos de los sentinazos Tanto la ANNcomo el aacuterbol de decisioacuten obtuvieron resultados muy prometedores El uso de unsegmentador optimizado permite emplear clasificadores maacutes sencillos por lo quese reduce el tiempo de procesamiento sin sacrificar la tasa de aciertos

bull Disminucioacuten del tiempo de procesamiento empleando un paradigma de pro-gramacioacuten paralela con memoria compartida se ha implementado un sistema quepermite procesar completamente un producto SAR en un tiempo considerable-mente inferior al usado por aplicaciones similares encontradas en la literatura Es-ta mejora en el tiempo de procesamiento permite emplear el sistema de deteccioacutencomo una herramienta de ayuda a la toma de decisiones en tiempo casi real

CAPIacuteTULO 9

TRABAJO FUTURO

91 Trabajo futuro en el proyecto RETELAB

El futuro del laboratorio virtual puede verse desde dos puntos de vista por un lado la evo-lucioacuten del propio entorno que se centraraacute en el anaacutelisis de los posibles puntos de confluenciaentre la computacioacuten Grid y la Cloud Por otro el del desarrollo y mejora de las aplicacionesdesplegadas en particular la mejora de los algoritmos para la deteccioacuten de vertidos asiacute comola adaptacioacuten de eacutestos para trabajar con datos provenientes de fuentes diferentes al Envisatcomo por ejemplo el futuro sateacutelite Sentinel-1

911 Computacioacuten Cloud

La computacioacuten Cloud es un nuevo paradigma de computacioacuten distribuida que ha surgidocon fuerza estos uacuteltimos antildeos Al igual que ocurrioacute con la computacioacuten Grid su definicioacutenha sido objeto de debate tanto en el mundo empresarial como entre la comunidad cientiacuteficaLa literatura presenta multitud de definiciones pero en general se observa que las que provie-nen del mundo empresarial se centran en la perspectiva del usuario final y su experiencia deuso mientras que desde la comunidad cientiacutefica se incluyen tambieacuten aspectos relativos a suarquitectura Foster et aacutel [48] definen la computacioacuten Cloud como

laquoUn paradigma de computacioacuten distribuida de gran envergadura dirigido por economiacuteas

de escala en el que un conjunto administrado de recursos (procesamiento almacenamiento

entornos y aplicaciones) abstractos virtualizados y dinaacutemicamente escalables se proporcio-

nan bajo demanda a clientes viacutea Internetraquo

128 Capiacutetulo 9 Trabajo futuro

La computacioacuten Cloud es un paradigma de computacioacuten distribuida altamente especiali-zado que presenta las siguientes diferencias respecto a anteriores paradigmas [48]

ndash Es altamente escalable

ndash Puede ser encapsulado como una entidad abstracta y proporcionar diferentes niveles deservicios a los clientes finales

ndash Estaacute dirigido por economiacuteas de escala

ndash Los servicios son proporcionados bajo demanda y pueden ser configurados dinaacutemica-mente a traveacutes de la virtualizacioacuten

Su arquitectura puede dividirse en capas [48] y eacutestas mantienen una estrecha relacioacuten conlos servicios proporcionados (veacutease la Figura 91)

ndash Capa de infraestructura contiene los recursos hardware maacutes baacutesicos como son los recur-sos computacionales los de almacenamiento o los relacionados con la infraestructurade red

ndash Capa de recursos unificados empleando los recursos baacutesicos se encapsulan a traveacutesde la virtualizacioacuten nuevos recursos maacutes complejos que pueden ser proporcionados alas capas superiores o directamente a los usuarios finales

ndash Capa de plataforma proporciona a los recursos unificados herramientas especializadasmiddleware y servicios Su finalidad es preparar un entorno de desarrollo o de desplie-gue que pueda ser utilizado por la capa de aplicaciones o proporcionado como servicioa los usuarios

ndash Capa de aplicaciones contiene aplicaciones que son ejecutadas en el Cloud y expuestascomo servicios para ser utilizadas por los usuarios finales

Los Clouds en general proporcionan bajo demanda hasta tres tipos de servicios a los queel usuario puede acceder a traveacutes de un navegador Web o de un API bien definida [105]

ndash Infraestructura como Servicio (IaaS) proporciona recursos computacionales (procesa-miento y almacenamiento) virtualizados Esto permite que los usuarios puedan obtenerrecursos con unas determinadas caracteriacutesticas (nuacutemero de procesadores memoria es-pacio en disco etc) para cubrir unas necesidades concretas

91 Trabajo futuro en el proyecto RETELAB 129

ndash Plataforma como Servicio (PaaS) los servicios de plataforma estaacuten pensados para pro-porcionar a los usuarios entornos especiacuteficos bien sea para desarrollar software o biensea para desplegarlo permitiendo que los usuarios se abstraigan del hardware yo con-figuraciones

ndash Sofware como Servicio (SaaS) proporciona software especiacutefico para que sea accesibleremotamente por los clientes a traveacutes de Internet

Figura 91 Arquitectura del Cloud relacionada con los servicios que proporciona Figura adaptada de [105]

912 Integracioacuten de la computacioacuten Cloud en RETELAB

La integracioacuten de la computacioacuten Cloud en el proyecto RETELAB podriacutea proporcionaruna mayor flexibilidad al laboratorio Existen varias liacuteneas de futuro interesantes para desa-rrollar

ndash Agregacioacuten de recursos bajo demanda los recursos proporcionados por RETELAB es-taacuten limitados tanto en su nuacutemero como en sus caracteriacutesticas Si la demanda de recursospor parte de los usuarios excede la capacidad del laboratorio ya sea porque la cantidadde trabajos ejecutados es mayor de la que puede absorber porque los trabajos requie-ren recursos con caracteriacutesticas superiores (nuacutemero de procesadores memoria etc) oporque necesitan de un determinado entorno de ejecucioacuten que no estaacute disponible elCloud podriacutea proporcionar una solucioacuten raacutepida y puntual Aprovechando que el Cloud

130 Capiacutetulo 9 Trabajo futuro

proporciona IaaS podriacutean agregarse bajo demanda los recursos necesarios y graciasal PaaS seriacutea posible obtener recursos con una determinada configuracioacuten La tarea deinstanciar los recursos recaeriacutea sobre el metaplanificador GridWay del que existe unplugin (Broker GW-SLA) que permite negociar con entidades externas para incorporarrecursos al Grid y que ya fue utilizado con eacutexito en proyectos previos [55]

ndash Modificacioacuten dinaacutemica de los recursos el uso de la computacioacuten Cloud tambieacuten seriacuteauacutetil para gestionar los propios recursos de RETELAB ya que podriacutea optimizar su usoCuando se ejecuta un trabajo en el laboratorio el metaplanificador necesita conocer susnecesidades para poder gestionar su ejecucioacuten Puede darse el caso de que un trabajosea asignado a un recurso libre y lo infrautilice ya que no necesita de todo su potencial(procesadores memoria etc) Mientras tanto puede llegar a la cola un trabajo queaunque realmente necesite mejores condiciones para que su ejecucioacuten sea oacuteptima po-driacutea aprovechar la parte ociosa del recurso a la espera de mejores recursos Desplegandoun Cloud sobre los recursos disponibles podriacutean virtualizarse y optimizarse generandorecursos laquoa medidaraquo Asociando a cada cada tarea informacioacuten sobre cuaacuteles seriacutean losrequisitos miacutenimos y cuaacuteles los deseados para su ejecucioacuten se podriacutea virtualizar y asig-nar un recurso en el momento en que estuviesen disponibles los recursos miacutenimos Amedida que los recursos base fuesen quedando ociosos se aprovechariacutea la escalabilidaddinaacutemica del Cloud para mejorar el recurso virtual asignado a la tarea hasta alcanzar losrequisitos deseados El metaplanificador seriacutea el encargado de gestionar este procesopor lo que seriacutea necesario extender el JSDL para soportar dicha informacioacuten

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS

921 Fuentes de datos

Los algoritmos desarrollados para localizar vertidos de hidrocarburos estaacuten basados endatos obtenidos por el sateacutelite Envisat a traveacutes del modo de operacioacuten WSM A pesar de quela base de los algoritmos es vaacutelida para otras fuentes de datos es cierto que eacutestos deberiacutean seradaptados para ajustarse a sus particularidades como por ejemplo a las diferentes resolucio-nes espaciales La adaptacioacuten de los algoritmos para trabajar con diferentes fuentes siemprefue considerado como un trabajo futuro que actualmente y debido a la peacuterdida de contactocon el sateacutelite Envisat ha cobrado mayor relevancia A corto plazo los algoritmos deberiacuteanser adaptados para analizar datos provenientes del Radarsat mientras que a medio plazo seriacutea

92 Evolucioacuten de las aplicaciones desplegadas SENTINAZOS 131

interesante adaptarlos para trabajar con los datos que provengan del Sentinel-1 sateacutelite cuyolanzamiento estaacute previsto para el antildeo 2013

922 Mejora de los algoritmos

Existen varias liacuteneas de trabajo que podriacutean conducir a una mejora de los algoritmos ac-tuales para la deteccioacuten de vertidos

ndash Informacioacuten contextual dado que los sentinazos son generados habitualmente por bu-ques que transitan por el ESTF o por sus cercaniacuteas seriacutea interesante antildeadir informacioacutencontextual respecto a su entorno como por ejemplo la proximidad a una posible fuentedel vertido o su localizacioacuten respecto al ESTF Esta informacioacuten podriacutea ser obtenidaempleando los propios datos SAR ya que es posible utilizarlos para detectar embarca-ciones [89] y al estar georreferenciados tambieacuten es posible posicionar los sentinazosrespecto al ESTF

ndash Incorporacioacuten de datos provenientes de los Sistemas Automaacuteticos de Identificacioacuten(AISs) de buques la Organizacioacuten Internacional Mariacutetima (IMO) requiere que la ma-yor parte de las embarcaciones posean un sistema AIS para identificarlos y localizarlosEstos sistemas enviacutean sus datos a estaciones receptoras que almacenan y procesan lainformacioacuten SASEMAR ha implantado cobertura para AIS a lo largo de toda la cos-ta espantildeola por lo que la informacioacuten recogida podriacutea ser utilizada en el sistema dedeteccioacuten para acotar los posibles causantes del vertido

ndash Incorporacioacuten de nuevos datos de viento unos pocos informes de las misiones aeacutereasa las que tuvo acceso SASEMAR conteniacutean medidas de la velocidad del viento de laszonas en las que fueron detectados vertidos Estas medidas no se ajustaban correcta-mente a las obtenidas por el modelo CMOD5 y aunque la comparacioacuten es complicadadebido a que las misiones aeacutereas eran enviadas despueacutes de obtener y procesar la imagenSAR (no correspondiacutean al mismo momento) se considera que una posible liacutenea futuraes incorporar datos reales o de otros modelos que puedan ser maacutes precisos y asiacute podercomparar los resultados con los obtenidos actualmente

ndash Anaacutelisis de nuevos clasificadores a pesar de que los resultados obtenidos con las ANNsy con los aacuterboles de decisioacuten son satisfactorios seriacutea deseable analizar otros clasifica-dores con el objetivo de alcanzar un mejor porcentaje de aciertos De entre las diferentes

132 Capiacutetulo 9 Trabajo futuro

posibilidades las Maacutequinas de Soporte Vectorial (SVM) resultan especialmente intere-santes ya que en problemas tanto de clasificacioacuten como de regresioacuten tratan de definirun hiperplano en un espacio n-dimensional que separe las posibles clases de una formaestricta desde el punto de vista matemaacutetico Otras opciones posibles seriacutean las redesfuncionales o los clasificadores basados en loacutegica borrosa

Bibliografiacutea

[1] European Space Agency (ESA) httpsearthesain

[2] PURSE Portal-based User Registration Service httpwwwGrids-centerorgsolutionspurse (Retrieved October 2012)

[3] Sakai project Web Page httpwwwsakaiprojectorg (Retrieved October 2012)

[4] The Apache Velocity Project httpvelocityapacheorg (Retrieved October 2012)

[5] Tupelo Web Page httptupeloprojectncsauiucedu (Retrieved October 2012)

[6] Xen Web page httpwwwxenorg (Retrieved October 2012)

[7] ISO 191152003 Geographic information - Metadata Technical report InternationalOrganization for Standardization 2003

[8] The Grid 2 Second Edition Blueprint for a New Computing Infrastructure MorganKaufmann 2 edition December 2003

[9] Ahmar Abbas Grid computing a practical guide to technology and applications Char-les River Media 2004

[10] A Abdelnur and S Hepper JSR 168 Portlet Specification Tech-nical report Sun Microsystems October 2003 Also available onlinehttpwwwjcporgenjsrdetailid=168 (Retrieved Sept 2012)

[11] International Energy Agency Medium-Term Oil and Gas

Markets IEA Publications 2011 Also available onlinehttpwwwieaorgpublicationsfreepublicationspublicationMTOGM2011_Unsecuredpdf(Retrieved Sept 2012)

134 Bibliografiacutea

[12] Jay Alameda Marcus Christie Geoffrey Fox Joe Futrelle Dennis Gannon MihaelHategan Gopi Kandaswamy Gregor von Laszewski Mehmet A Nacar Marlon Pier-ce Eric Roberts Charles Severance and Mary Thomas The Open Grid ComputingEnvironments collaboration portlets and services for science gateways Concurrency

Computat Pract Exper 19(6)921ndash942 2007

[13] William Allcock John Bresnahan Rajkumar Kettimuthu Michael Link Catalin Dumi-trescu Ioan Raicu and Ian Foster The Globus Striped GridFTP Framework and ServerIn Proceedings of the 2005 ACMIEEE conference on Supercomputing volume 0 of SC

rsquo05 Washington DC USA 2005 IEEE Computer Society

[14] Ethem Alpaydin Introduction to Machine Learning (Adaptive Computation and Ma-chine Learning series) chapter 9 pages 185ndash208 The MIT Press second editionDecember 2009

[15] A Andronico R Barbera A Falzone G Lo Re A Pulvirenti and A Rodolico GE-NIUS a web portal for the grid Nuclear Instruments and Methods in Physics Research

Section A Accelerators Spectrometers Detectors and Associated Equipment 502(2-3)433ndash436 April 2003

[16] A Anjomshoaa F Brisard M Drescher D Fellows A Ly S McGough D Pul-sipher and A Savva ob submission description language (jsdl) specification ver-sion 10 Technical report Open Grid Forum November 2005 Also available onlinehttpwwwogforgdocumentsGFD56pdf (Retrieved October 2012)

[17] Mario Antonioletti Malcolm Atkinson Rob Baxter Andrew Borley Neil PChue Hong Brian Collins Neil Hardman Alastair C Hume Alan Knox Mike Jack-son Amy Krause Simon Laws James Magowan Norman W Paton Dave PearsonTom Sugden Paul Watson and Martin Westhead The design and implementation ofGrid database services in OGSA-DAI Concurrency Computat Pract Exper 17(2-4)357ndash376 2005

[18] C F Balseiro P Carracedo B Goacutemez P C Leitatildeo P Montero L Naranjo E Pena-bad and V Peacuterez-Muntildeuzuri Tracking the Prestige oil spill An operational experiencein simulation at MeteoGalicia Weather 58(12)452ndash458 2003

[19] R Barbera A Falzone and A Rodolico The genius grid portal In Computing in

High Energy and Nuclear Physics volume 24 page 28 2003

Bibliografiacutea 135

[20] M J Behrenfeld and P G Falkowski A consumerrsquos guide to phytoplankton primaryproductivity models Limnology and Oceanography 1997

[21] G Benelli and A Garzelli Oil-spills detection in SAR images by fractal dimensionestimation In Geoscience and Remote Sensing Symposium 1999 IGARSS amp03999

Proceedings IEEE 1999 International volume 1 pages 218ndash220 vol1 IEEE 1999

[22] Fran Berman Geoffrey Fox and Tony Hey The Grid Past Present Future In Grid

Computing pages 9ndash50 John Wiley amp Sons Ltd 2003

[23] D Bernholdt S Bharathi D Brown K Chanchio M Chen A Chervenak L Cinqui-ni B Drach I Foster P Fox and Others The earth system grid Supporting the nextgeneration of climate modeling research Proceedings of the IEEE 93(3) 2005

[24] Leo Breiman J H Friedman R A Olshen and C J Stone Classification and Re-

gression Trees Wadsworth 1984

[25] Camilla Brekke and Anne H S Solberg Oil spill detection by satellite remote sensingRemote Sensing of Environment 95(1)1ndash13 March 2005

[26] Camilla Brekke and Anne H S Solberg Classifiers and Confidence Estimation for OilSpill Detection in ENVISAT ASAR Images IEEE Geoscience and Remote Sensing

Letters 5(1)65ndash69 January 2008

[27] D Chadwick A Otenko and E Ball Role-based access control with X509 attributecertificates Internet Computing IEEE 7(2)62ndash69 March 2003

[28] David W Chadwick and Alexander Otenko The PERMIS X509 role based privile-ge management infrastructure Future Generation Computer Systems 19(2)277ndash289February 2003

[29] C F Chen K S Chen L Y Chang and A J Chen The use of satellite imagery formonitoring coastal environment in Taiwan In Geoscience and Remote Sensing 1997

IGARSS rsquo97 Remote Sensing - A Scientific Vision for Sustainable Development 1997

IEEE International volume 3 pages 1424ndash1426 vol3 IEEE August 1997

[30] R Chinnici J J Moreau A Ryman and S Weerawarana Web Services DescriptionLanguage (WSDL) Version 20 Part 1 Core Language Technical report W3C June2007

136 Bibliografiacutea

[31] E Chuvieco Radar In Teledeteccioacuten ambiental chapter 3 pages 108ndash116 ArielPublications 1 edition May 2002

[32] P Cornillon J Gallagher and T Sgouros OPeNDAP Accessing data in a distributedheterogeneous environment Data Science Journal 2164ndash174 2003

[33] Carmen Cotelo Andreacutes Goacutemez J Ignacio Loacutepez David Mera Joseacute M Cotos J Peacute-rez Marrero and Constantino Vaacutezquez Retelab A geospatial grid web laboratoryfor the oceanographic research community Future Generation Computer Systems26(8)1157ndash1164 October 2010

[34] Joseacute M Cotos and Alejandro Tobar Teledeteccioacuten de la marea negra del petroleroPrestige In Teledeteccioacuten de pesqueriacuteas y prediccioacuten de mareas toacutexicas chapter 9pages 177ndash182 Netbiblo first edition 2002

[35] L da Fontoura Costa and R M Cesar Shape analysis and classification theory and

practice CRC 2001

[36] L Dagum and R Menon OpenMP an industry standard API for shared-memoryprogramming IEEE Computational Science and Engineering 5(1)46ndash55 January1998

[37] F Del Frate A Petrocchi J Lichtenegger and G Calabresi Neural networks for oilspill detection using ERS-SAR data IEEE Transactions on Geoscience and Remote

Sensing 38(5)2282ndash2287 September 2000

[38] Dietmar Erwin and David Snelling UNICORE A Grid Computing Environment InRizos Sakellariou John Gurd Len Freeman and John Keane editors Euro-Par 2001

Parallel Processing volume 2150 of Lecture Notes in Computer Science pages 825ndash834 Springer Berlin Heidelberg 2001

[39] Esa Oil pollution monitoring in ERS and its applications Marine Technical report1998

[40] H A Espedal Satellite SAR oil spill detection using wind history information Inter-

national Journal of Remote Sensing 20(1)49ndash65 January 1999

Bibliografiacutea 137

[41] B Fiscella A Giancaspro F Nirchio P Pavese and P Trivero Oil spill detectionusing marine SAR images International Journal of Remote Sensing 21(18)3561ndash3566 2000

[42] FAO Fisheries and Aquaculture Dept The state of world fisheries and aquaculture

2012 Food and Agriculture Organization of the United Nations 2012

[43] J Fortuny-Guasch Improved Oil Slick Detection and Classification with PolarimetricSAR In Applications of SAR Polarimetry and Polarimetric Interferometry volume 529of ESA Special Publication April 2003

[44] I Foster J Geisler B Nickless W Smith and S Tuecke Software infrastructure forthe I-WAY high-performance distributed computing experiment In High Performance

Distributed Computing 1996 Proceedings of 5th IEEE International Symposium onIEEE 1996

[45] I Foster and C Kesselman Globus A metacomputing infrastructure toolkit Interna-

tional Journal of High Performance Computing Applications 11(2) 1997

[46] I Foster and C Kesselman Computational Grids In The grid blueprint for a new

computing infrastructure chapter 2 pages 15ndash53 Morgan Kaufmann 1998

[47] I Foster and C Kesselman The Globus project A status report Future Generation

Computer Systems 15(5) 1999

[48] I Foster Y Zhao I Raicu and S Lu Cloud computing and grid computing 360-degree compared In Grid Computing Environments Workshop 2008 GCErsquo08 Ieee2008

[49] Ian Foster What is the Grid - a three point checklist GRIDtoday 1(6) July 2002

[50] Ian Foster and Carl Kesselman Concepts and Architecture In The Grid 2 Second Edi-

tion Blueprint for a New Computing Infrastructure chapter 4 pages 37ndash63 MorganKaufmann 2 edition December 2003

[51] Ian Foster Carl Kesselman Jeffrey M Nick and Steven Tuecke The physiology of thegrid In Grid Computing Making The Global Infrastructure a Reality pages 217ndash249John Wiley amp Sons Ltd 2003

138 Bibliografiacutea

[52] Ian Foster Carl Kesselman and Steven Tuecke The Anatomy of the Grid EnablingScalable Virtual Organizations Int J High Perform Comput Appl 15(3)200ndash222August 2001

[53] Ian Foster Veronika Nefedova Mehran Ahsant Rachana Ananthakrishnan Lee Li-ming Ravi Madduri Olle Mulmo Laura Pearlman and Frank Siebenlist Streamli-ning Grid Operations Definition and Deployment of a Portal-based User RegistrationService Journal of Grid Computing 4(2)135ndash144 June 2006

[54] O Garcia-Pineda B Zimmer M Howard W Pichel Li XiaoFeng and I R MacDo-nald Using SAR images to delineate ocean oil slicks with a texture-classifying neuralnetwork algorithm (TCNNA) Canadian Journal of Remote Sensing 35(5)411ndash4212009

[55] A Goacutemez Remote Conputational Tools for Radiotherapy Cancer Treatment PlanningIn K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud compu-

ting a business perspective on technology and applications chapter 9 pages 147ndash158Springer Publishing Company Incorporated 2009

[56] W W Gregg M E Conkright P Ginoux J E OrsquoReilly and N W Casey Oceanprimary production and climate Global decadal changes Geophys Res Lett30(15)1809 2003

[57] Andrew S Grimshaw Wm and CORPORATE The Legion Team The Legion visionof a worldwide virtual computer Commun ACM 40(1)39ndash45 January 1997

[58] Hecht-Nielsen Theory of the backpropagation neural network In International Joint

Conference on Neural Networks pages 593ndash605 vol1 IEEE June 1989

[59] S Hepper Comparing the JSR 168 Java Portlet Specification

with the IBM Portlet API December 2003 Also available onlinehttpwwwibmcomdeveloperworkswebspherelibrarytecharticles0312_hepperhepperhtml(Retrieved Sept 2012)

[60] H Hersbach A Stoffelen and S de Haan An improved C-band scatterome-ter ocean geophysical model function CMOD5 Journal of Geophysical Research112(C3)C03006 March 2007

Bibliografiacutea 139

[61] S Hesmer P Fischer T Buckner and I Schuster Portlet de-

velopment guide 1 edition April 2002 Also available onlineftpftpsoftwareibmcomsoftwarewebserverportalV41PortletDevelopmentGuidepdf(Retrieved Sept 2012)

[62] J Horstmann and W Koch Measurement of ocean surface winds using synthetic aper-ture radars Oceanic Engineering IEEE Journal of 30(3)508ndash515 July 2005

[63] H A Hovland J A Johannessen and G Digranes Slick detection in SAR images InProceedings of IGARSS rsquo94 - 1994 IEEE International Geoscience and Remote Sensing

Symposium pages 2038ndash2040 IEEE 1994

[64] Eduardo Huedo Ruben S Montero and Ignacio M Llorente A framework for adap-tive execution in grids Softw Pract Exper 34(7)631ndash651 2004

[65] Eduardo Huedo Rubeacuten S Montero and Ignacio M Llorente A modular meta-scheduling architecture for interfacing with pre-WS and WS Grid resource manage-ment services Future Generation Computer Systems 23(2)252ndash261 February 2007

[66] C Jackson and J Apel editors Synthetic Aperture Radar Marine Userrsquos Manual USDepartement of Commerce National Oceanic and Atmospheric Administration 1stedition April 2005 Also available online httpwwwsarusersmanualcom (RetrievedMay 2012)

[67] I T Jolliffe and MyiLibrary Principal component analysis volume 2 Wiley OnlineLibrary 2002

[68] Maozhen Li and Mark Baker Applications In The grid core technologies pages377ndash400 Wiley May 2005

[69] Maozhen Li and Mark Baker Grid Portals In The grid core technologies pages335ndash376 Wiley May 2005

[70] Maozhen Li and Mark Baker Grid Security In The grid core technologies pages124ndash152 Wiley May 2005

[71] R F Loacutepez and J M F Fernaacutendez Las Redes Neuronales Artificiales Netbiblo Sl2008

140 Bibliografiacutea

[72] Maged Marghany RADARSAT for oil spill trajectory model Environmental Mode-

lling and Software 19(5)473ndash483 2004

[73] J M M Mariacuten and S B Caacutemara Evolucioacuten de las tecnologiacuteas Grid de la informacioacutenIn Las tecnologiacuteas Grid de la informacioacuten como nueva herramienta empresarial pages87ndash111 Septem 2008

[74] S W McCandless and C Jackson Principles of Synthetic Aperture Radarchapter 1 pages 1ndash23 US Department of Commerce National Oceanic andAtmospheric Administration 1st edition April 2005 Also available onlinehttpwwwsarusersmanualcom (Retrieved May 2012)

[75] David Mera Joseacute Cotos Joaquiacuten Trinanes and Carmen Cotelo An Integrated Solutionto Store Manage and Work with Datasets Focused on Metadata in the Retelab GridProject In Sigeru Omatu Miguel Rocha Joseacute Bravo Florentino Fernaacutendez EmilioCorchado Andreacutes Bustillo and Juan Corchado editors Distributed Computing Arti-

ficial Intelligence Bioinformatics Soft Computing and Ambient Assisted Living volu-me 5518 of Lecture Notes in Computer Science chapter 71 pages 491ndash494 SpringerBerlin Heidelberg Berlin Heidelberg 2009

[76] David Mera Joseacute Cotos Joseacute Viqueira and Joseacute Varela A User Management Web Sys-tem Based on Portlets for a Grid Environment Integrating Shibboleth PURSe PERMISand Gridsphere In Juan Corchado Sara Rodriacuteguez James Llinas and Joseacute Molinaeditors International Symposium on Distributed Computing and Artificial Intelligence

2008 (DCAI 2008) volume 50 of Advances in Soft Computing chapter 3 pages 19ndash23Springer Berlin Heidelberg Berlin Heidelberg 2009

[77] David Mera Joseacute M Cotos Pedro Saco and Andreacutes Goacutemez An integrated Solutionto the Security User Access in the RETELAB Grid Project using a Web System basedon Portlets and a RBAC Model by means of User Attribute Certificates and PKI InFernando Silva Gaspar Barreira and Ligia Ribeiro editors 2nd Iberian Grid Infras-

tructure Conference Proceedings pages 296ndash307 2008

[78] David Mera Joseacute M Cotos Joseacute Varela Carmen Cotelo and J Ignacio Loacutepez AnIntegration of Several Technologies in the Architecture Definition and Deployment ofa Geospatial Grid Web Portal In Hamid R Arabnia and George A Gravvanis editors

Bibliografiacutea 141

Proceedings of the 2009 International Conference on Grid Computing and Applica-

tions pages 86ndash91 CSREA Press 2009

[79] David Mera Joseacute M Cotos Joseacute Varela-Pet and Oscar Garcia-Pineda Adaptive thres-holding algorithm based on SAR images and wind data to segment oil spills along thenorthwest coast of the Iberian Peninsula Marine Pollution Bulletin 64(10)2090ndash2096October 2012

[80] David Mera Joseacute M Cotos Joseacute R R Viqueira and Carmen Cotelo Software Inte-gration in the Development of a Spatial Data Grid Prototype based on Metadata InVicente H Garciacutea Gaspar Barreira Ignacio B Espert and Jorge Gomes editors 3rd

Iberian Grid Infrastructure Conference Proceedings pages 305ndash314 2009

[81] M Migliaccio M Tranfaglia and S A Ermakov A physical approach for the obser-vation of oil spills in SAR images Oceanic Engineering IEEE Journal of 30(3)496ndash507 July 2005

[82] Daniel Minoli A networking approach to grid computing Wiley 2005

[83] R L Morgan Scott Cantor Steven Carmody Walter Hoehn and Ken KlingensteinFederated Security The Shibboleth Approach EDUCAUSE Quarterly 27(4)12ndash172004

[84] D Murray J McWhirter S Wier and S Emmerson The Integrated Data Viewermdashaweb-enabled application for scientific analysis and visualization In 19th Intl Conf on

IIPS for Meteorology Oceanography and Hydrology 2003

[85] J Novotny The grid portal development kit Concurrency and Computation Practice

and experience 14(13-15) 2002

[86] J Novotny S Tuecke and V Welch An online credential repository for the GridMyProxy In High Performance Distributed Computing 2001 Proceedings 10th IEEE

International Symposium on pages 104ndash111 IEEE 2001

[87] Jason Novotny Michael Russell and Oliver Wehrens GridSphere a portal frameworkfor building collaborations Concurrency Computat Pract Exper 16(5)503ndash5132004

142 Bibliografiacutea

[88] M A Oliver and R Webster Kriging a method of interpolation for geographical infor-mation systems International journal of geographical information systems 4(3)313ndash332 July 1990

[89] R B Olsen and T Wahl The ship detection capability of ENVISATrsquos ASAR InIGARSS 2003 2003 IEEE International Geoscience and Remote Sensing Symposium

Proceedings (IEEE Cat No03CH37477) pages 3108ndash3110 IEEE 2003

[90] J M Torres Palenzuela L Gonzaacutelez Vilas and M Sacau Cuadrado Use of ASARimages to study the evolution of the Prestige oil spill off the Galician coast Internatio-

nal Journal of Remote Sensing 27(10)1931ndash1950 2006

[91] Joon S Park Ravi Sandhu and Gail J Ahn Role-based access control on the webACM Trans Inf Syst Secur 4(1)37ndash71 February 2001

[92] P Pavlakis D Tarchi and A Sieber On the monitoring of illicit vessel dischargesusing spaceborne sar remote sensing - a reconnaissance study in the Mediterraneansea Annals of Telecommunications 56(11)700ndash718 November 2001

[93] R Rew and G Davis NetCDF an interface for scientific data access Computer

Graphics and Applications IEEE 10(4)76ndash82 July 1990

[94] M Romberg The UNICORE architecture seamless access to distributed resources InHigh Performance Distributed Computing 1999 Proceedings The Eighth Internatio-

nal Symposium on pages 287ndash293 IEEE 1999

[95] Betlem Rosich and Peter Meadows Absolute Calibration of ASAR Level 1 ProductsGenerated with PF-ASAR Technical Report Iss 1 rev 5 ESA October 2004

[96] D E Rumelhart G E Hintont and R J Williams Learning representations by back-propagating errors Nature 323(6088) 1986

[97] M Russell J Novotny and O Wehrens Gridspherersquos Grid Portlets Computational

Methods In Science and Technology 12(1) 2006

[98] Alexander F Shchepetkin and James C McWilliams The regional oceanic modelingsystem (ROMS) a split-explicit free-surface topography-following-coordinate ocea-nic model Ocean Modelling 9(4)347ndash404 January 2005

Bibliografiacutea 143

[99] J Shiers The worldwide LHC computing grid (worldwide LCG) Computer physics

communications 177(1) 2007

[100] G Singh S Bharathi A Chervenak E Deelman C Kesselman M Manohar S Patiland L Pearlman A Metadata Catalog Service for Data Intensive Applications InSupercomputing 2003 ACMIEEE Conference page 33 IEEE November 2003

[101] J Sirott J Callahan and S Hankin Inside the live access server In 17th Intl Conferen-

ce on Interactive Information and Processing Systems for Meteorology Oceanography

and Hydrology AMS 2001

[102] Chris Smith and Ian Lumb The Open Grid Services Architecture In Grid computing

a practical guide to technology and applications chapter 9 pages 159ndash187 CharlesRiver Media 2004

[103] A H S Solberg G Storvik R Solberg and E Volden Automatic detection of oilspills in ERS SAR images IEEE Transactions on Geoscience and Remote Sensing37(4)1916ndash1924 July 1999

[104] Anne H S Solberg Camilla Brekke and Per O Husoy Oil Spill Detection in Radarsatand Envisat SAR Images IEEE Transactions on Geoscience and Remote Sensing45(3)746ndash755 March 2007

[105] K Stanoevska-Slabeva and T Wozniak Cloud Basics- An introduction to Cloud Com-puting In K Stanoevska-Slabeva T Wozniak and S Ristol editors Grid and cloud

computing a business perspective on technology and applications Springer PublishingCompany Incorporated 2009

[106] Kevin Swingler Applying Neural Networks A Practical Guide chapter 323 pages53ndash56 Morgan Kaufmann papdsk edition May 1996

[107] M Thomas S Mock M Dahan K Mueller D Sutton and J R Boisseau TheGridPort toolkit a system for building Grid portals In High Performance Distributed

Computing 2001 Proceedings 10th IEEE International Symposium on pages 216ndash227 IEEE 2001

[108] K Topouzelis V Karathanassi P Pavlakis and D Rokos Detection and discrimi-nation between oil spills and look-alike phenomena through neural networks ISPRS

Journal of Photogrammetry and Remote Sensing 62(4)264ndash270 September 2007

144 Bibliografiacutea

[109] K Topouzelis D Stathakis and V Karathanassi Investigation of genetic algorithmscontribution to feature selection for oil spill detection Int J Remote Sens 30(3)611ndash625 January 2009

[110] Konstantinos Topouzelis Oil Spill Detection by SAR Images Dark Formation De-tection Feature Extraction and Classification Algorithms Sensors 8(10)6642ndash6659October 2008

[111] Konstantinos Topouzelis and Apostolos Psyllos Oil spill feature selection and classifi-cation using decision tree forest on SAR image data ISPRS Journal of Photogrammetry

and Remote Sensing 68135ndash143 March 2012

[112] P Troumlger R Brobst D Gruber M Mamonski and D Templeton Distributed Resour-ce Management application API Version 2 (DRMAA) Technical report Open Grid Fo-rum January 2012 Also available online httpwwwogforgdocumentsGFD194pdf(Retrieved October 2012)

[113] G Von Laszewski I Foster J Gawor and P Lane A Java commodity grid kit Con-

currency and Computation practice and experience 13(8-9) 2001

[114] Ping Wang Y Tony Song Yi Chao and Hongchun Zhang Parallel Computation ofthe Regional Ocean Modeling System International Journal of High Performance

Computing Applications 19(4)375ndash385 2005

[115] Barry Wilkinson System Infrastructure II Grid Computing Services In Grid compu-

ting techniques and applications pages 201ndash222 CRC Press 2010

[116] Chongjie Zhang Ian Kelley and Gabrielle Allen Grid portal solutions a comparisonof GridPortlets and OGCE Concurrency Computat Pract Exper 19(12)1739ndash17482007

Anexos

145

ANEXO A

COacuteDIGO FUENTE

A1 Procedimiento para el registro de una JCE

Un error no corregido del JCE Cryptix impide su uso en el caso de que alguacuten otro JCE searegistrado despueacutes de su utilizacioacuten El orden de registro de los proveedores funciona comouna lista Last In First Out (LIFO) por lo que se desarrolloacute un procedimiento para cambiar elorden de la lista en caso de que eacuteste no fuese el adecuado Una explicacioacuten maacutes detallada delproblema se presenta en la Seccioacuten 321

Cambiando Proveedores

RetelabSigningUtility signingUtility = new RetelabSigningUtility()

if (javasecuritySecuritygetProviders()lengthgt1 ampamp javasecuritySecurity

getProviders()[0]getName()equals(new String(IAIK)))

javasecurityProvider provider_iaik=javasecuritySecuritygetProvider(IAIK)

javasecuritySecurityremoveProvider(IAIK)

javasecuritySecurityinsertProviderAt(provider_iaik javasecuritySecurity

getProviders()length)

Coacutedigo A1 Modificacioacuten del orden de los proveedores JCE para evitar el bug del proveedor Cryptix

148 Anexo A Coacutedigo Fuente

A2 Gestioacuten de certificados y roles desde la interfaz de Grid-Sphere

GridSphere gestiona la autorizacioacuten de los usuarios a los portlets a traveacutes de roles mien-tras que la integracioacuten de PERMIS en RETELAB permitioacute hacer lo propio sobre los recursosdel Grid En el caso del PERMIS los roles son gestionados a traveacutes de ACs por lo que pa-ra simplificar la administracioacuten se implementaron varias modificaciones sobre el coacutedigo deGridSphere para que eacuteste pudiese gestionar los roles de los usuarios viacutea ACs y asiacute ser admi-nistrados desde un punto uacutenico Una explicacioacuten maacutes detallada del desarrollo se presenta enla Seccioacuten 321

private void saveUserRole(FormEvent event User user)

logdebug(Entering saveUserRole())

PortletRequest req = eventgetPortletRequest()

Get selected role

PortletRole selectedRole = getSelectedUserRole(event)

reqsetAttribute(role selectedRole)

If super role was chosen

if (selectedRoleequals(PortletRoleSUPER))

logdebug(Granting super role)

Grant super role

thisaclManagerServicegrantSuperRole(user)

else

Revoke super role (in case they had it)

thisaclManagerServicerevokeSuperRole(user)

Create appropriate access request

Set groups = portalConfigServicegetPortalConfigSettings()getDefaultGroups

()

Iterator it = groupsiterator()

GroupRequest groupRequest

while (ithasNext())

PortletGroup group = (PortletGroup) itnext()

GroupEntry ge = aclManagerServicegetGroupEntry(user group)

if (ge = null)

groupRequest = thisaclManagerServiceeditGroupEntry(ge)

else

groupRequest = thisaclManagerServicecreateGroupEntry()

groupRequestsetUser(user)

groupRequestsetRole(selectedRole)

groupRequestsetGroup(group)

logdebug(Granting + selectedRole + role in gridsphere)

Submit changes

A2 Gestioacuten de certificados y roles desde la interfaz de GridSphere 149

thisaclManagerServicesaveGroupEntry(groupRequest)

Start Retelab Code

String path= reqgetRealPath()

logdebug(Save Role PATH +path)

String ldapBaseDN=

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

LdapConnector ldap_conector= new LdapConnector()

try

logdebug(Fichero de propiedades +path+FileseparatorChar+WEB-INF+File

separatorChar+permis_ldapproperties)

FileInputStream file_properties =new FileInputStream(path+FileseparatorChar

+WEB-INF+FileseparatorChar+permis_ldapproperties)

logdebug(Cargando Fichero de Propiedades)

cargamos las propiedades del LDAP y de los certificados de atributos de

ficheros de propiedades

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12)

int year=new Integer(retelab_propertiesgetProperty(validityperiodbefore

year))intValue()

int month=new Integer(retelab_propertiesgetProperty(validityperiodbefore

month))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiodbefore

day))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiodafteryear

))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiodafter

month))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiodafterday))

intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

port=new Integer(retelab_propertiesgetProperty(ldapport))intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

150 Anexo A Coacutedigo Fuente

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(selectedRolegetName())

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

Eliminamos el certificado anterior

ArrayList atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttribute))

int tipo_modificacion=10=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

Creamos el nuevo certificado

atributos=new ArrayList()

atributosadd(new LDAPAttribute(attributeCertificateAttributecertificate

))

tipo_modificacion=00=ADD 1=DELETE

ldap_conectormodifyAttributes(dn atributos tipo_modificacion)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no encontrado

+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

End Retelab Code

logdebug(Exiting saveUserRole())

Coacutedigo A2 Integracioacuten del sistema RBAC con GridSphere Ejemplo de alta de usuarios

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS 151

A3 Gestioacuten de la ejecucioacuten de las tareas usando PERMIS

A continuacioacuten se muestra un ejemplo de coacutemo utilizar PERMIS para gestionar a traveacutesde los roles la autorizacioacuten de un usuario para ejecutar una tarea en un recurso del Gridconcreto

ltsecurityConfig xmlns=httpwwwglobusorggt

ltmethod name=createManagedJobgt

ltauth-methodgt

ltGSITransportgt

ltGSISecureMessagegt

ltGSISecureConversationgt

ltauth-methodgt

ltmethodgt

ltauthz value=permisAuthzissrggt4PermisPDP gridmapgt

ltreject-limited-proxy value=truegt

ltsecurityConfiggt

Coacutedigo A3 Modificacioacuten de la poliacutetica de autorizacioacuten del meacutetodo createManagedJob para integrar unsistema RBAC

A4 Integracioacuten de Shibboleth en el sistema

RETELAB cuenta con un sistema de autenticacioacuten SSO soportado por el software Shibbo-leth El acceso al laboratorio de usuarios externos y sin registrar trae consigo dificultades paragestionar su autorizacioacuten ya que RETELAB se basa en DCs y ACs para administrar el usode los recursos Fue necesario desarrollar procedimientos para generar certificados tempora-les para los usuarios de Shibboleth A continuacioacuten se muestran los meacutetodos implementadospara la creacioacuten de los DCs (Coacutedigo A4) y de los ACs (Coacutedigo A5) para los usuarios deShibboleth

private void createCertificate4Shibboleth(String nameString mailString password)

Variables Autoridad Certificadora

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

152 Anexo A Coacutedigo Fuente

String ca_dir=new String()

String ca_hash=new String()

variables MyProxy

String binDir_=new String()

String hostName_=new String()

int portNumber_=0

String dn_=new String()

String dir_=new String()

int expirationLeadTime_=0

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

try

FileInputStream file_properties =new FileInputStream(path+

WEB-INF+FileseparatorChar+permis_ldapproperties)

Cargando Fichero de Propiedades de la CA y MyProxy

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

simpleCA Properties

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

MyProxy Properties

binDir_=retelab_propertiesgetProperty(myProxyBin)

hostName_=retelab_propertiesgetProperty(myProxyHost)

portNumber_=IntegerparseInt(retelab_propertiesgetProperty(

myProxyPort))

dn_=retelab_propertiesgetProperty(myProxyDn)

dir_=retelab_propertiesgetProperty(myProxyDir)

expirationLeadTime_=IntegerparseInt(retelab_properties

getProperty(expirationLeadTime))

Opciones generales de la CA

CertificateGenerationOptions cert_options= new

CertificateGenerationOptions(bin_dirtmp_dirca_dir

ca_hash)

UserCertificateGenerationinitialize(cert_options)

String certDir=null

A4 Integracioacuten de Shibboleth en el sistema 153

certDir = UserCertificateGenerationgenerate(namemail

password)

logdebug(-----gtCertificado Generadolt-------)

Use CA to sign the certs

UserCertificateGenerationsignCerts(certDir password_ca)

logdebug(-----gtCertificado Firmadolt-------)

MyProxy options

MyProxyOptions myProxyOpts= new MyProxyOptions(binDir_

hostName_portNumber_dn_ dir_ expirationLeadTime_)

MyProxyManagerinitialize(myProxyOpts)

Cambiar orden de los providers JCE debido al bug de

Cryptix

changeProviders()

Upload creds to MyProxy

MyProxyManagerstoreRemoteCredential(namepasswordtmp_dir+

+name+)

logdebug(-----gtCertificado Subido a MyProxylt-------)

Delete local certificates

RegisterUtildeleteCerts(certDir)

logdebug(-----gtEliminados certificados localeslt-------)

file_properties=null

retelab_properties=null

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(MyProxyAccessException myExc)Systemoutprintln(Error

subiendo las credenciales a MyProxy+myExc)

catch(CertificateGenerationException certExp)Systemoutprintln(

Error creando las credenciales para el usuario+certExp)

catch(Exception e)Systemoutprintln(Excepcion no controlada +e

+ End)

Coacutedigo A4 Meacutetodo para crear y almacenar DCs para los usuarios de Shibboleth

private void createAttributeCertificate4Shibboleth(SportletUser userString role)

String ldapBaseDN=

String defaultUser=null

GregorianCalendar notBefore=null

GregorianCalendar notAfter=null

154 Anexo A Coacutedigo Fuente

String p12=

String passwordP12=

String bigInteger=

int port=389

String ldap_host=

String admin=

String password_ldap=

String defaultGridsphereUser=

String pathGridMap=

String password_ca=new String()

String bin_dir=new String()

String tmp_dir=new String()

String ca_dir=new String()

String ca_hash=new String()

LdapConnector ldap_conector= new LdapConnector()

generate certificate

try

logdebug(Fichero de propiedades +path+WEB-INF+File

separatorChar+permis_ldapproperties)

Cargando el fichero de propiedades del LDAP y de los Certificados

de atributos

FileInputStream file_properties =new FileInputStream(path+WEB-INF+

FileseparatorChar+permis_ldapproperties)

Properties retelab_properties=new Properties()

retelab_propertiesload(file_properties)

ldapBaseDN=retelab_propertiesgetProperty(ldapbasedn)

p12=retelab_propertiesgetProperty(certificatep12)

passwordP12=retelab_propertiesgetProperty(passwordcertificatep12

)

int year=new Integer(retelab_propertiesgetProperty(validityperiod

beforeyear))intValue()

int month=new Integer(retelab_propertiesgetProperty(validity

periodbeforemonth))intValue()

int day=new Integer(retelab_propertiesgetProperty(validityperiod

beforeday))intValue()

notBefore=new GregorianCalendar(yearmonthday)

year=new Integer(retelab_propertiesgetProperty(validityperiod

afteryear))intValue()

month=new Integer(retelab_propertiesgetProperty(validityperiod

aftermonth))intValue()

day=new Integer(retelab_propertiesgetProperty(validityperiod

afterday))intValue()

notAfter=new GregorianCalendar(yearmonthday)

bigInteger=retelab_propertiesgetProperty(certificatebiginteger)

ldap_host=retelab_propertiesgetProperty(ldaphost)

admin=retelab_propertiesgetProperty(ldapadmin)

A4 Integracioacuten de Shibboleth en el sistema 155

port=new Integer(retelab_propertiesgetProperty(ldapport))

intValue()

password_ldap=retelab_propertiesgetProperty(ldapadminpassword)

defaultGridsphereUser=retelab_propertiesgetProperty(gridsphere

defaultuser)

defaultUser=retelab_propertiesgetProperty(globusdefaultuser)

pathGridMap=retelab_propertiesgetProperty(globusgridmappath)

password_ca=retelab_propertiesgetProperty(passwordca)

ca_dir=retelab_propertiesgetProperty(pathdirca)

tmp_dir=retelab_propertiesgetProperty(pathtmpca)

bin_dir=retelab_propertiesgetProperty(pathbinca)

ca_hash=retelab_propertiesgetProperty(hashca)

file_properties=null

retelab_properties=null

ldap_conectorsetLdap_host(ldap_host)

ldap_conectorsetAdmin(admin)

ldap_conectorsetPort(port)

ldap_conectorsetPassword_ldap(password_ldap)

LDAPAttributeSet attributeSet = new LDAPAttributeSet()

attributeSetadd( new LDAPAttribute(objectclass new String[]top

organizationalPersoninetOrgPersonpmiUser))

attributeSetadd( new LDAPAttribute(cnusergetUserName()))

attributeSetadd( new LDAPAttribute(givennamenew String[]user

getUserName()usergetFullName() ))

attributeSetadd( new LDAPAttribute(sn usergetFamilyName()))

attributeSetadd( new LDAPAttribute(mailusergetEmailAddress()))

String dn=cn=+usergetUserName()++ldapBaseDN

Vector roles=new Vector()

rolesadd(role)

logdebug(Generando un certificado para +dn)

CertificateGenerator generator=new CertificateGenerator(dnnotBefore

notAfterbigIntegerrolestoArray() p12 passwordP12)

byte [] certificate=generatormakeCertificate()

attributeSetadd(new LDAPAttribute( attributeCertificateAttribute

generatormakeCertificate()))

ldap_conectoraddEntry(attributeSet dn)

Creamos un certificado para el usuario y lo subimos a MyProxy

createCertificate4Shibboleth(usergetUserName()usergetEmailAddress

()(String)hsgetAttribute(shibbolethuserpassword))

anhadir usuario al GRIDMAP

String entry=new String()

156 Anexo A Coacutedigo Fuente

entry= convertDnToGridMapEntry(dndefaultUser)

if (entry=)

logdebug(Adding user to Grid-mapFile +entry)

addEntryToFile (pathGridMapentry)

catch(FileNotFoundException fnfe)Systemoutprintln(Fichero no

encontrado+fnfe)

catch(SecurityException se)Systemoutprintln(Permisos

incorrectos)

catch(IOException ioe)Systemoutprintln(IO exception)

catch(NumberFormatException nfe)Systemoutprintln(El

periodo de validez del certificado no es un entero +

nfe)

catch(Exception e)Systemoutprintln(Excepcion no

controlada +e+ End)

Coacutedigo A5 Meacutetodo para crear y almacenar ACs para los usuarios Shibboleth

A5 Despliegue del sistema de almacenamiento distribuido

El sistema de almacenamiento de datos de RETELAB se construyoacute utilizando como baseel RLS de GT4 y el MCS La integracioacuten de estos servicios con la interfaz Web no fue inme-diata y fue necesario realizar ciertas modificaciones Tal y como se describe en los detalle deimplementacioacuten de la Seccioacuten 33 la clase GenericserviceFetcher fue modificada para hacerimpliacutecita la clase necesaria para establecer la conexioacuten con el servicio de datos

private String getWSDL(final URL url) throws IOException

Start Retelab

URL url2 = new URL(url(javanetURLStreamHandler)new orgglobusnet

protocolhttpsHandler())

InputStreamReader input = new InputStreamReader(url2openConnection()

getInputStream())

End Retelab

InputStreamReader input = new InputStreamReader(urlopenStream())

StringBuffer buf = new StringBuffer()

char[] charArray = new char[1024]

int readBytes

A5 Despliegue del sistema de almacenamiento distribuido 157

while ((readBytes = inputread(charArray)) gt= 0)

bufappend(charArray 0 readBytes)

String wsdl = buftoString()

return wsdl

Coacutedigo A6 Modificacioacuten de la clase GenericserviceFetcher para permitir la conexioacuten con el servicio demetadatos

La integracioacuten del servicio RLS con la interfaz Web implicoacute cambiar ligeramente el modode autenticar los usuarios del portal En lugar de utilizar el proxy del usuario como un paraacute-metro de un meacutetodo de autenticacioacuten del servicio fue necesario descargarlo de la sesioacuten delportal y almacenarlo local y temporalmente para que el servicio pudiese laquoencontrarloraquo ya queno soportaba el paso por variable

private DataGridWorker conectarWorker( String username) throws orgietfjgss

GSSException

GSSCredential proxy

GlobusCredential globusCred = null

proxy=ProxyManagergetDefaultProxy(username)

if(proxy instanceof orgglobusgsigssapiGlobusGSSCredentialImpl)

globusCred = ((GlobusGSSCredentialImpl)proxy)

getGlobusCredential()

Ruta para almacenar el CD

String proxyfoldername=SystemgetProperty(userhome)+

SystemgetProperty(fileseparator)+propiedades

getProperty(PATHUSERPROXIES)

String proxyfilename=proxyfoldername+SystemgetProperty(

fileseparator)+activeproxy+username

FileOutputStream out =null

File file=null

try

boolean create=true

file=new File(proxyfoldername)

if (fileexists())

create=filemkdir()

158 Anexo A Coacutedigo Fuente

if (create)

file=new File(proxyfilename)

if (fileexists())

create=filecreateNewFile()

if(create)

out = new FileOutputStream(file)

Since Java does not provide an API for setting the permissions of a file the

JGlobus module will attempt to execute the binchmod program

in the background to set the permissions of the given file If that program cannot

be executed for any reason or fails to execute correctly

a proxy file might end up with incorrect file permissions (depending on umask

setting)

Usually a warning will be displayed if that occurs (especially on Windows since bin

chmod is not supported on that platform)

if (orgglobusutilUtilsetFilePermissions

(proxyfilename 600))

Systemerrprintln(Por favor

compruebe que los permisos de

su archivo de proxy son de

solo lectura para el

propietario)

globusCredsave(out)

outclose()

catch(IOException io)ioprintStackTrace()

finally

out=null

file=null

GlobusGSSCredentialImpl gssci = new GlobusGSSCredentialImpl(

globusCredGSSCredentialINITIATE_AND_ACCEPT)

GlobusCredentialsetDefaultCredential(gsscigetGlobusCredential())

Creamos el DataGridWorker Ya dispone todos los datos necesarios

para autenticar al usuario

return new DataGridWorker(propiedadesgetProperty(METADATACATALOG

GRIDSERVICE)username)

Coacutedigo A7 Procedimiento para autenticar a un usuario en el servicio RLS

A5 Despliegue del sistema de almacenamiento distribuido 159

Listado de acroacutenimos

AATSR Radioacutemetro Avanzado de Exploracioacuten Longitudinal 81

AC Certificado de Atributos 39ndash41 43 44 56 124 148 151 156

AI Inteligencia Artificial 13

AIS Sistema Automaacutetico de Identificacioacuten 131

ANN Red Neuronal Artificial 75 98ndash100 103 107 110 111 114 126 131

API Application Programming Interface 24 26ndash28 55 116 128

ASAR Radar de Apertura Sinteacutetica Avanzado 82ndash84

AZTI Centro Tecnoloacutegico del Mar y los Alimentos del Paiacutes Vasco 11

CA Autoridad Certificadora 35 39

CART Aacuterboles de Clasificacioacuten y Regresioacuten 105

CERN Organizacioacuten Europea para la Investigacioacuten Nuclear 28

CESGA Centro de Supercomputacioacuten de Galicia 11 33 34 54 59 125

CLI Interfaz de Liacutenea de Comandos 8 21 55

CoG Java Commodity Grid Kit 24 27

DB Base de Datos 3 5 7 44 46ndash49 52 53 57 75 76 80 85 86 89 91 97 112 113118 119 124 125

162 Listado de acroacutenimos

DC Certificado Digital 29 35ndash44 49 56 124 151 153

DORIS Orbitografiacutea y Radioposicionamiento Doppler Integrado por Sateacutelite 81

DRMAA Distributed Resource Management Application 55 56

EMSA Agencia Europea de Seguridad Mariacutetima 79 85

ESA Agencia Espacial Europea 65 80 83 85

ESG Earth System Grid 29

ESTF Esquema de Separacioacuten de Traacutefico de Fisterra 77ndash79 85ndash87 89 131

GMES Monitorizacioacuten Global para el Medioambiente y la Seguridad 81

GOMOS Monitorizacioacuten Global del Ozono mediante la Ocultacioacuten de Estrellas 81

GPDK Grid Portal Development Kit 23

GPIR GridPort Information Repository 27

GSI Security Grid Infrastructure 35ndash37

GT Globus Toolkit 18ndash20 23 24 28 32 34 35 37 41 45ndash49 156

GWSDL Grid Web Service Definition Language 19

HPC Computacioacuten de Alto Rendimiento 11

HTC Computacioacuten de Altas Prestaciones 6 11

IA Aacutengulo de Incidencia 68 69 73 83 84 89 90 92 93 95 125

IaaS Infraestructura como Servicio 128 130

ICCM Instituto Canario de Ciencias del Mar 11 60

IDV Integrated Data Viewer 53 54 57 61 125

IMO Organizacioacuten Internacional Mariacutetima 131

Listado de acroacutenimos 163

JAR ARchivo Java 40 47

JavaWS Java Web Start 30 53

JCE Extensioacuten Criptograacutefica de Java 41 147

JNLP Java Networking Launching Protocol 53

JRE Entorno de Ejecucioacuten de Java 53

JSDL Job Submission Description Language 55 130

JSP Java Server Pages 23 24 28

LAS Live Access Server 52 53

LDAP Lightweight Directory Access Protocol 39ndash41

LFN Nombre Loacutegico de Fichero 45 46 49

LHC Large Hadron Collider 3 28

LIFO Last In First Out 147

LRC Local Replica Catalog 46

LRR Retrorreflector Laacuteser 82

MAMS Meta Access Management System 43 44

MCS Metadata Catalog System 46 48 156

MEC Ministerio de Educacioacuten y Ciencia 10

MERIS Espectroacutemetro de Imaacutegenes de Resolucioacuten Media 81

MIPAS Interferoacutemetro de Michelson para Ecografiacutea Atmosfeacuterica Pasiva 82

MLP Perceptroacuten Multicapa 100 101 103 104 113ndash115 118

MPI Message Passing Interface 59

MWR Radioacutemetro de Microondas 81 82

164 Listado de acroacutenimos

NetCDF Network Common Data Form 51 54 59

OGCE Open Grid Computing Environments 27 28

OGSA Open Grid Service Architecture 19 20 46

OGSI Open Grid Services Infrastructure 19

OpenMP Open Multiprocessing 59 116

PaaS Plataforma como Servicio 129 130

PCA Anaacutelisis de Componentes Principales 95 126

PDP Policy Decision Point 41 42

PFN Nombre Fiacutesico de Fichero 45 46

PKI Public Key Infrastructure 9 35

PP Produccioacuten Primaria 2 51 60

PURSe Portal-based User Registration Service 29 30 38ndash40 124

RA-2 Altiacutemetro de Radar 81 82

RBAC Control de Acceso Basado en Roles 9 11 37 39 41 124 150 151

RETEMAR Red Espantildeola de Teledeteccioacuten Marina 8 31

RLI Replica Location Index 46

RLS Replica Location Service 45 49 156ndash158

ROI Regioacuten de Intereacutes 73

ROMS Regional Ocean Model System 58 59

SaaS Sofware como Servicio 129

SAR Radar de Apertura Sinteacutetica 12 50 61 68ndash73 77 79 82 84 86 88 89 91 93 109ndash111 113 114 117 118 125 126 131

Listado de acroacutenimos 165

SASEMAR Agencia espantildeola de Salvamento y Seguridad Mariacutetima 79 80 85 114 131

SCIAMACHY Espectroacutemetro de Absorcioacuten de Exploracioacuten e Imaacutegenes para CartografiacuteaAtmosfeacuterica 82

SLAR Radar Lateral Aerotransportado 66

SSO Single-Sign On 43 44 124 151

SVM Maacutequinas de Soporte Vectorial 132

UDC Universidad de la Coruntildea 12

UNICORE Uniform Interface to Computing Resources 18 23

USC Universidad de Santiago de Compostela 11 12 33

VGPM Vertically Generalised Production Model 60

VO Organizacioacuten Virtual 3ndash5 7 17 20 37

WSDL Web Services Description Language 19 48

WSM Wide Swath Mode 76 82 84ndash86 130

WSRF Web Service Resource Framework 19 20

Iacutendice alfabeacutetico

Aacuterbol de decisioacuten 105ndash108 113 114 119126 131

Nodo decisioacuten 105Nodo hoja 105ndash108Poda 107 108

ASAR 82ndash84Autoridad certificadora 35 39

Caracterizacioacuten 12 71 73 94 126Certificado de atributos 39ndash41 43 44 56

124 148 151 156Certificado digital 29 35ndash40 42ndash44 49

56 124 151 153Clasificacioacuten 10 13 71 73ndash75 90 96

111 126Clasificadores probabiliacutesticos 75CMOD5 91 117 118 131CoG 24 27Computacioacuten Cloud 127ndash130Computacioacuten distribuida 1ndash3 17 127 128Contenedor de portlets 24

EMSA 79 85Envisat 68 69 75 76 80ndash86 127 130ESA 65 80 83 85

ESG 29Espectro electromagneacutetico 82 83ESTF 77ndash79 85ndash87 89 131

Filtro de aacuterea 94 110Filtro de mediana 88 89 110Filtro de ruido 87 88 110Filtro de viento 94 110

Genius Grid Portal 28Globus Toolkit 8 18ndash20 22 23 28 30

32 45ndash49 156GPDK 23Grid 3ndash6 9 11 17ndash21 23 24 28ndash30 32

35 36 42 44ndash46 52 54 56 57110 124 130 148 151

Aplicaciones 6 19 27 28Computacioacuten 2 3 5ndash7 9 11 17ndash19

22 23 25 29 32 44 110 123127

Interfaz 21Middleware 8 22 23 124Portal 22ndash25 27ndash30 32 33 37 46

123Primera generacioacuten 22 29

168 Iacutendice alfabeacutetico

Segunda generacioacuten 24Servicios 19 20 25 27 28 41 42Sistema 4ndash6 8 11 19ndash23 27 28

30 33 35 41 54 55 60 123Tecnologiacutea 4 5 17ndash19 28

GridFTP 47GridPort 23 27GridPortlets 27 28GridSphere 25ndash28 30 32 40 41 43 44

124 148 150GridWay 11 55 56 125 130GSI 35ndash37GWSDL 19

I-WAY 17 18IDV 53 54 57 61 125ISO 19115 46 49 124

JCE 41 147

LAS 52 53Legion 18Look-alike 70 71 74ndash76 85 88 90 94

96 117ndash119LRC 46

Maacutescara de tierra 87 88 110 118MCS 46 48 156Metadatos 11 44 46 47 49 50 56 109

124Metaplanificador 11 55 56 124 130MyProxy 29 36 37 39 49

Noise floor veacutease Ruido de fondo

OGCE 27 28

OGSA 19 20 46OGSI 19Organizacioacuten virtual 3ndash5 7 17 20 21 37

P-Grade 30PCA 95 126PERMIS 40ndash42 124 148 151Polarizacioacuten 83ndash85Portlet 13 22 24ndash27 32 38 41ndash43 47

49ndash51 53 55ndash57 59 60 111112 124 148

Portlet Grid 25ndash27Prestige 78 79PURSe 29 38ndash40 124

Radar 65 66 68Radarsat 75 130RBAC 9 11 37 39 41 124 150 151Red neuronal artificial 75 98 99 103 107

110 111 114 119 126 131Backpropagation 99ndash101 103Perceptroacuten multicapa 100 103 104

113 114Resolucioacuten espacial 66 67 130RETELAB 10ndash13 26 27 30 31 33 34

36 38 39 41ndash44 46 49ndash58 6061 80 110 111 124 125 127129 130 148 151 156

Data Grid 44 47 49 50 56ndash58 61112 124

Monitor de tareas 55 112 125RLI 46RLS 45 49 156ndash158Ruido de fondo 83 84 117

Iacutendice alfabeacutetico 169

SAR 12 50 61 68ndash73 77 79 82 84 8688 89 91 93 109ndash111 113 114117 118 125 131

Segmentacioacuten 10 12 71ndash73 75 88 9193 107 110 117 125 126

Sentinazo 12 13 65 71ndash76 78 85 8690 91 94ndash96 99 110 111 114ndash119 126 131

SENTINAZOS 58 60 82 106 110ndash112125 130

Sentinel 80 81 127 131Servicios Web 19Shibboleth 43 44 124 151 153 156SLAR 66SSO 43 44 124 151

Teledeteccioacuten 2 11 31 44

Umbral adaptativo 10 73 89 92 93 110117 125

Umbral simple 73UNICORE 18 23

Vector de caracteriacutesticas 10 73 74 94ndash96 118 126

Caracteriacutesticas de forma 73 94 95Caracteriacutesticas fiacutesicas 73 95Informacioacuten contextual 74 95Texturas 74

Vertidos de hidrocarburo 10 12 60 6265 66 69 71 78 79 82 84 8587ndash89 110 116 123 125 130131

WebSphere 25 26

WSDL 19 48WSM 76 82 84ndash86 130

  • Portada
  • Iacutendice general
  • Iacutendice de figuras
  • Iacutendice de tablas
  • Introduccioacuten
    • Computacioacuten Grid
      • Aplicaciones Grid
        • Motivacioacuten
        • Objetivos
          • Objetivos concretos
            • Estructura de la memoria
              • Laboratorio Virtual de Teledeteccioacuten Oceanograacutefica
                • Evolucioacuten de la Computacioacuten Grid
                  • Estandarizacioacuten de las tecnologiacuteas Grid
                  • Arquitectura de un sistema Grid
                  • Interfaces Grid
                    • Portales Grid primera generacioacuten
                    • Portales Grid segunda generacioacuten
                    • Portales Grid casos de estudio
                        • Proyecto RETELAB
                          • Descripcioacuten del proyecto
                            • Arquitectura general del sistema
                              • Registro y acceso de los usuarios
                                • Autenticacioacuten y autorizacioacuten
                                  • Sistema de almacenamiento distribuido
                                    • Almacenamiento de datos
                                      • Visualizacioacuten de los datos
                                        • Live Access Server
                                        • Integrated Data Viewer
                                          • Gestioacuten y monitorizacioacuten de trabajos
                                            • Integracioacuten con el sistema de almacenamiento distribuido
                                              • Validacioacuten del laboratorio virtual
                                                • ROMS
                                                • Caacutelculo del modelo de produccioacuten primaria
                                                • sentinazos
                                                  • Validacioacuten del Laboratorio Virtual avances en la deteccioacuten automaacutetica de vertidos de hidrocarburos
                                                    • Estado del arte
                                                    • Sistema automaacutetico de deteccioacuten de vertidos en imaacutegenes de SAR
                                                      • Descripcioacuten del proyecto
                                                      • Fuentes de datos
                                                        • Sateacutelite envisat
                                                        • Coleccioacuten de datos
                                                          • Preprocesado
                                                            • Calibrado y proyeccioacuten cartograacutefica
                                                            • Maacutescara de tierra
                                                            • Filtro de ruido
                                                              • Segmentacioacuten
                                                                • Establecimiento del umbral adaptativo
                                                                • Aplicacioacuten del umbral adaptativo
                                                                • Filtro de vientos
                                                                • Filtro de aacuterea
                                                                  • Extraccioacuten de caracteriacutesticas
                                                                  • Clasificacioacuten
                                                                    • Redes Neuronales Artificiales
                                                                    • Aacuterboles de decisioacuten
                                                                      • Validacioacuten del sistema de deteccioacuten de vertidos
                                                                        • Desarrollo de un software de escritorio
                                                                        • Integracioacuten en retelab
                                                                            • Resultados
                                                                              • Eficacia
                                                                              • Tiempo de procesamiento
                                                                                • Discusioacuten
                                                                                  • Epiacutelogo
                                                                                    • Resultados y conclusiones
                                                                                    • Trabajo futuro
                                                                                      • Trabajo futuro en el proyecto RETELAB
                                                                                        • Computacioacuten Cloud
                                                                                        • Integracioacuten de la computacioacuten Cloud en retelab
                                                                                          • Evolucioacuten de las aplicaciones desplegadas SENTINAZOS
                                                                                            • Fuentes de datos
                                                                                            • Mejora de los algoritmos
                                                                                                • Bibliografiacutea
                                                                                                • Anexos
                                                                                                • Coacutedigo Fuente
                                                                                                  • Procedimiento para el registro de una JCE
                                                                                                  • Gestioacuten de certificados y roles desde la interfaz de GridSphere
                                                                                                  • Gestioacuten de la ejecucioacuten de las tareas usando PERMIS
                                                                                                  • Integracioacuten de Shibboleth en el sistema
                                                                                                  • Despliegue del sistema de almacenamiento distribuido
                                                                                                    • Listado de acroacutenimos
                                                                                                    • Iacutendice alfabeacutetico
Page 8: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 9: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 10: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 11: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 12: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 13: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 14: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 15: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 16: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 17: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 18: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 19: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 20: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 21: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 22: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 23: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 24: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 25: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 26: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 27: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 28: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 29: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 30: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 31: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 32: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 33: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 34: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 35: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 36: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 37: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 38: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 39: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 40: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 41: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 42: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 43: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 44: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 45: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 46: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 47: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 48: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 49: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 50: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 51: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 52: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 53: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 54: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 55: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 56: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 57: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 58: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 59: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 60: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 61: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 62: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 63: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 64: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 65: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 66: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 67: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 68: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 69: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 70: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 71: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 72: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 73: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 74: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 75: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 76: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 77: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 78: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 79: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 80: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 81: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 82: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 83: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 84: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 85: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 86: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 87: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 88: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 89: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 90: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 91: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 92: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 93: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 94: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 95: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 96: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 97: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 98: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 99: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 100: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 101: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 102: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 103: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 104: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 105: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 106: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 107: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 108: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 109: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 110: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 111: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 112: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 113: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 114: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 115: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 116: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 117: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 118: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 119: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 120: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 121: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 122: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 123: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 124: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 125: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 126: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 127: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 128: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 129: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 130: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 131: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 132: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 133: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 134: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 135: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 136: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 137: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 138: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 139: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 140: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 141: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 142: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 143: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 144: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 145: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 146: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 147: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 148: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 149: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 150: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 151: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 152: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 153: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 154: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 155: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 156: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 157: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 158: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 159: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 160: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 161: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 162: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 163: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 164: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 165: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 166: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 167: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 168: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 169: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 170: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 171: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 172: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 173: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 174: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 175: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 176: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …
Page 177: DESARROLLO, DESPLIEGUE Y VALIDACIÓN DE UN …