• No se han encontrado resultados

MIM: MULTIMEDIA INTEGRATION MIDDLEWARE, UNA PLATAFORMA DE SERVICIOS MULTIMEDIA EN GRID

N/A
N/A
Protected

Academic year: 2021

Share "MIM: MULTIMEDIA INTEGRATION MIDDLEWARE, UNA PLATAFORMA DE SERVICIOS MULTIMEDIA EN GRID"

Copied!
138
0
0

Texto completo

(1)

MIM: MULTIMEDIA INTEGRATION MIDDLEWARE, UNA

PLATAFORMA DE SERVICIOS MULTIMEDIA EN GRID

LEONARDO ENRIQUE MANCILLA AMAYA

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN

BOGOTA, DC

(2)

MIM: MULTIMEDIA INTEGRATION MIDDLEWARE, UNA

PLATAFORMA DE SERVICIOS MULTIMEDIA EN GRID

LEONARDO ENRIQUE MANCILLA AMAYA

Tesis de Grado presentado como requisito para optar al título de

Magíster en Ingeniería de Sistemas y Computación

Director: Claudia Lucía Jiménez Guarín, Ph.D

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN

BOGOTA, D.C

(3)

TABLA DE CONTENIDO

1. INTRODUCCIÓN ... 9

1.1 CONTEXTO ... 11

1.2 OBJETIVO GENERAL ... 12

1.3 OBJETIVOS ESPECÍFICOS ... 12

2. ESTADO DEL ARTE... 13

2.1 ESTÁNDARES EXISTENTES PARA REPRESENTAR INFORMACIÓN MULTIMEDIA ... 13

2.1.1 EXIF (Exchangeable Image File Format) ... 14

2.1.2. Dublín Core ... 16

2.1.3. MPEG-7 ... 18

2.2.HERRAMIENTAS EXISTENTES PARA MANEJO DE CONTENIDO MULTIMEDIA ... 20

2.2.1 MEDICUS (Medical Imaging and Computing for Unified Information Sharing) ... 20

2.2.2 AccessGrid ... 22

2.2.3 Grid Enabled System for Medical Image Gathering, Analyzing, Retrieval and Processing ... 24

2.2.4 GridIR (Grid Information Retrieval) ... 25

2.2.5 MARVEL: Multimedia Analysis and Retrieval System ... 26

2.2.6 VizIR ... 27

2.2.7 IBM VideoAnnEx Annotation Tool ... 27

2.2.8 LIRE (Lucene Image REtrieval) ... 28

2.2.9 CALIPH (Common And LIght weight PHoto annotation) ... 28

2.2.10 EMIR (Experimental Meta-data based Image Retrieval) ... 29

2.2.11 MPEG-7 Audio Encoder ... 30

2.3 RESUMEN GENERAL Y SELECCIÓN DE ESTÁNDARES Y HERRAMIENTAS PARA EL PROCESO DE DESARROLLO ... 31

3. ESTRATEGIA DE SOLUCIÓN ... 35

3.1 ENFOQUE DE LA SOLUCIÓN ... 35

3.1.1 Alcance funcional ... 35

3.1.2 Alcance sobre las formas de representar la información ... 36

3.1.3 Alcance del funcionamiento de la plataforma ... 36

3.1.4 Visión de servicios ... 39

3.1.5 Alcance de Requerimientos No Funcionales ... 40

3.2 PROBLEMÁTICA SOBRE LA ADAPTACIÓN DE HERRAMIENTAS AL GRID ... 40

4. MIM: MULTIMEDIA INTEGRATION MIDDLEWARE ... 42

(4)

4.2 CAPA DE SERVICIOS MULTIMEDIA... 45

4.2.1 Modelo de Procesos ... 52

4.2.2 Diagramas de clases ... 64

4.2.3 Diagramas de secuencia ... 71

4.3 CAPA DE SERVICIOS DE SOPORTE ... 74

4.3.1 Modelos de procesos ... 76

4.3.2 Diagramas de clases ... 79

4.3.3 Diagramas de secuencia ... 80

4.4 CAPA DE ALMACENAMIENTO ... 81

5. IMPLEMENTACIÓN, PRUEBAS Y RESULTADOS ... 84

5.1 HERRAMIENTAS EMPLEADAS PARA EL DESARROLLO DE MIM ... 84

5.2 CONSIDERACIONES PARA LA IMPLEMENTACIÓN DE MIM ... 85

5.2.1 Estructura de la implementación final ... 85

5.2.2 Virtualización del ambiente de desarrollo... 88

5.3 MIM &MAGOS ... 91

5.3.1 MIM como una aplicación MAGOS ... 91

5.3.2 MIM como una extensión de MAGOS ... 94

5.4 APLICACIONES DESARROLLADAS CON MIM ... 95

5.4.1 Aplicaciones de ayuda a los desarrolladores ... 95

5.4.2 Aplicaciones de monitoreo ... 97

5.4.3 Aplicación de prueba de MIM ... 98

5.5 PRUEBAS Y RESULTADOS OBTENIDOS ... 101

5.5.1 Ámbito de pruebas ... 102

5.5.2 Resultados obtenidos en las pruebas ... 104

6. CONCLUSIONES Y TRABAJO FUTURO ... 116

7. REFERENCIAS BIBLIOGRÁFICAS ... 119

ANEXO A - DIAGRAMAS DE SECUENCIA ... 123

A-1.DIAGRAMA DE SECUENCIA PARA CREACIÓN DE RECURSOS ... 123

A-2.DIAGRAMA DE SECUENCIA PARA ELIMINACIÓN DE RECURSOS ... 124

A-3.DIAGRAMA DE SECUENCIA PARA ACTUALIZACIÓN DE RECURSOS ... 125

A-4.DIAGRAMA DE SECUENCIA PARA BÚSQUEDA EN SISTEMAS DE ARCHIVOS ... 126

A-5.DIAGRAMA DE SECUENCIA PARA BÚSQUEDA EN BASES DE DATOS XML ... 127

(5)

A-7.DIAGRAMA DE SECUENCIA PARA STREAMING DE AUDIO O VIDEO ... 129

A-8.DIAGRAMA DE SECUENCIA PARA LA CREACIÓN DE UNA SALA DE VIDEOCONFERENCIA ... 130

A-9.DIAGRAMA DE SECUENCIA PARA AGREGAR UN USUARIO A UNA SALA EXISTENTE ... 131

A-10.DIAGRAMA DE SECUENCIA PARA LA REUBICACIÓN DE DATOS DENTRO DEL GRID (ADAPTADO DE (43)). ... 132

(6)

INDICE DE FIGURAS

FIGURA 2-1. ALCANCE DE MPEG-7(ADAPTADO DE (22)). ... 18

FIGURA 2-2.ELEMENTOS PRINCIPALES DE MPEG-7(TOMADO DE (22)). ... 19

FIGURA 2-3.INFRAESTRUCTURA DE MEDICUS(TOMADO DE (2)). ... 21

FIGURA 2-4.ESTRUCTURA DE UN NODO ACCESSGRID (TOMADO DE (3)). ... 23

FIGURA 2-5. ARQUITECTURA DEL SISTEMA PROPUESTO PARA RECOLECCIÓN DE IMÁGENES MÉDICAS (TOMADO DE (4)). ... 24

FIGURA 2-6.DIAGRAMA UMLSIMPLIFICADO DE CALIPH(TOMADO DE (8)). ... 29

FIGURA 2-7.DIAGRAMA UML SIMPLIFICADO DE LA ARQUITECTURA DE EMIR(TOMADO DE (8)). ... 30

FIGURA 2-8. INTERFAZ GRÁFICA DE MPEG-7AUDIO ENCODER (TOMADO DE (7)). ... 31

FIGURA 3-1.ESQUEMA GENERAL DE REPLICACIÓN EN MAGOS... 37

FIGURA 3-2.ESQUEMA GENERAL DE REPLICACIÓN EN MIM. ... 38

FIGURA 3-3.ESQUEMA GENERAL DE REPLICACIÓN USANDO MIM Y MAGOS. ... 39

FIGURA 4-1.VISIÓN GENERAL DEL MIDDLEWARE DE SERVICIOS MULTIMEDIA MIM. ... 42

FIGURA 4-2ARQUITECTURA PROPUESTA PARA MIM. ... 44

FIGURA 4-3.DIAGRAMA DE COMPONENTES DE LA CAPA DE SERVICIOS MULTIMEDIA. ... 46

FIGURA 4-4.ESTRUCTURA GENERAL DEL ESQUEMA MIM. ... 50

FIGURA 4-5.ESTRUCTURA DE UN DOCUMENTO MPEG-7 GENERADO POR MIM. ... 51

FIGURA 4-6.ESTRUCTURA GENERAL DEL SERVICIO DE VIDEOCONFERENCIA. ... 52

FIGURA 4-7.MODELO DE PROCESO PARA LA CREACIÓN DE RECURSOS EN MIM. ... 53

FIGURA 4-8.MODELO DE PROCESO PARA LA ELIMINACIÓN DE RECURSOS EN MIM. ... 55

FIGURA 4-9.MODELO DE PROCESO PARA LA ACTUALIZACIÓN DE RECURSOS EN MIM. ... 57

FIGURA 4-10.MODELO DE PROCESO PARA LAS BÚSQUEDAS EN SISTEMAS DE ARCHIVOS USANDO MIM. ... 59

FIGURA 4-11.MODELO DE PROCESO PARA LAS BÚSQUEDAS EN BASES DE DATOS USANDO MIM. ... 60

FIGURA 4-12.MODELO DE PROCESO PARA EL INDEXAMIENTO EN MIM. ... 61

FIGURA 4-13.MODELO DE PROCESO PARA STREAMING DE AUDIO O VIDEO EN MIM. ... 62

FIGURA 4-14.MODELO DE PROCESO PARA VIDEOCONFERENCIA EN MIM. ... 63

FIGURA 4-15.DIAGRAMA DE CLASES PARA EL PAQUETE RESOURCEMANAGEMENT. ... 65

FIGURA 4-16.DIAGRAMA DE CLASES PARA EL PAQUETE INDEXING. ... 66

FIGURA 4-17.DIAGRAMA DE CLASES PARA EL PAQUETE SEARCH. ... 67

FIGURA 4-18.DIAGRAMA DE CLASES PARA EL PAQUETE UTIL. ... 68

FIGURA 4-19.DIAGRAMA DE CLASES PARA EL PAQUETE DE VIDEOCONFERENCIA ... 70

FIGURA 4-20.DIAGRAMA DE CLASES PARA EL PAQUETE DE TRANSMISIÓN. ... 71

FIGURA 4-21.DIAGRAMA DE COMPONENTES DE LA CAPA DE SERVICIOS DE SOPORTE. ... 75

FIGURA 4-22.MODELO DE PROCESO PARA LA UBICACIÓN SE SERVIDORES REMOTOS. ... 77

(7)

FIGURA 4-24.DIAGRAMA DE CLASES PARA EL PAQUETE SUPPORT. ... 80

FIGURA 4-25.DIAGRAMA DE COMPONENTES DE LA CAPA DE SERVICIOS DE ALMACENAMIENTO. ... 82

FIGURA 4-26.DIAGRAMA DE CLASES DEL PAQUETE STORAGE. ... 83

FIGURA 5-1.ESTRUCTURA DE DIRECTORIOS PARA EL CORE DE MIM. ... 87

FIGURA 5-2.ARCHIVO DE PROPIEDADES DE MIM. ... 88

FIGURA 5-3.ARCHIVO DE DESCRIPCIÓN PARA MODO COMPUTE. ... 92

FIGURA 5-4.ARCHIVO DE DESCRIPCIÓN PARA MODO UPDATE. ... 93

FIGURA 5-5.GUI DEL SERVICIO DE VIDEOCONFERENCIA MIM –VISTA LOCAL ... 96

FIGURA 5-6.GUI DEL SERVICIO DE VIDEOCONFERENCIA MIM –VISTA DE USUARIOS REMOTOS. ... 96

FIGURA 5-7.CONSOLA DE MONITOREO. ... 97

FIGURA 5-8.CONSOLA DE MONITOREO PARA EL SERVICIO DE VIDEOCONFERENCIA. ... 98

FIGURA 5-9.APLICACIÓN DE EJEMPLO DESARROLLADA CON MIM. ... 100

FIGURA 5-10.EJEMPLO DE CÓDIGO:CREACIÓN DE RECURSOS. ... 101

FIGURA 5-11.EJEMPLO DE CÓDIGO:INDEXAMIENTO EN SISTEMAS DE ARCHIVOS. ... 101

FIGURA 5-12.ÁMBITO DE PRUEBAS PARA MIM. ... 102

FIGURA 5-13.RESULTADOS DE PRUEBAS:CREACIÓN DE IMÁGENES. ... 105

FIGURA 5-14.RESULTADOS DE PRUEBAS:CREACIÓN DE VIDEO. ... 106

FIGURA 5-15.RESULTADOS DE PRUEBAS:CREACIÓN DE AUDIO. ... 107

FIGURA 5-16.RESULTADOS DE PRUEBAS:ACTUALIZACIÓN DE IMÁGENES. ... 108

FIGURA 5-17.RESULTADOS DE PRUEBAS:ACTUALIZACIÓN DE VIDEO. ... 109

FIGURA 5-18.RESULTADOS DE PRUEBAS:ACTUALIZACIÓN DE AUDIO. ... 111

FIGURA 5-19.RESULTADOS DE PRUEBAS:INDEXAMIENTO. ... 112

FIGURA 5-20.RESULTADOS DE PRUEBAS:BÚSQUEDA EN SISTEMA DE ARCHIVOS. ... 113

(8)

INDICE DE TABLAS

TABLA 2-1.INFORMACIÓN SOBRE UNA IMAGEN EN FORMATO EXIF(TOMADO DE (21)). ... 15

TABLA 2-2.INFORMACIÓN SOBRE UNA CÁMARA DIGITAL EN FORMATO EXIF(TOMADO DE (21)). ... 15

TABLA 2-3.ELEMENTOS DE DUBLIN CORE POR CATEGORÍA. ... 17

TABLA 2-4.TABLA DE RESUMEN SOBRE ESTÁNDARES Y HERRAMIENTAS. ... 34

TABLA 4-1.SERVICIOS IMPLEMENTADOS POR MIM BASADOS EN MPEG-7 PARA LA CAPA DE SERVICIOS MULTIMEDIA. ... 45

TABLA 4-2.SERVICIOS IMPLEMENTADOS POR MIM PARA LA CAPA DE SERVICIOS ALMACENAMIENTO. ... 81

TABLA 5-1.ESTRUCTURA DE DIRECTORIOS PARA LOS SERVICIOS GRID IMPLEMENTADOS EN MIM. ... 86

TABLA 5-2.RESULTADO DE LA VALIDACIÓN DE REQUERIMIENTOS FUNCIONALES EN MIM. ... 99

TABLA 5-3.TABLA DE LAS PRUEBAS REALIZADAS. ... 103

TABLA 5-4.TIEMPOS PROMEDIO:CREACIÓN DE IMÁGENES. ... 105

TABLA 5-5.TIEMPOS PROMEDIO:CREACIÓN DE VIDEO. ... 106

TABLA 5-6.TIEMPOS PROMEDIO:CREACIÓN DE AUDIO... 108

TABLA 5-7.TIEMPOS PROMEDIO:ACTUALIZACIÓN DE IMÁGENES. ... 109

TABLA 5-8.TIEMPOS PROMEDIO:ACTUALIZACIÓN DE VIDEO. ... 110

TABLA 5-9.TIEMPOS PROMEDIO:ACTUALIZACIÓN DE AUDIO. ... 111

TABLA 5-10.TIEMPOS PROMEDIO:INDEXAMIENTO. ... 112

(9)

1. Introducción

En la actualidad, las aplicaciones son cada vez más exigentes en cuanto a sus requerimientos de procesamiento y almacenamiento de información; se requieren grandes repositorios para almacenar datos, y un gran poder de cómputo para poder realizar las operaciones complejas que se necesitan para procesar esos datos; además, las aplicaciones tienen ahora más que nunca la necesidad de cooperar entre sí. Por otra parte, la información que las aplicaciones manejan ha dejado de ser únicamente estructurada, incluyendo la posibilidad de procesar archivos multimedia como imágenes, audio o video. Por estas razones, la tecnología de grid computing1 se perfila como una alternativa para

solucionar algunos de estos inconvenientes. Un grid ofrece grandes volúmenes de almacenamiento, permite distribuir el procesamiento de datos en diferentes máquinas y ofrece la posibilidad de tener ambientes heterogéneos con respecto al hardware, software y tipos de información que se pueden manejar (1).

Sin embargo, en el campo de grid computing existen todavía pocas herramientas que permitan desarrollar de una manera sencilla aplicaciones que cooperen entre sí empleando información multimedia. Muchas de las soluciones existentes para el desarrollo de aplicaciones con soporte a multimedia sobre un grid, manejan únicamente un tipo de recurso (imágenes, video o audio) pero no todos a la vez, como (2), (3), o (4). Adicionalmente, existen otras que a pesar de no funcionar sobre grid, ofrecen mecanismos basados en estándares, como MPEG-7, para la creación, búsqueda e intercambio de contenido multimedia como (5), (6) , (7) o (8); incluso algunas deben ser adaptadas a fondo para soportar la manipulación de información multimedia o funcionar sobre grid, como por ejemplo (9) y (8). También, existen algunos trabajos que son aplicaciones finales las cuales no proveen un API para los desarrolladores, quienes simplemente no pueden realizar modificaciones o adaptarlas con facilidad a un entorno de grid (10), (11).

Por otra parte, además de no existir suficientes herramientas que faciliten a los desarrolladores la implementación de aplicaciones multimedia sobre grid tal como se mencionó antes, las aproximaciones que esas soluciones presentan no están orientadas a permitir la cooperación, orquestación, instalación y definición de los requerimientos no

1 El autor usa en este trabajo terminología técnica en inglés, por ser las de uso corriente en nuestro medio.

Palabras y siglas como grid, datagrid QoS o middleware, entre otras, son dejadas en ese idioma de forma intencional.

(10)

funcionales para las aplicaciones que se desea desarrollar, tal como ocurre en el contexto del proyecto MAGOS (Middleware Architecture for Grid Oriented Sevices) (12) el cual tiene como objetivo proporcionar mecanismos para desarrollar aplicaciones grid-enabled que sean capaces de cooperar en ambientes heterogéneos y autónomos; MAGOS se ha desarrollado como un proyecto del grupo COMIT de la Universidad de los Andes, grupo dentro del cual se enmarca también este proyecto. En este trabajo se quiere generar un mecanismo de fácil uso, extensible y basado en estándares, que permita a los desarrolladores de aplicaciones grid implementar soluciones multimedia con mayor facilidad.

Teniendo en cuenta la necesidad y los inconvenientes descritos anteriormente, el objetivo de este trabajo se ha enfocado en desarrollar una infraestructura de middleware basada en servicios y estándares para el manejo de información multimedia, a través de la cual se proporcione a los desarrolladores el conjunto de elementos básicos (entre ellos un API) para poder crear soluciones grid-enabled que sean capaces de cooperar empleando recursos multimedia (imágenes, audio o video) en ambientes heterogéneos y autónomos. MIM2 (Multimedia Integration Middleware) es un middleware que integra diferentes

herramientas para manejo de contenido multimedia, cuyo propósito es proporcionar al desarrollador de aplicaciones grid los mecanismos necesarios para crear aplicaciones capaces de manipular información multimedia. Dentro del contexto de MIM, el manejo de información multimedia comprende la creación, indexamiento y búsqueda de descriptores sobre los recursos multimedia, más no se refiere a la edición de archivos de imágenes, audio o video. De la misma forma, la propuesta que se presenta en este documento puede funcionar como un conjunto de servicios que se puede instalar de manera independiente en un grid o como una extensión del middleware MAGOS (Middleware Architecture for Grid Oriented Sevices) (12), aprovechando las características que éste ofrece para poder instalar y orquestar servicios en un grid, describiendo a la vez sus requerimientos no funcionales de forma declarativa.

Este documento se desarrolla de la siguiente manera. En el segundo capítulo, titulado Análisis del Estado del Arte, se realiza una amplia investigación sobre los estándares más relevantes para describir el contenido de recursos multimedia como lo son EXIF, Dublin Core y MPEG-7. De la misma forma, se analizan algunas de las soluciones existentes para

2Este proyecto se inscribe en el marco del proyecto Ecos-Colciencias ―Desarrollo de una infraestructura de GRID

(11)

la manipulación de contenido multimedia, bien sea que funcionen sobre grid o no, y que empleen algunos de los estándares que se acaban de mencionar.

En el tercer capítulo, se presenta la estrategia de solución detallando el enfoque y alcance de la misma en varios aspectos como el funcional y representación de la información multimedia. El cuarto capítulo presenta la arquitectura de MIM, describiendo la aproximación basada en servicios y estándares que se empleó para su diseño, así como el diseño detallado de procesos y clases.

El quinto capítulo presenta los resultados del proceso de implementación de MIM y los resultados de las pruebas realizadas; finalmente, el sexto capítulo presenta las conclusiones del trabajo realizado y las propuestas de trabajo futuro.

1.1 Contexto

Este trabajo se enmarca bajo el mismo contexto dentro del cual se ha venido desarrollando el proyecto MAGOS (12), orientado al desarrollo de un middleware para instalación y orquestación de aplicaciones heterogéneas y autónomas en datagrid. MAGOS sirve como base para el desarrollo de este proyecto.

Bajo este contexto, el propósito del trabajo descrito en este documento es realizar un aporte dentro de este campo de investigación al proponer mecanismos para facilitar la cooperación entre aplicaciones grid-enabled que manejan información multimedia. La información multimedia se puede clasificar en dos categorías principales (13): información sintetizada e información digitalizada. La información sintetizada es aquella que se crea a partir de medios computacionales, y no a partir de elementos de la realidad (por ejemplo, archivos MIDI). La información digitalizada es aquella que se toma a partir de la realidad y se transforma para generar una representación de la misma que sea manejable en ambientes computacionales (por ejemplo imágenes tomadas con una cámara digital, o archivos mp3). La información digitalizada es el tipo de información multimedia que se maneja en este trabajo.

Toda información, debe poder ser representada en diferentes formatos y visualizada según estándares de QoS (13); además, este tipo de información puede en algunos casos depender del tiempo (isocrónica) como en el caso del streaming de audio y video. Estos elementos son considerados en la propuesta que hace MIM, y constituyen la base a partir de la cual se proponen los servicios multimedia que proporciona, así como para los mecanismos para describir la información basados en MPEG-7. El manejo de información vectorial se desarrolla en otro trabajo de maestría de manera simultánea.

(12)

Por otra parte, teniendo en cuenta que el trabajo que se realiza dentro de grupo COMIT de la Universidad de los Andes orienta varios de sus desarrollos y sus contribuciones al sector salud, en el desarrollo de MIM se tienen en cuenta proyectos o contribuciones en este sentido.

1.2 Objetivo general

El objetivo general de este proyecto es desarrollar una infraestructura grid-enabled orientada a la cooperación entre aplicaciones heterogéneas y autónomas, basadas en datos multimedia.

1.3 Objetivos específicos

Los objetivos específicos del proyecto son los siguientes:

Identificar los mecanismos y herramientas más apropiados para llevar a cabo colaboración multimedia sobre un grid.

Validar el middleware MAGOS (12), con respecto las facilidades que proporciona para ser extendido y las características que ofrece para definir los requerimientos no funcionales de un servicio grid de manera declarativa.

Desarrollar un prototipo de aplicación multimedia colaborativa que funcione sobre grid. Este prototipo se desarrolla usando MIM como una plataforma independiente. Contribuir a los objetivos del proyecto ECOS-NORD.

(13)

2. Estado del Arte

El manejo de recursos multimedia está constituido por dos aspectos fundamentales. El primero se refiere a forma en que se debe representar la información descriptiva sobre los recursos, y el segundo se relaciona con las herramientas que permiten crear, consultar y manipular la información sobre esos recursos.

Estos aspectos constituyen la base sobre la cual se estructuran los objetivos de MIM. Por esta razón, este capítulo tiene como objetivo describir el estado del arte con respecto a los elementos mencionados anteriormente y además, comparar cada uno de los trabajos mencionados frente a MIM; esta comparación busca determinar que ideas se deben tener en cuenta para el desarrollo de MIM, así como identificar los campos donde puede convertirse en una posible solución.

A lo largo de este capítulo, se presentarán algunos estándares como EXIF, Dublin Core y MPEG-7, los cuales proporcionan lineamientos sobre las formas más comunes de describir información multimedia. Así mismo, se presentan diferentes proyectos de investigación y herramientas que ofrecen una solución parcial a la problemática que enfrenta MIM. Dentro de estos últimos, se encuentran trabajos aplicados a diferentes áreas como la medicina (como (2) y (4)), el trabajo grupal entre organizaciones (por ejemplo (14)), y el campo de Information Retrieval en general (como (9), (6) ó (15)). Para cada uno de los trabajos descritos en este capítulo, se muestran las características e ideas relevantes de cada elemento dentro del contexto de este trabajo.

Finalmente, en la última sección, se ofrece un resumen general los ítems presentados junto con los criterios establecidos para la selección de herramientas y estándares para la implementación de MIM.

2.1 Estándares existentes para representar información multimedia

Existen diferentes organizaciones que han trabajado en los últimos años en la definición de estándares para el intercambio y descripción de contenido multimedia. En esta sección se muestran algunos de esos estándares, describiendo sus características principales. Los estándares descritos a continuación, son relevantes dentro del contexto de este trabajo porque son ampliamente usados, permiten representar las características básicas de los diversos tipos de contenido multimedia que puedan existir, y en algunos casos ofrecen elementos semánticos que sirven como base para poder expresar relaciones entre recursos y realizar búsquedas complejas por contenido .

(14)

2.1.1 EXIF (Exchangeable Image File Format)

Este formato estándar para la definición de meta-data en archivos de imágenes, es uno de los más usados en la actualidad por un gran número de fabricantes de cámaras digitales para almacenar información de intercambio en archivos de imágenes o sonido (16). Su importancia radica en que permite anotar de forma automática imágenes con meta-data de bajo nivel, que describe las características técnicas esenciales de un archivo de imágenes como por ejemplo tamaño, formato, resolución, entre otras. La meta-data generada, puede ser complementada luego con descripciones semánticas de alto nivel creadas por los usuarios, empleando herramientas de manipulación de recursos multimedia.

EXIF (17), es un estándar que define el formato que debe ser usado definir la meta-data de archivos de imágenes y sonido creados a partir de cámaras digitales. Esta especificación contempla el uso de diferentes formatos de imágenes y audio, entre los que se encuentran JPEG (18), TIFF (19) y Wave (20) respectivamente.

El estándar define una serie de etiquetas de meta-datos que se incrustan dentro de cada archivo, y que tienen como objetivo proporcionar una descripción detallada de cada archivo creado con algún tipo de cámara digital. Cada etiqueta está identificada por un valor hexadecimal, y tiene asociado un significado y un formato para su representación. A continuación se enumerarán los aspectos que el estándar EXIF contempla en su especificación, y se ilustran con algunos ejemplos tomados se la página oficial del estándar (21):

Información sobre copyright.

Información de fecha y hora de creación, resolución orientación y formato, entre otras; ver tabla 2-1.

Entry Tag Value Meaning Format Components

Orientation 0112 1 0 degrees unsigned short 1

X Resolution 011a 72/1 72.00 unsigned rational

1

Y Resolution 011b 72/1 72.00 unsigned rational

1

(15)

Date/Time 0132 2000:09:30 10:59:45

ascii string 20

JPEG IF Offset 0201 797 unsigned long 1

JPEG IF Byte Count 0202 2959 unsigned long 1

Tabla 2-1. Información sobre una imagen en formato EXIF (Tomado de (21)).

Información sobre configuración de la cámara, la cual incluye aspectos como modelo, fabricante, velocidad del obturador, entre otras; en la tabla 2-2 se muestran algunas de estas características.

Entry Tag Value Meaning Format Components

Make 010f SONY ascii string 5

Model 0110 CYBERSHOT ascii string 14

Exposure Time 829a 1/197 0.01 unsigned rational

1

Exposure Bias Value 9204 0/10 0.00 signed rational 1

Light Source 9208 0 auto unsigned short 1

Flash Pix Version a000 0 31 30 30 undefined 4

Scene Type a301 01 undefined 1

Tabla 2-2. Información sobre una cámara digital en formato EXIF (Tomado de (21)).

Dentro del contexto de este trabajo, EXIF es relevante porque toda la meta-data que permite generar es usada comúnmente para poder crear librerías digitales de imágenes, y realizar búsquedas por los atributos básicos de los archivos (8). Además, este estándar puede ser integrado con otros como MPEG-7 (22) los cuáles permiten añadir contenido adicional que es relevante para los usuarios dentro de un contexto específico. Estos argumentos permiten concluir que EXIF debe ser tenido en cuenta para el desarrollo de este trabajo, con el propósito de ofrecer a los desarrolladores de aplicaciones grid las

(16)

facilidades para la creación de repositorios multimedia y su posterior consulta por atributos o contenido.

La especificación completa de EXIF e información adicional puede ser encontrada en (17) y (21) respectivamente.

2.1.2. Dublín Core

Los conceptos definidos por el estándar Dublín Core deben ser tenidos en cuenta dentro de este trabajo, porque presenta una serie de elementos que permiten describir cualquier recurso (sea multimedia o no) con un nivel semántico más alto que el de EXIF, aunque no permite describir relaciones complejas o conceptos.

Dublín Core es una iniciativa de Dublin Core Metadata Initiative (DCMI). DCMI es una organización que se dedica a promover el desarrollo y adopción de estándares para meta-datos. Como tal, la propuesta Dublin Core tiene como objetivo ofrecer un conjunto de elementos para poder describir de manera eficiente recursos de red (23).

Dublin Core ofrece únicamente quince definiciones semánticas (cada una corresponde a un elemento) que pueden ser opcionales, pueden repetirse y pueden aparecer en cualquier orden (24). Esta es una limitante en cuanto a la capacidad de expresión para describir contenido complejo, tal como lo afirma (23): ―En la diversidad del mundo de Internet, el Dublin Core puede parecer una ‗lengua franca de metadatos para turistas digitales‘: captada fácilmente, pero no necesariamente al punto de expresar relaciones complejas o conceptos.‖

Los elementos que ofrece Dublin Core pueden ser clasificados en tres categorías principales:

1. Elementos relacionados con el contenido del recurso: estos elementos proporcionan una descripción del recurso como tal; con base en este tipo de elemento es posible describir características básicas como el título, origen e incluso la relación de un recurso con otro.

2. Elementos relacionados con propiedad intelectual del recurso: permiten describir las características de propiedad intelectual de un recurso, como por ejemplo el creador, otras personas que contribuyeron y los derechos sobre el recurso.

3. Elementos relacionados con la instanciación del recurso: permiten describir la información sobre formato, fecha y otros datos concernientes a la creación de un recurso.

(17)

En la tabla 2-3 se ilustra cuáles son los elementos que ofrece Dublin Core y a qué categoría pertenecen.

De Contenido De Propiedad Intelectual De Instanciación

Title Creador Identifier

Subject Publisher Format

Description Rights Date

Source Contributor Type

Language

Relation

Coverage

Tabla 2-3. Elementos de Dublin Core por categoría.

A pesar de no haber sido pensada para describir contenido multimedia, la iniciativa Dublin Core ha sido empleada en este campo debido a que la información que permite describir es aplicable a recursos de imagen, audio o video. La información completa sobre Dublin Core se puede encontrar en el sitio oficial (24) o en (23).

Dublin Core aporta innegablemente mayor riqueza semántica para describir recursos con respecto a EXIF. Los conceptos básicos para anotar archivos que define el estándar, son de gran utilidad en este trabajo debido a que resaltan algunas de las características que pueden ser de interés para los desarrolladores de aplicaciones multimedia sobre grid en el momento de crear descripciones con un cierto grado de riqueza semántica sobre los recursos que utilizan en sus aplicaciones.

La propuesta de Dublin Core es interesante para MIM, porque permite identificar con claridad algunas de las características que son relevantes para describir contenido multimedia, sin embargo al no ofrecer la posibilidad de poder describir relaciones complejas entre recursos y por el rango limitado de elementos que define, no es prioritario dentro del contexto de MIM.

(18)

2.1.3. MPEG-7

El estándar MPEG-7 ofrece un mecanismo estándar para describir información audiovisual, independientemente del uso que se le quiera dar (búsqueda, catalogación, etc.). Las características que ofrece para describir semántica y estructura de los recursos, lo hacen relevante dentro del contexto de este trabajo.

MPEG-7 (22) es un estándar desarrollado por el Moving Pictures Experts Group, cuyo objetivo es ofrecer una forma de representar el contenido de un archivo multimedia (imagen, audio o video), más no el contenido mismo. Además, MPEG-7 puede ser usado de manera independiente al formato de los recursos multimedia que se deseen describir. En la figura 2-1 se ilustra el propósito general del estándar.

Figura 2-1. Alcance de MPEG-7 (Adaptado de (22)).

La figura 2-1 muestra un diagrama de bloques de un posible proceso MPEG-7; el estándar se centra en la descripción como tal. Otros elementos como su generación y consumo por parte de una aplicación se encuentran por fuera del alcance de la especificación. El estándar MPEG-7 tiene varios objetivos, entre los que se destacan los siguientes:

Describir las características principales de contenido de un recurso multimedia, desde el nivel más básico (tamaño de un archivo), hasta un nivel más alto donde se requiere riqueza semántica en las descripciones; por ejemplo: ―En esta escena el actor va caminando….‖.

Permitir la indexación del contenido multimedia.

Independencia entre el formato del recurso y su descripción.

Describir las relaciones entre diferentes recursos, o entre elementos de un mismo recurso (como la combinación de elementos en una misma escena).

Para poder cumplir son los objetivos propuestos, MPEG-7 está estructurado con base en los siguientes componentes (22):

Generación de la descripción

Descripción Consumo de la

descripción

(19)

Descriptor (D): definen la sintáctica y la semántica de cada elemento de meta-data. Se puede dar que un mismo objeto pueda ser descrito por varios descriptores MPEG-7.

Description Schemes (DS): especifican la estructura y semántica de las relaciones de los componentes que la conforman, que pueden ser descriptores o incluso, otros esquemas.

Description Definition Language (DDL): es un lenguaje basado en XML que permite definir la sintaxis de los descriptores y también, la creación y modificación de nuevos esquemas de descripción (DS) o descriptores (D).

System Tools: se encargan de manejar la representación binaria, almacenamiento, transmisión y sincronización de contenido; adicionalmente, manejan todo lo relacionado con propiedad intelectual.

Todos estos componentes interactúan entre sí de una manera específica. La figura 2-2 muestra gráficamente como es la interacción de los componentes de la especificación MPEG-7.

Figura 2-2. Elementos principales de MPEG-7 (Tomado de (22)). En la figura 2-2 se observa que:

DDL permite la definición de descriptores (D) y esquemas de descripción (DS). DDL provee mecanismos adecuados para estructurar los descriptores en los esquemas.

(20)

DDL puede ser extendido dependiendo de las necesidades específicas de una aplicación.

Los esquemas son instanciados como descripciones en XML.

MPEG-7 ofrece más poder de expresividad semántica para poder describir contenido multimedia que los otros dos estándares estudiados anteriormente; no se limita a describir la meta-data propia de cada recurso, sino que además proporciona los medios para añadir descripciones significativas para las personas, expresar relaciones complejas y conceptos. También, gracias a su flexibilidad, es posible integrar otras especificaciones como Dublin Core o EXIF y hacerlas parte de MPEG-7 (8). Por estas razones, en este trabajo se decidió implementar y ofrecer a los desarrolladores mecanismos basados en MPEG-7 para poder crear, manipular y consultar la información referente a recursos multimedia.

2 .2. Herramientas existentes para manejo de contenido multimedia

En esta sección se presentan de manera general algunos trabajos relacionados con la manipulación de contenido multimedia, los cuales ofrecen un conjunto de ideas y conceptos que pueden ser aplicados para el desarrollo de MIM. Las propuestas presentadas a continuación son relevantes bien sea porque usan el estándar MPEG-7, están diseñados para funcionar en ambientes grid, o porque ofrecen elementos interesantes sobre los criterios que se deben considerar para manipular contenido multimedia en MIM.

2.2.1 MEDICUS (Medical Imaging and Computing for Unified Information Sharing)

MEDICUS (2) es un proyecto que hace parte del Globus Alliance Incubator (25), cuyo objetivo es compartir y procesar imágenes médicas entre entidades prestadoras de servicios de salud, médicos e investigadores del mismo sector. El centro de la propuesta de MEDICUS es la federación fuentes de datos de imágenes que empleen el estándar DICOM (Digital Imaging and Communication in Medicine) (26) para aplicaciones médicas o de investigación empleando grid. La infraestructura de MEDICUS se ilustra en la figura 2-3.

(21)

Figura 2-3. Infraestructura de MEDICUS (Tomado de (2)). MEDICUS proporciona los siguientes elementos (2):

Modelo de seguridad basado en estándares para proteger la información.

Soporte para la integración en ambientes grid de repositorios de información legados que usen DICOM.

Sistema de almacenamiento de gran escala y de código abierto.

MEDICUS emplea Globus Toolkit como la plataforma que soporta los servicios de grid, OGSA-DAI (27) como mecanismo para acceder a fuentes de datos heterogéneas y GridFTP para transferir información al interior del grid.

MEDICUS está orientado hacia la federación de fuentes de datos basándose exclusivamente en el estándar DICOM. A diferencia de MIM, la propuesta de (2) no permite incorporar recursos como audio y video, y adicionalmente no se pueden enriquecer las descripciones de las imágenes creando nuevos atributos según las necesidades de los usuarios. Por otra parte, el estándar DICOM es usado con frecuencia en el sector salud, pero en otros contextos puede resultar mejor emplear estándares como MPEG-7, tal como lo hace MIM.

MIM retoma el concepto básico de compartir imágenes, propuesto en MEDICUS, y lo lleva a un nivel más alto incorporando recursos de audio y video. MIM también ofrece la posibilidad de integrar (pero no federar) repositorios de recursos para crear un sistema de

(22)

almacenamiento de gran capacidad, siguiendo así la idea de MEDICUS para poder manejar grandes volúmenes de información.

2.2.2 AccessGrid

AccessGrid (14) es una infraestructura que permite interconectar grupos de trabajo geográficamente dispersos, ofreciendo la posibilidad de realizar videoconferencias y compartir aplicaciones. AccessGrid se caracteriza por (3):

Definir infraestructuras multimedia para la interacción de grupos de trabajo.

Permitir la incorporación de aplicaciones para visualización, trabajo remoto y videoconferencia, entre otras.

Hace uso de Internet 2.

Uno de los usos más populares de AccessGrid es la videoconferencia para poder realizar reuniones entre grupos académicos distribuidos en sitios diferentes. Este servicio se basa en la arquitectura propuesta por la herramienta en la cual, existen varios nodos los cuales son capaces de transmitir o consumir video. Todos los nodos se comunican en primer lugar con un servidor central que contiene la información de los servicios de conferencia que se están ofreciendo en la red. Este servidor informa a los clientes sobre las direcciones multicast en las cuales deben escuchar para poder tener acceso a las reuniones remotas.

Cada nodo perteneciente a una red AccessGrid está constituido de la forma en que muestra la figura 2-4.

(23)

Figura 2-4. Estructura de un nodo AccessGrid (Tomado de (3)).

En la figura 2-4, se observa claramente que un nodo posee elementos que administran la producción o consumo de video, así como un servicio de audio para las conferencias; todos estos servicios son accedidos por un único punto de entrada que es el servicio de nodo (Node Service). Esta estructura lógica, sirve como idea base para poder definir de la configuración que debe poseer el servicio de videoconferencia ofrecido por MIM. Además de lo anterior, AccessGrid deja otras lecciones importantes sobre los mecanismos que se deben emplear para poder establecer conexiones a videoconferencias dentro de un grid, como por ejemplo publicación, ubicación y consumo. A diferencia de MIM, AccessGrid no proporciona medios para describir, indexar y recuperar archivos de imágenes, audio y video; por esta razón, AccessGrid no es una solución al problema propuesto.

A pesar de ofrecer varios elementos de manejo de elementos multimedia, AccessGrid no es utilizado dentro del desarrollo de MIM por varias razones. En primer lugar, AccessGrid ha sido desarrollado en su totalidad usando el lenguaje Python lo cual implica un arduo proceso de adaptación para poder ser traducido o interactuar con Java, lenguaje usado tanto en la implementación de MIM y otros trabajos relacionados como MAGOS (12). En segundo lugar, AccessGrid establece que las interfaces gráficas de usuario (GUIs) deben ser desarrolladas únicamente en Python, lo cual constituye una limitante para los desarrolladores, quienes son en últimas los usuarios de MIM. Finalmente, y en tercer lugar, AccessGrid es una aplicación de usuario final y no una infraestructura de middleware, lo

(24)

que trae como consecuencia que la mayoría de sus componentes de encuentran altamente ligados dificultando aún más la labor de extensión y adaptación de la herramienta. La página oficial de AccessGrid (14), contiene mayor información sobre el uso y configuración de la herramienta.

2.2.3 Grid Enabled System for Medical Image Gathering, Analyzing, Retrieval and Processing

En (4), se propone un sistema grid-enabled que trabaja con imágenes médicas. Este trabajo es relevante dentro del contexto de MIM, porque propone mecanismos para extraer características de recursos multimedia y almacenarlas en descriptores MPEG-7 para su posterior consulta.

Los objetivos principales de (4) son:

Recolectar imágenes médicas usando los motores de búsqueda de imágenes disponibles en la Web, como Google Image Search o Yahoo Image Search.

Extraer las características de esas imágenes para poder clasificarlas y organizarlas empleando técnicas de minería de datos en grid.

Con base en la clasificación anterior, proporcionar servicios de búsqueda por contenido.

Ofrecer un conjunto de herramientas para el procesamiento de imágenes médicas. La figura 2-5, ilustra la arquitectura del sistema propuesto por (4).

Figura 2-5. Arquitectura del sistema propuesto para recolección de imágenes médicas (Tomado de (4)).

El sistema está implementado sobre el middleware gLite (28). Además, emplea descriptores MPEG-7 con el propósito de extraer las características más relevantes de las imágenes, como por ejemplo la estructura de colores, histograma de bordes, colores dominantes, entre otras. El proceso de minería de datos se basa en clustering; se agrupan

(25)

las imágenes de acuerdo a unos criterios específicos (como por ejemplo palabras clave), para luego poder determinar las relaciones existentes entre ellas. La búsqueda por contenido se hace a partir de una imagen base y sus características; estos dos elementos son enviados en un query con el propósito de encontrar otras imágenes que cumplan ciertos patrones de similitud.

Los servicios propuestos por (4), son de gran interés dentro del contexto del trabajo propuesto para MIM a pesar de no resolver por completo la problemática inicial, debido a que no es un middleware que permita integrar diferentes recursos multimedia en aplicaciones grid-enabled, y adicionalmente no maneja audio ni video. Las ideas entorno a poder generar descriptores MPEG-7 con base en los atributos de las imágenes para luego realizar búsquedas por contenido sobre los recursos, son esenciales para poder desarrollar una infraestructura para el desarrollo de aplicaciones multimedia sobre grid. Estas ideas son tenidas en cuenta para MIM; otros elementos de (4), como la minería de datos sobre el grid, se encuentran fuera del alcance de este trabajo y no son relevantes por el momento.

2.2.4 GridIR (Grid Information Retrieval)

Dentro el contexto de MIM, GridIR (9) es relevante porque proporciona lineamientos sobre las labores de búsqueda en entornos grid. GridIR es una arquitectura y especificación para realizar recuperación de información dentro del contexto de la computación en grid. Esta tarea es algo similar a lo que se hace tradicionalmente en sistemas distribuidos, pero con algunas complicaciones adicionales en cuanto a asignación de tareas y coordinación entre los diferentes nodos del grid (9).

La arquitectura de GridIR está basada en servicios grid OGSA, por lo cual satisface los requerimientos de distribución y asincronía. De la misma forma, emplea formatos estándar simples para el intercambio de documentos y consultas. Los servicios grid ofrecidos por GridIR son (9):

Servicios de meta-data.

Servicios de manejo de colecciones. Servicios de indexamiento y búsqueda. Servicios de procesamiento de consultas.

GridIR es relevante con respecto a MIM, debido a la creciente tendencia en cuanto a la recuperación de información sobre contenido multimedia; éste tipo de contenido presenta ciertos requerimientos de consulta por tópicos, manejo de especificaciones y dependencia

(26)

del tiempo, que son expresados en documentos estructurados y no estructurados. Por lo tanto, GridIR ilustra con claridad los elementos básicos que una infraestructura de middleware como MIM debe tener en cuenta para poder soportar tareas de recuperación de información: indexación, búsqueda, consultas y soporte a meta-data, todo esto enmarcado en una visión SOA dentro de un entorno grid.

Actualmente existen varias implementaciones de GridIR, entre las que se encuentran DAME (Distributed Aircraft Maintenance Environment) (29), MCNC/CNIDR (30), Sarcomere (31), y un trabajo realizado por el Centro de Supercomputación de la Región Ártica (ARSC por sus siglas en inglés) (32).

Entre estos trabajos se destaca Sarcomere (31), dado que es una solución de código abierto implementada en C, la cual permite indexar y realizar búsquedas sobre diferentes tipos de documento, incluyendo XML. Esta herramienta podría ser empleada en el desarrollo de MIM. Sin embargo, existen otras (por ejemplo EMIR (8)) que realizan la misma labor específicamente sobre documentos MPEG-7 y están desarrolladas en Java. Estas herramientas, a pesar de no funcionar en grid, hacen que el proceso de integración sea más sencillo y acorde a los requerimientos planteados para MIM.

2.2.5 MARVEL: Multimedia Analysis and Retrieval System

MARVEL (11) es un motor de búsqueda de contenido multimedia desarrollado por IBM, relevante dentro del contexto de MIM porque permite reducir el trabajo manual de anotación de contenido multimedia.

Su objetivo principal es agilizar el proceso de anotación de contenido multimedia, y reducir los errores producidos cuando esta labor se realiza a mano. A diferencia de otras herramientas, MARVEL soporta la creación de anotaciones para imágenes, video y audio. Los dos componentes principales de MARVEL son:

Motor de análisis: emplea métodos de aprendizaje de máquinas para modelar conceptos semánticos en los recursos. Asocia de forma automática etiquetas a los archivos que se creen para reducir la labor manual de anotación y mejorar las búsquedas; también organiza los conceptos semánticos usando ontologías con el propósito de explotar las relaciones semánticas.

Motor de recuperación multimedia: integra mecanismos de búsqueda semántica con otras técnicas, como búsqueda por texto sobre los recursos.

Esta herramienta es una aplicación de usuario final que puede ser instalada únicamente en máquinas con sistema operativo Windows. Una demostración se encuentra disponible en (11).

(27)

MARVEL es relevante porque propone que el proceso de generación de anotaciones sea semi-automático para reducir el trabajo manual, y que la búsqueda semántica sea complementada con otros mecanismos adicionales. Dado que uno de los objetivos de MIM es facilitar la labor del desarrollador, la propuesta de MARVEL resulta interesante y permite concluir que se debe facilitar no sólo el desarrollo de aplicaciones multimedia como tal, sino también la creación y recuperación del contenido que se maneja al interior de cada una. Sin embargo, MARVEL no es una herramienta que ofrezca librerías para que nuevas aplicaciones puedan incluir su funcionalidad, no puede ser extendida y no funciona en diferentes plataformas como se desearía que lo hiciera si se quiere adaptar a un ambiente grid; por estas razones, MARVEL no es una solución al problema que MIM tiene como objetivo principal.

2.2.6 VizIR

VizIR (6) es un prototipo para la recuperación de información sobre imágenes desarrollado por el Instituto de Tecnología de Software y Sistemas interactivos de la Universidad de Tecnología de Vienna. Su objetivo es servir como base para futuras investigaciones alrededor de la temática de Information Retrieval (IR) en general. Recientemente, el trabajo realizado alrededor de VizIR se ha enfocado en estudiar las capacidades ofrecidas por MPEG-7 para la recuperación por contenido de imágenes (33). Esta es una iniciativa open source que se distribuye bajo licencia GPL y puede ser extendida para soportar varios estándares.

VizIR deja como lección para MIM, que debe existir independencia entre los mecanismos de recuperación de información de imágenes y los estándares empleados para la descripción de la misma.

2.2.7 IBM VideoAnnEx Annotation Tool

IBM ha desarrollado una herramienta para anotación de videos llamada VideoAnnEx (10). Esta herramienta tiene como propósito principal asistir a los autores de contenido multimedia en la tarea de anotar secuencias de video usando meta-data MPEG-7.

Cada escena de un video puede ser anotada con descripciones estáticas, descripciones de eventos, descripciones clave y otros elementos definidos por la herramienta. Las descripciones asociadas a un video son almacenadas como descriptores MPEG-7, en un archivo con formato XML. Además, la herramienta permite reproducir los archivos de video anotados. Esta herramienta es una aplicación de usuario final que puede ser instalada únicamente en máquinas con sistema operativo Windows.

(28)

De manera similar a MARVEL, esta herramienta busca facilitar la creación de descripciones sobre recursos (pero únicamente de video); así mismo, VideoAnnEx presenta los mismos inconvenientes descritos para MARVEL en la sección 2.2.5. Su aporte con respecto a MIM, se centra en los tipos de elementos que pueden ser de interés para describir videos usando el estándar MPEG-7, y cómo asociarlos al recurso físico independientemente del formato.

2.2.8 LIRE (Lucene Image REtrieval)

LIRE (34) es una librería que permite crear un índice Lucene (35) con las características de las imágenes, para poder realizar tareas de recuperación de imágenes con base en su contenido. Varias de las características disponibles en LIRE para recuperar imágenes, son tomadas del estándar MPEG-7 (ScalableColor. EdgeHistogram, Color Layout y Auto Color Correlogram). LIRE proporciona mecanismos sencillos para la indexación y búsqueda de imágenes y documentos MPEG-7. Esta librería es parte de los proyectos CALIPH y EMIR, los cuáles se describirán en las siguientes secciones, y pretende ofrecer las características ya descritas de una manera sencilla y fácil de integrar a cualquier aplicación Java.

Esta librería es relevante para el trabajo de MIM, debido a que proporciona una descripción técnica clara acerca de los mecanismos requeridos para crear e indexar descripciones de imágenes con características tomadas de MPEG-7. Esto ofrece una perspectiva adecuada sobre como MIM debe implementar una funcionalidad similar.

2.2.9 CALIPH (Common And LIght weight PHoto annotation)

CALIPH (36) es una herramienta que además de extraer la información existente en archivos de imágenes digitales (en formato EXIF), y transformación de esa información a formato MPEG-7, soporta la creación de nueva meta-data. Adicionalmente, la información semántica sobre las imágenes puede ser visualizada a manera de grafos dirigidos (36). El propósito de CALIPH es proporcionar un medio sencillo para que los usuarios finales puedan crear anotaciones MPEG-7 para archivos de imágenes por medio de una interfaz gráfica.

CALIPH está desarrollado en Java y proporciona una interfaz que separa los métodos de anotación de los mecanismos de pre-visualización y recuperación de las imágenes. Para esto, la interfaz está separada en diferentes paneles, cada uno encargado de ofrecer alguno de los mecanismos mencionados anteriormente (8). La figura 2-6 muestra un diagrama UML simplificado de CALIPH para ilustrar de mejor manera la división que se establece para cada uno de los mecanismos propuestos por la herramienta.

(29)

Figura 2-6. Diagrama UML Simplificado de CALIPH (Tomado de (8)).

Con base en esta estructura, CALIPH es capaz de ofrecer la siguiente estructura para la descripción de las imágenes: descripción de meta-data, información de creación, información del medio, anotación textual, semántica y descriptores visuales. Mayor información sobre la herramienta se puede encontrar en (8), (37), (15) y (38).

Dentro del contexto de MIM, las características ofrecidas por CALIPH son de vital importancia porque facilitan de manera dramática el proceso de creación de anotaciones MPEG-7 sobre imágenes. Además de dejar lecciones sobre la facilidad de uso, CALIPH establece una clara división entre los diferentes mecanismos que se requieren para crear contenido MPEG-7, haciendo posible que MIM implemente una separación similar en este aspecto.

2.2.10 EMIR (Experimental Meta-data based Image Retrieval)

EMIR (34) es una herramienta capaz de recuperar información de un sistema basado en repositorios de imágenes creados con CALIPH. Ésta herramienta soporta los siguientes tipos de búsqueda (36):

Búsqueda de contenido basada en descriptores MPEG-7, como por ejemplo ColorLayout, EdgeHistogram y ScalableColor.

(30)

Visualización en 2D del repositorio de imágenes con base en los algoritmos FastMap y FDP.

Recuperación de relaciones semánticas y objetos semánticos a partir de grafos. Debido al hecho de que es un sistema experimental, el mecanismo de recuperación está basado en un sistema de archivos. Todos los documentos MPEG-7 encontrados en un directorio y en sus subdirectorios son examinados para encontrar la información requerida. En la figura 2-7 se muestra el diagrama UML simplificado de EMIR.

Figura 2-7. Diagrama UML simplificado de la arquitectura de EMIR (Tomado de (8)).

Una de las principales características de EMIR, es que emplea XPath como lenguaje de consulta para encontrar documentos MPEG-7, como se ilustra en la figura 2-7, que cumplan con ciertos criterios, definidos desde la interfaz gráfica de la aplicación. Esto permitiría pensar en principio que puede extenderse el motor de búsqueda para que emplee bases de datos XML además de sistemas de archivos como fuentes de datos, lo cual representa una idea que MIM debe considerar. Mayor información sobre la herramienta se puede encontrar en (8), (37), (15) y (38).

2.2.11 MPEG-7 Audio Encoder

MPEG-7 Audio Encoder (7) es una herramienta que extrae algunos descriptores y esquemas de descripción del estándar MPEG-7 con el propósito de describir archivos de audio de forma automática, a través de la interfaz gráfica que se ilustra en la figura 2-8.

(31)

Figura 2-8. Interfaz gráfica de MPEG-7 Audio Encoder (Tomado de (7)).

Entre los descriptores y esquemas de descripción para generar las descripciones de audio que soporta esta herramienta se encuentran algunas como modelo de sonido, ruido de fondo, frecuencia, espectro de audio, entre otros (7). Las descripciones generadas son validadas y almacenadas en formato XML.

Esta herramienta aporta detalles sobre los elementos que caracterizan archivos de audio; no todos los recursos multimedia se describen de la misma forma, y MPEG-7 Audio Encoder es un claro ejemplo de ello. Mucha de la meta-data empleada para describir audio es única, y no se aplica para otros tipos de multimedia como las imágenes o el video. Además de presentar los atributos que son propios de los archivos de audio, esta herramienta deja una lección que ya se ha visto en otras mencionadas anteriormente: la reducción de la carga de trabajo para los usuarios que crean descripciones sobre contenido multimedia.

2.3 Resumen general y selección de estándares y herramientas para el

proceso de desarrollo

A lo largo de este capítulo se describieron los proyectos relevantes que se comparan de alguna manera con los objetivos de MIM, además de describir las ideas o aportes que cada uno hace en el marco de este trabajo. Con base en las descripciones proporcionadas, se presenta una panorámica general los aspectos que tienen en común los estándares y herramientas explicados a lo largo de este capítulo. En cuanto a los estándares, se tiene que:

(32)

Difieren entre sí básicamente con respecto al tipo de meta-data que permiten definir, y la capacidad de poder expresar conceptos semánticos y relaciones complejas entre distintos recursos multimedia.

MPEG-7 es el estándar que permite ser extendido con mayor facilidad, a tal punto de poder incorporar los elementos descritos para EXIF y Dublin Core.

Las herramientas para manejo de contenido multimedia poseen las siguientes características:

La mayoría no funciona sobre grid.

Algunas no ofrecen características apropiadas para la manipulación de contenido MPEG-7.

Aquellas que soportan MPEG-7 lo hacen para un único tipo de contenido multimedia (imágenes, audio ó video).

Varias son aplicaciones de usuario final que no permiten ser modificadas o extendidas.

Ahora, con el propósito de identificar cuáles de las herramientas y estándares presentados son más apropiados para ser integrados como parte de la arquitectura de MIM, se hace necesario establecer algunos criterios de evaluación, en algunos casos basados en las características generales enunciadas anteriormente. Los criterios establecidos son los siguientes:

Funcionamiento en grid: las herramientas deben funcionar en un entorno grid, compatible con tecnología GT4 (39).

Libre distribución y código abierto: se requiere que las herramientas empleadas sean de código abierto y permitan su modificación y distribución bajo los términos GPL.

Extensibilidad: las herramientas deben ser preferiblemente librerías o aplicaciones extensibles que permitan utilizar APIs para el manejo de contenido multimedia. Multiplataforma e interoperabilidad: se requiere que las herramientas puedan ser usadas en ambientes heterogéneos, con distintos sistemas operativos y configuraciones de hardware. Este requerimiento se deriva como consecuencia se las características propias de un ambiente de grid computing.

Uso de estándares: las herramientas deben emplear un estándar, preferiblemente MPEG-7, para la manipulación e intercambio de información multimedia.

(33)

Facilidad de Uso: se deben ofrecer mecanismos sencillos a través de un API que permitan a los desarrolladores manipular contenido multimedia; además deben ser fácilmente integrables a un ambiente de desarrollo.

A continuación, se muestra en la tabla 2-4 un resumen enumerando los estándares y herramientas, e ilustrando cuales de los criterios definidos antes cumple cada uno. Las convenciones que se emplean son las siguientes:

X = No cumple el criterio. =Cumple el criterio.

ND = No se pude determinar (esto ocurre generalmente porque no se ha encontrado una versión de la herramienta para ser probada, y así verificar sus características). NA = No aplica. Herramienta Fu nciona en Grid Libre Ex tensibi li dad Multip lata fo rm a e Int ero perabi lida d Uso de es tándar es (M;PEG -7) Fac il id ad de Us o MEDICUS X X AccessGrid X X

Grid Enabled System for Medical Image Gathering, Analizing, Retrieval and Processing X ND ND ND GridIR X ND ND X ND MARVEL X X X X X VIzIR X X VideoAnnex X X X X X LIRE X CALIPH X EMIR X

(34)

EXIF NA NA X NA NA NA

Dublin Core NA NA X NA NA NA

MPEG-7 NA NA NA NA NA

Tabla 2-4. Tabla de resumen sobre estándares y herramientas.

Las herramientas que mejor se adaptan a los criterios propuestos son LIRE, CALIPH y EMIR para manipulación de imágenes y MPEG-7 Audio Encoder para los recursos de sonido; como estándar MPEG-7 es el más interesante dentro del contexto de MIM. Estas son las seleccionadas para ser integradas dentro de MIM. Además de cumplir con la mayoría de los criterios descritos anteriormente, estas herramientas fueron escogidas porque son sencillas de usar y tienen pre-requisitos bastante simples de instalación y configuración. Otras herramientas que se aproximan bastante a MIM son MEDICUS y VizIR, pero ambas presentan diferencias significativas con respecto a lo requerido por MIM. La primera, está enfocada únicamente a federación de datos, más no a la creación de contenido descriptivo para recursos multimedia lo cual implicaría que se deben hacer modificaciones de fondo para poder ser empleada; la segunda es más compleja de manejar que otras y presenta varios pre-requisitos de instalación y configuración adicionales, por lo cual se escogieron otras más sencillas de usar e integrar dentro de MIM.

(35)

3. Estrategia de Solución

El objetivo de este capítulo es presentar el enfoque de MIM (Multimedia Integration Middleware). MIM es un middleware que integra diferentes herramientas para manejo de contenido multimedia, cuyo propósito es proporcionar al desarrollador de aplicaciones grid las herramientas necesarias para crear aplicaciones capaces de cooperar a partir de información multimedia.

MIM ofrece la funcionalidad básica de MPEG-7 para poder crear descripciones sobre recursos audiovisuales además de realizar tareas de indexamiento, búsqueda por contenido y recuperación de los mismos. Otra de las características de MIM es que puede ser instalado y funcionar en el grid de dos formas diferentes: como un servicio MAGOS, o como un conjunto de servicios independiente.

Este capítulo se desarrolla de la siguiente manera; en la primera sección, se presenta el alcance de MIM en diferentes aspectos como el funcional, representación de la información y modos de operación. En la segunda sección, se describe la problemática encontrada para integrar las herramientas seleccionadas en la sección 2.3 a un entorno grid.

3.1 Enfoque de la solución

En esta sección se presenta el alcance establecido para MIM sobre los siguientes aspectos: funcional, de arquitectura, formas de representar la información, la visión de servicios empleada para su diseño y los requerimientos no funcionales que maneja.

3.1.1 Alcance funcional

Teniendo en cuenta la problemática establecida en este trabajo, se hace necesario integrar los mecanismos para la indexación, búsqueda y recuperación de diferentes tipos de información multimedia bajo una misma plataforma. De esta forma no hay que realizar grandes esfuerzos para instalar, extender o adaptar las soluciones existentes que soportan total o parcialmente algún tipo de información multimedia, como se debería hacer si se quisiera tener soporte para la funcionalidad descrita anteriormente en un entorno de grid. Este es uno de los objetivos generales dentro del proyecto MAGOS.

Con lo anterior en mente, el middleware propuesto tiene como objetivo principal ofrecer al desarrollador las herramientas necesarias para implementar aplicaciones que empleen recursos multimedia como imágenes, audio o video sobre un entorno grid. En consecuencia, MIM ofrece el siguiente conjunto de requerimientos:

(36)

Creación de descriptores: se ofrece la posibilidad de describir contenido multimedia (imágenes, audio o video) a través de descriptores MPEG-7, basados en XML

Indexamiento: los descriptores MPEG-7 se pueden indexar en un repositorio adecuado para su posterior consulta. De la misma forma, se puede indexar contenido con base en la meta-data implícita en cada archivo (por ejemplo, fecha de creación, modificación, etc.).

Búsqueda: se puede consultar el contenido de los descriptores MPEG-7 y sus características a partir de términos clave definidos a criterio de los usuarios. Además, se ofrece la posibilidad de buscar archivos en el grid con base en la meta-data implícita de cada uno

Recuperación de imágenes, audio y video: se pueden visualizar los archivos de imágenes, audio y video. En el caso del video se debe proporcionar streaming, descarga y video conferencia.

3.1.2 Alcance sobre las formas de representar la información

MIM ofrece estándares reconocidos para manipular el contenido multimedia con el fin de que sea fácilmente extensible y capaz de intercambiar información sobre el contenido con otras plataformas multimediales.

Para este fin, MIM incorpora características básicas del estándar MPEG-7 [group2004]. MPEG-7 define la forma en que se debe definir y manejar la información que los usuarios desean identificar sobre el contenido audiovisual. Dentro de estas características se destacan: la descripción estructurada de un archivo (quien lo creó, cuando, cómo, por qué), descripción de texto libre de un archivo, características de calidad y descripciones semánticas.

Adicionalmente, con el uso de las herramientas descritas en la sección 2.3, es posible crear descriptores que representen la meta-data de cada recurso en formato MPEG-7, enriqueciendo así las descripciones que MIM ofrece.

3.1.3 Alcance del funcionamiento de la plataforma

Un elemento que se debe tener en cuenta, es que MIM puede ser instalado y funcionar como un servicio MAGOS (12). Sin embargo, este hecho no es una limitante para aquellos desarrolladores que no deseen emplear dicha plataforma y por lo tanto MIM funciona también de manera independiente a MAGOS, es decir, como un conjunto de servicios grid que puede ser instalado en un conjunto de máquinas.

(37)

Cuando MIM es empleado de forma independiente, el desarrollador debe encargarse de encontrar los nodos en el grid que cumplan con los requerimientos de espacio en disco, y copiar e instalar manualmente en cada uno el middleware. También, debe configurar complejos mecanismos de seguridad para controlar el acceso y descubrir los servicios, así como implementar la funcionalidad para replicar la información cuando se usan bases de datos.

En el caso de que MIM se use como un conjunto de servicios MAGOS, simplemente se debe generar un archivo de descripción en donde se especifique el número de copias del middleware que se desea instalar, y se enumeren las fuentes de datos que requieren replicación; MAGOS se encarga de instalar MIM, y de proporcionar de forma transparente los mecanismos de seguridad y replicación de datos. A pesar de que MAGOS ofrece un servicio de replicación, existen diferencias con respecto a las necesidades de MIM.

La replicación proporcionada por MAGOS sigue un esquema en donde hay una copia principal de los datos, y varias copias de respaldo de la misma. Cada vez que se realiza una modificación a la copia principal, esta es aplicada de igual manera a las copias de respaldo. Adicionalmente, en un instante dado de tiempo, solo una de las copias actúa como principal y es la única que recibe las solicitudes de lectura y modificación. La figura 3-1 ilustra esta visión.

Figura 3-1.Esquema general de replicación en MAGOS.

En el manejo de información multimedia es importante reducir los tiempos de transferencia, la sobrecarga de los servidores de streaming, entre otros elementos. Por lo tanto, la aproximación de MAGOS difiere de la requerida por MIM, porque MIM requiere que

MAGOS Grid

Nodes

Operation request for each node

(38)

todas las copias de un recurso sean copias activas para poder ser consultadas o modificadas en algún momento, para satisfacer los elementos descritos anteriormente; por esta razón, el concepto de una copia maestra no es lo más adecuado en este caso para llevar a cabo el proceso de replicación. Adicionalmente, la implementación estable actual de MAGOS soporta únicamente replicación de fuentes de datos relacionales,más no soporta replicación de archivos. Como consecuencia de este hecho, el servicio ofrecido por MAGOS es complementado en el marco de este trabajo con un mecanismo de replicación propio de MIM.

En MIM, la replicación se basa en el conocimiento de todos los nodos del grid que tienen instalado el middleware, y cada vez que se realiza alguna operación de creación, modificación o borrado de recursos, esta es aplicada a todos los nodos conocidos donde resida una copia de un recurso. La figura 3-2 ilustra este principio.

Figura 3-2.Esquema general de replicación en MIM.

Cuando MIM se usa con MAGOS y con repositorios de datos XML, se puede tener un esquema similar al presentado en la figura 3-3. En este esquema, cada nodo MIM posee una base de datos XML para almacenar los descriptores MPEG-7, y a su vez, estas bases de datos tienen copias de respaldo. Cuando se realiza alguna operación que requiere replicación, MAGOS actualiza las copias de respaldo locales y MIM se encarga de actualizar los nodos remotos, modificando las copias de archivos y las bases de datos remotas.

MIM Grid Nodes

Operation request

XML data source Resource copy modification

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

El fenómeno del cuidado, emerge como necesidad la simbiosis entre el proceso de enfermería y su transcendencia en la investigación científica a través de la enfermería basada

En la parte central de la línea, entre los planes de gobierno o dirección política, en el extremo izquierdo, y los planes reguladores del uso del suelo (urbanísticos y

Es el proceso mediante el cual se realiza una elección entre diferentes alternativas o formas para resolver diferentes problemas a los que nos enfrentamos en la vida, estas se