WPS basado en streaming

Busco implementar un WPS basado en streaming sobre el framework WPS de 52°North para que procesos básicos puedan manipular la entrada y salida de flujos continuos de datos espaciales. Este post muestra el estado actual del trabajo así como pasos posteriores.

For English click here (points to the 52°North’s website).

La especificación Servicio de Procesamiento Web (WPS) del Open Geospatial Consortium (OGC) no incluye soporte para flujos continuos de datos espaciales. Piénsese, por ejemplo, en sensores que proveen flujos ilimitados de datos espaciales que deben ser procesados antes de ser útiles para usuarios finales. Geo-procesamiento en tiempo real  (McCullough, et al., 2011) o  Geo-información en directo (Foerster et al., 2012) han sido descritos recientemente pero hace falta aún una implementación abierta que pueda ser integrada de forma transparente con estándares OGC, concretamente con el WPS. Mi trabajo en 52°North consiste en resolver este problema.

Multimedia streaming

La idea viene de multimedia streaming, que permite que los usuarios consuman recursos multimedia sin necesidad de descargar todo el contenido (Timmerer and Müller, 2010). De esta forma, el usuario accede y consume pedazos de recursos multimedia. En el contexto espacial, se pueden concebir esos pedazos como colecciones de elementos espaciales “features” (en el caso vectorial) o lozas “tiles” (en el caso ráster). Un consumo temprano de pedazos de datos espaciales tiene sentido porque posibilita una evaluación rápida de resultados de un proceso en una etapa inicial, lo cual podría permitir, por ejemplo, cancelar el proceso si los resultados no lucen como se espera.

Multimedia streaming tiene dos modalidades principales: streaming bajo demanda y en directo. El primero provee streaming de salida para contenidos almacenados en el servidor (por ejemplo, Dailymotion o Vimeo), mientras que el segundo no busca almacenar contenidos sino transferirlos a medida que están disponibles (por ejemplo, Ustream o Skype). Ambas modalidades pueden ser implementadas para datos espaciales con algunas salvedades. Streaming bajo demanda es implementado como “streaming de salida” y streaming en directo como “streaming de estrada y salida”.

La siguiente gráfica muestra una comparación entre las modalidades de streaming: WPS actual (arriba), streaming de salida (en el medio) y streaming de entrada y salida (abajo). Donde las tareas son paralelas, el tiempo de respuesta se reduce.

Adaptado de (Foerster et al., 2012)

Streaming de salida

El WPS basado en streaming de salida recibe datos de entrada completos, los divide en pedazos y empieza a procesar cada pedazo para publicar resultados intermedios. Esto reduce latencia, es decir, el tiempo para acceder a los resultados del proceso. Ya se ha implementado un prototipo de streaming de salida para datos vector y ráster, ver videos:


Los resultados intermedios son publicados a través de un archivo de texto plano llamado lista de reproducción o playlist, donde el servidor agrega enlaces a nuevos resultados disponibles. El cliente verifica con frecuencia la lista de reproducción buscando nuevo contenido para descargarlo, decodificarlo (si es necesario) y desplegarlo. Al final, el cliente ensambla todos los pedazos descargados como una sola capa espacial.

Cabe resaltar que no todos los algoritmos pueden beneficiarse del streaming de salida. Particularmente, los algoritmos que requieren conocimiento focal o global no están soportados. Sin embargo, maneras alternativas de dividir datos espaciales para procesarlos en paralelo podrían habilitar el soporte a otros algoritmos. Este es un campo abierto de investigación en la ciencia de la información geográfica.

Streaming de entrada y salida

De otro lado, el WPS basado en streaming de entrada y salida aún está por implementarse. Este recibirá flujos de datos espaciales y, mientras tanto, empezará a procesarlos para publicar resultados. El WPS basado en streaming de entrada y salida hará posible procesar flujos ilimitados de datos porque recibe, procesa y publica datos espaciales en paralelo. El procesamiento de flujos ilimitados de datos es un nuevo campo de acción para el WPS.

Conclusión

En resumen, el WPS basado en streaming trae nuevas capacidades al WPS actual: por un lado, permite acceder a resultados intermedios de los procesos y, por el otro, hace posible el procesamiento de flujos de datos continuos (Borsutzky, 2011). Ya se tiene un prototipo del primero, mientras que el segundo aún debe ser implementado. Al final del proyecto el código fuente estará disponible en el repositorio de la comunidad de Geo-procesamiento de 52°North.

References

  • H. Borsutzky. (2011). Streaming von Geodaten mit webbasierten Prozessierungsdiensten. (Unpublished diploma thesis). University of Münster, Germany.
  • T. Foerster, B. Baranski, and H. Borsutzky. (2012). Live Geoinformation with Standardized Geoprocessing Services. In J. Gensel, D. Josselin, and D. Vandenbroucke (Eds.), Bridging the Geographic Information Sciences (pp. 99–118). Berlin, Heidelberg: Springer Berlin Heidelberg. 2012. Retrieved from http://www.springerlink.com/index/10.1007/978-3-642-29063-3_6
  • A. McCullough, S. Barr, and P. James. (2011). A Typology of Real-Time Parallel Geoprocessing for the Sensor Web Era. In T. Foerster, A. Bröring, B. Baranski, B. Pross, C. Stasch, T. Everding, and S. Maes. (Eds.) (2011). Integrating Sensor Web and Web-based Geoprocessing. CEUR Workshop proceedings (Vol. 712). Utrecht, Netherlands: CEUR. Retrieved from http://ceur-ws.org/Vol-712/
  • C. Timmerer and C. Müller. (2010). HTTP Streaming of MPEG Media. Proceedings of the Streaming Day 2010, Udine, Italy, September 16-17, 2010.