ESTUDIOS DE INGENIERÍA DE TELECOMUNICACIÓN PROYECTO FIN DE CARRERA Diseño y evaluación de un protocolo de transporte para redes multimedia de sensores CURSO: 2009/2010 Jose Francisco Mingorance Puga ESTUDIOS DE INGENIERÍA DE TELECOMUNICACIÓN Diseño y evaluación de un protocolo de transporte para redes multimedia de sensores REALIZADO POR: Jose Francisco Mingorance Puga DIRIGIDO POR: Gabriel Maciá Fernández DEPARTAMENTO: Teoría de la Señal, Telemática y Comunicaciones Granada, 29 de junio de 2010 i Diseño y evaluación de un protocolo de transporte para redes multimedia de sensores Jose Francisco Mingorance Puga PALABRAS CLAVE: transmisión multimedia, capa de transporte, redes inalámbricas de sensores, calidad de servicio. RESUMEN En los últimos años, las redes inalámbricas de sensores (WSN) se han convertido en foco de atención de muchos investigadores. Estas redes se caracterizan por estar constituidas de nodos con muy limitadas prestaciones en términos energéticos, de memoria y recursos computacionales, y por comunicarse mediante enlaces inalámbricos. Actualmente están emergiendo un gran número de aplicaciones en muy diversos ámbitos basadas en este tipo de redes. Muchas de estas aplicaciones, como la videovigilancia de seguridad, requieren de la transmisión de datos multimedia en tiempo real. La transmisión de datos multimedia en tiempo real, aunque permite un cierto grado de tolerancia a pérdidas, tiene exigencias de retardo máximo muy estrictas. En este trabajo se presentan dos protocolos especializados en la transmisión de datos multimedia en tiempo real en redes inalámbricas de sensores, M-DTSN y AM-DTSN. M-DTSN es una aproximación que mejora la eciencia, en términos de consumo energético, y aumenta el rendimiento, en términos de tramas útiles transmitidas por segundo. Su funcionamiento se basa en la interrupción de la transmisión de tramas cuando se prevée que la transmisión de éstas no podrá completarse a tiempo. AM-DTSN es un mecanismo más complejo que se adapta dinámicamente a las características del canal y basándose en información estadística de las transmisiones decide cuándo detener la transmisión de una trama prematuramente. De esta forma, la cantidad total de datos inútiles que AM-DTSN transmite para conseguir el mismo rendimiento que M-DTSN se vé signicativamente reducida. Ambas soluciones, M-DTSN y AM-DTSN son evaluadas en profundidad, obteniéndose resultados muy prometedores, que hacen de M-DTSN y AM-DTSN dos protocolos candidatos a formar parte de aplicaciones reales. iii Design and evaluation of a transport protocol for multimedia wireless sensor networks Jose Francisco Mingorance-Puga KEYWORDS: multimedia transmission, transport layer, wireless sensor networks, QoS. ABSTRACT During last years, Wireless Sensor Networks (WSN) have become the focus of attention of many researchers. These networks are special because they are built up of tiny nodes with limited resources in terms of energy, memory, and computational resources, and communication is accomplished through wireless links. At present, many applications in several dierent elds based on WSN are emerging. Many of these applications, such as video surveillance for security pruposes, require real-time multimedia data transmission. These kind of transmissions tolerate some degree of loss, but have strict time constraints. Two protocols specially designed for real-time multimedia data transmission in WSN are presented in this thesis: M-DTSN and AM-DTSN. M-DTSN is a protocol able to improve eciency, in terms of power consumption, and to increase performance, in terms of useful frames transmitted per second. Its operation is based on the interruption of a frame transmission when it is predicted that this frame transmission will not nish on time. AM-DTSN is a more complex adaptive mechanism which dynamycally adapts to channel conditions and, based on statistical data from the transmissions, decides when to stop prematurely a frame transmission. The total amount of useless information transmitted by AM-DTSN to obtain the same performance as M-DTSN is signicantly reduced by using this approach. Both solutions, M-DTSN and AM-DTSN are deeply assessed, obtaining very promising results which make M-DTSN and AM-DTSN two candidate protocols to be a piece of real applications. v D. Gabriel Maciá Fernández, Profesor del Departamento de Teoría de la Señal, Telemática y Comunicaciones de la Escuela Técnica Superior de Ingenierías Informática y de Telecomunicación de la Universidad de Granada, como director del Proyecto Fin de Carrera de Jose Francisco Mingorance Puga Informa: que el presente trabajo, titulado: Diseño y evaluación de un protocolo de transporte para redes multimedia de sensores Ha sido realizado y redactado por el mencionado alumno bajo mi dirección, y con esta fecha autorizo a su presentación. Granada a 29 de junio de 2010. Fdo: D. Gabriel Maciá Fernández vii Los abajo rmantes autorizan a que la presente copia de Proyecto Fin de Carrera se ubique en la Biblioteca del Centro y/o departamento para ser libremente consultada por las personas que lo deseen. Fdo: Jose Francisco Mingorance Puga Fdo: Gabriel Maciá Fernández 29 de junio de 2010 ix Publicaciones derivadas de este proyecto Next Generation Internet (NGI'2010) Los contenidos resultados de este proyecto fueron presentados en el congreso internacional neration Internet Next Ge- (NGI'2010), celebrado en París los días 2, 3 y 4 de junio de 2010 por Jose Francisco Mingorance Puga en una exposición pública. El trabajo presentado está titulado Transmission in Wireless Sensor Networks Ecient Multimedia y forma parte del libro de la conferencia que estarán dis- ponibles en IEEEXplore. Los autores del artículo son: Jose Francisco Mingorance Puga, Gabriel Maciá Fernández, António Grilo, Nestor M. C. Tiglao. JITEL Transmisión Multimedia Eciente en Redes Inalámbricas de Sensores realizado El artículo titulado por los mismos autores que el anterior y también basado en los contenidos de este proyecto ha sido aceptado para ser presntado en las Jornadas de Ingeniería Telemática Valladolid los días 29 , 30 de septiembre y 1 de octubre de 2010. xi (JITEL), que se celebrarán en Agradecimientos En primer lugar me gustaría agradecer especialmente a Gabriel Maciá por todo su apoyo y conanza durante el desarrollo de este proyecto. Sin él no hubiera sido posible, no sólo por su excelente calidad profesional, sino por sus grandes cualidades humanas, sabiendo motivar, animar y ver todo siempre desde el caleidoscopio de la positividad. Este proyecto es la culminación de una carrera entera, por ello también me gustaría agradecer a Simón, Carmen y María su apoyo durante los primeros años de mis estudios. Sin completar los primeros años no podría haber llegado al último, y sin el último no podría haber llevado a cabo este proyecto. Y en general agradecer a todo aquel que conó en mí, que me animó y que ha contribuido a que pueda culminar mi carrera. Acknowledgements I want to thank António Grilo for helping me with a lot of TinyOS issues, and for giving us full access to DTSN implementation and supporting us in anything we needed. Sorry for causing you some Tiny-headaches. xiii Índice 1. Introducción 23 1.1. Las redes inalámbricas de sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Aplicaciones de las WSN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.3. ¾Qué hace a las redes de sensores diferentes? 27 1.4. Requerimientos en las redes inalámbricas de sensores . . . . . . . . . . . . . . . . . . . . . 30 1.5. Principales aspectos en las WSN 33 1.6. Descripción del problema abordado en este proyecto 1.7. Antecedentes y estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2. Modelado del escenario 2.1. 2.2. 2.3. 23 39 Elementos del escenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.1.1. Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.1.2. Transmisor 2.1.3. Sumidero 2.1.4. Canales físicos 2.1.5. Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Tecnologías asociadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.2.1. FEC y códigos de borrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.2.2. Estándar 802.15.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2.3. DTSN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.2.4. DSDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.2.5. TinyOS 49 2.2.6. TOSSIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Restricciones e hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Metodología de trabajo 55 3.1. Recursos y costes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2. Planicación 56 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Descripción de la solución 4.1. 4.2. 59 Descripción de M-DTSN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.1.1. Características 59 4.1.2. Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.1.3. Benecios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripción de AM-DTSN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.1. Motivación 63 4.2.2. Funcionamiento general 4.2.3. Método de los histogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.2.4. Método auto-regresivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2.5. Autoajuste de estimaciones transmisor-receptor . . . . . . . . . . . . . . . . . . . . 72 4.2.6. Parámetro SP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Resultados experimentales 5.1. 63 79 Herramientas e implementaciones utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.1.1. Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.1.2. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.2. Indicadores de evaluación y condiciones de simulación . . . . . . . . . . . . . . . . . . . . 5.3. Evaluación experimental de M-DTSN 82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.4. Evaluación experimental de AM-DTSN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.4.1. Método de los histogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.4.2. Método auto-regresivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.4.3. Comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. Conclusiones 101 105 xv Índice de guras 1.1. Clasicación de las aplicaciones de las redes inalámbricas de sensores según los patrones de interacción entre fuentes y sumideros de datos. . . . . . . . . . . . . . . . . . . . . . . . 28 2.1. Esquema de la descripción del problema que se aborda en este trabajo. . . . . . . . . . . . 39 2.2. Nodo comercial Micaz del fabricante Crossbow. . . . . . . . . . . . . . . . . . . . . . . . . 41 3.1. Diagrama de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.1. Esquema de la pila de protocolos usados en M-DTSN . . . . . . . . . . . . . . . . . . . . . 59 4.2. Esquema que compara la información que la capa de aplicación entrega tradicionalmente a la capa de transporte para datos genéricos y la información que la capa de aplicación entrega a M-DTSN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.3. Comparación de M-DTSN, DTSN y S-DTSN durante la transmisión de tres tramas . . . . 61 4.4. Representación esquemática de la división de tramas y subintervalos de AM-DTSN . . . . 64 4.5. Ejemplo de histogramas capturados durante la fase de 4.6. Histograma obtenido durante la fase de 4.7. Histogramas obtenidos durante la fase de 4.8. Histograma de tramas exitosas recolectado durante la fase de inicialización de AM-DTSN con las marcas de los umbrales para distintos valores de SP, subintervalo n=5. N=10. . . 76 5.1. Secuencia de herramientas utilizadas durante el proceso de obtención de resultados . . . . 80 5.2. Esquema de la implementación de M-DTSN y AM-DTSN en TinyOS . . . . . . . . . . . . 81 5.3. Resultados experimentales de la dependencia con el tamaño de trama en M-DTSN. A=75 DTSN para N=10 subintervalos. n=5, con umbral óptimo. N=10. inicialización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . inicialización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . inicialización de AM-DTSN. (a)Histograma en transmisor, n=5. (c)Histograma en el receptor, el transmisor, n=3. (b)Histograma en el n=3. (d)Histograma en el receptor, n=5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . de tramas útiles. (d) Proporción de bytes inútiles. Resultados experimentales de la dependencia con el tamaño de trama en M-DTSN. A=0 S =10 86 Resultados experimentales de la dependencia con la atenuación del canal en M-DTSN. S =30 KB. (a) PPTR. (b) Histograma de la distribución de PTR para A=80 dB. (c) 87 Resultados experimentales de la dependencia con el periodo de muestreo en M-DTSN. S =15 KB. A=75 dB. (a) PPTR. (b) Histograma de la distribución de PTR I =2000 ms. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. . . . . . . . . . . . . . . 88 Resultados experimentales de la dependencia con el periodo de muestreo en M-DTSN. S =35KB. A=75 dB. (a) PPTR. (b) Histograma de la distribución de PTR para I =4000 ms. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. . . . . . . . . . . . . 5.9. 85 KB. (a) PPTR. (b) Histograma de la distribución de PTR para A=90 dB. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. . . . . . . . . . . . . . . . . 5.8. 84 Resultados experimentales de la dependencia con la atenuación del canal en M-DTSN. Proporción de tramas útiles. (d) Proporción de bytes inútiles. . . . . . . . . . . . . . . . . 5.7. 74 S =43KB. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. . . . . . . . . . . . . . . . . . . . . . . . 5.6. 68 S =35 KB. (c) Proporción . . . . . . . . . . . . . . . . . . . . . . dB. (a) PPTR. (b) Histograma de la distribución de PTR para 5.5. 67 de AM-DTSN para el subintervalo dB. (a) PPTR. (b) Histograma de la distribución de PTR para 5.4. del transmisor AM- Resultados experimentales de la dependencia con el número de saltos en M-DTSN. dB. S =15KB. A=75 89 (a) PPTR. (b) Histograma de la distribución de PTR para 3 saltos. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. . . . . . . . . . . . . . . . . 5.10. Resultados experimentales de la dependencia con el número de saltos en M-DTSN. S =10KB. 90 A=0 dB. (a) PPTR. (b) Histograma de la distribución de PTR para 5 saltos. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. . . . . . . . . . . . . . . . . . . . . . . . 91 5.11. Resultados experimentales de la dependencia con el jitter en M-DTSN. PPTR para (a) S =30KB, A=90 dB, (b) S =35KB, A=75 dB. . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.12. Resultados experimentales de la dependencia con el tamaño de la ventana de DTSN en M-DTSN. PPTR para S =35KB, A=75 dB. . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.13. Resultados experimentales de la dependencia con el tamaño de trama en AM-DTSN con el método de los histogramas. S P=0.95. A=75 dB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. . . . . . . . xvii 93 5.14. Resultados experimentales de la dependencia con el tamaño de trama en AM-DTSN con el método de los histogramas. S P=0.85. A=75 dB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. . . . . . . . 96 5.15. Resultados experimentales de la dependencia con SP en AM-DTSN con el método de los histogramas. S =35 KB. A=75 dB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. . . . . . . . . . . . . 97 5.16. Resultados experimentales de la dependencia con SP en AM-DTSN con el método de los histogramas. S =33 KB. A=75 dB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. . . . . . . . . . . . . 99 5.17. Resultados experimentales de la dependencia con la atenuación del canal en AM-DTSN con el método auto-regresivo. S =30KB. α=0.75. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. . . . . . . . . . . 100 5.18. Resultados experimentales de la dependencia con la atenuación del canal en AM-DTSN con el método auto-regresivo. S =30 KB. α=0.5. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. . . . . . . . . . . 101 5.19. Resultados experimentales de la dependencia con el número de saltos en AM-DTSN con el método auto-regresivo. S =25 KB. A=60 dB. α=0.8. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. . . . . . . . 102 5.20. Resultados experimentales de la dependencia con el tamaño de trama. Comparativa:MDTSN, AM-DTSN con el método de los histogramas, SP=1.0 y AM-DTSN con el método auto-regresivo, α=0.75. A=70 dB. (a) PPTR. (b) Proporción de tramas útiles. (c) Propor- ción de datos inútiles. (d) Datos inútiles enviados por trama. . . . . . . . . . . . . . . . . 103 5.21. Resultados experimentales de la dependencia con la atenuación del canal. Comparativa:MDTSN, AM-DTSN con el método de los histogramas con sincronización entre transmisor y receptor (AM-DTSN T-R), SP=1.0 y AM-DTSN con el método de los histogramas sin sincronización entre transmisor y receptor (AM-DTSN). S=25 KB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii 104 Índice de tablas 2.1. Características técnicas del nodo comercial Micaz del fabricante Crossbow . . . . . . . . . 41 3.1. Costes de recursos para la realización del proyecto . . . . . . . . . . . . . . . . . . . . . . 56 3.2. Tareas para la realización del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.1. Valores de los parámetros por defecto para las simulaciones de M-DTSN. . . . . . . . . . 83 5.2. Valores de los parámetros por defecto para las simulaciones de AM-DTSN . . . . . . . . . 92 xix ÍNDICE DE TABLAS Índice de algoritmos 2.1. Administración de sesiones de DTSN en la fuente. Tomado de [33] 4.1. Estrategia de transmisión de tramas de M-DTSN . . . . . . . . . . . . . . . . . . . . . . . 62 4.2. Búsqueda del umbral óptimo para la operación de AM-DTSN. 68 4.3. Algoritmo de funcionamiento de AM-DTSN durante la fase de operación usando los datos 4.4. Actualización de los umbrales tras una transmisión exitosa . . . . . . . . . . . . . . . . . . 71 4.5. Actualización de los umbrales tras una transmisión fallida . . . . . . . . . . . . . . . . . . 72 4.6. Estimación de AM-DTSN en transmisor del porcentaje de trama recibido. . . . . . . . . . 73 4.7. Cálculo de los umbrales de AM-DTSN según el parámetro SP . . . . . . . . . . . . . . . . 76 estadísticos del método de los histogramas. xxi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 70 Capítulo 1. Introducción Este capítulo pretende realizar una introducción al concepto de red inalámbrica de sensores, presentar algunas de las motivaciones para el uso de dichas redes así como aplicaciones ya desarrolladas o que podrían emerger en un futuro cercano. También se pretende introducir al lector en el problema que se ha tratado a lo largo de este trabajo y sus motivaciones. La organización del capítulo es la siguiente. En la Sección 1.1 se describe el concepto y la motivación de las redes inalámbricas de sensores. Basándose en las ideas de esta sección, la Sección 1.2 nos da algunas de las aplicaciones más punteras de las redes inalámbricas de sensores. En las Secciones 1.3, 1.4 y 1.5 se exponen cuales son las características que hacen diferentes a las redes inalámbricas de sensores de otras redes de comunicación tradicionales, así como los puntos clave que son objeto de investigación en la actualidad. Por último, en la Sección 1.6 se describe el problema concreto que se tratará en este trabajo y en la Sección 1.7 se comentan las soluciones existentes hasta la actualidad en el problema a tratar. 1.1. Las redes inalámbricas de sensores Los sistemas de procesamiento de información pueden clasicarse atendiendo a muy diferentes criterios. Uno de estos criterios es la relación que existe entre el sistema y el medio físico que le rodea. Según esta clasicación, tendríamos dos grandes grupos de sistemas de procesamiento de la información. El primero de ellos está constituido por los sistemas que no están directamente ligados al medio físico que le rodea. Es el caso, por ejemplo, de un PC de escritorio en el que el usuario utiliza aplicaciones omáticas. Estas aplicaciones pueden tener relación directa con la persona que está usando el PC, pero no con el medio físico. No tiene relevancia el lugar geográco o físico en que se esté usando dicho PC. En el segundo grupo están los sistemas cuya razón de ser es estrictamente dependiente del medio físico. Sería el caso, por ejemplo, de un sistema de control de temperatura y presión en un proceso químico en una planta industrial. Los sensores, actuadores, microcontroladores que los manejan, y en general el sistema, no puede estar en cualquier lugar geográco, si no que depende de algún modo de dónde se encuentra el fenómeno físico para el cual es útil. Estos sistemas ligados al medio, además se caracterizan por (i) ejercer algún tipo de control sobre el medio (ii) por no estar ligados directamente a una interacción con un humano, sino que más bien trabajan de forma automática contribuyendo al funcionamiento de un sistema mayor, y (iii) por tratarse en general de sistemas integrados. El paradigma de estos sistemas integrados es muy conocido desde hace mucho tiempo, y ha sido usado en el mundo de la ciencia y la ingeniería. De hecho, se estima que el 98 % de los computadores existentes se usan en este contexto. Su impacto en la vida diaria no deja de crecer. Así, raro es el hogar donde no hay una lavadora, reproductor de DVD o teléfono móvil que trabajo con algún tipo de computación integrada. En tales aplicaciones, los sistemas integrados se comunican con sistemas basados en la interacción humana. El progreso tecnológico está a punto de llevar este crecimiento de sistemas integrados un paso más lejos en nuestra vida diaria. Existe una tendencia a no solo equipar grandes equipos como una lavadora con sistemas integrados, sino también a dispositivos más pequeños, como por ejemplo los productos de la compra diaria, así como la penetración de dichos dispositivos en la domótica de los hogares y los espacios de trabajo. Finalmente, estos dispositivos envolverán por completo en nuestra vida diaria, situándonos en 23 1.1 Las redes inalámbricas de sensores Ambient Intelligence donde muchas clases diferentes de dispositivos recolectarán y un paradigma de procesarán información desde muchas fuentes distintas con el n de controlar procesos físicos e interactuar con los usuarios humanos. Estas tecnologías deberían estar presentes de una manera discreta, sin obstruir o interferir negativamente en nuestras actividades. Integrando el procesamiento de la información y el control sobre el medio físico en nuestro entorno, los paradigmas de interacción clásicos de persona a persona, persona-máquina y máquina-máquina pueden ser reemplazados en un paso nal por una noción de interacción entre la persona misma y el medio físico. La interacción con el mundo físico se convierte entonces en algo más importante que la mera manipulación de unos datos simbólicos. Para llevar a cabo esta concepción descrita, se necesita un aspecto crucial a parte del procesamiento de la información y la actuación sobre el medio físico: comunicación. Todas estas fuentes de información necesitan ser capaces de transferir la información al lugar donde se necesita (actuador o person(a) y deberían colaborar para proporcionar una imagen del mundo real tan precisa como sea necesario. Para algunas aplicaciones, las redes de sensores y actuadores pueden construirse a partir de las tecnologías cableadas ya existentes. Para muchas otras aplicaciones, sin embargo, la necesidad de cablear juntas todas estas entidades constituye un obstáculo considerable para el éxito. Cablear es caro, y en particular, para el gran número de dispositivos que se prevé existirá en nuestro entorno. El cableado conlleva problemas de mantenimiento, e impide a las entidades (actuadores o sensores) ser móviles además de la posibilidad comunicaciones inalámbricas entre estos dispositivos es, para muchas aplicaciones, un requisito indispensable. de situarse cerca del fenómeno que se suponen deberían de controlar. Por tanto, las Por tanto, una nueva clase de redes ha aparecido en los últimos años, las llamadas redes inalámbricas de Wireless Sensor Networks, WSN. Estas redes consisten en nodos individuales que son capaces sensores de interactuar con su entorno midiendo o controlando parámetros físicos. Dichos nodos deben colaborar para llevar a cabo sus tareas, ya que normalmente un nodo aislado es incapaz de hacerlo por sí mismo, y deben hacer uso de una comunicación inalámbrica para establecer esta comunicación. En esencia, los nodos sin dicha red están provistos de funcionalidades de computación y procesado de información, comunicación inalámbrica y medición y control. A pesar del hecho de que estas redes normalmente también incluyen actuadores, el término redes inalámbricas de sensores se ha convertido en el término para estas redes, aunque no es raro encontrar apelaciones como redes de sensores y actuadores inalámbricos. También inuye en esta manera de designar como red de sensores o red de actuadores el hecho de que ambas presentan ciertas diferencias. En una red de sensores, el nodo extrae energía del medio físico para realizar su medición, mientras que en una red de actuadores el nodo entrega energía al medio físico para realizar un control. Además, si el nodo es un sensor, o es actuador, puede determinar las características de los ujos de información que atraviesan la red. En cualquier caso, y a pesar de dichas diferencias, debe considerarse que en general una red de sensores estará compuesta tanto por sensores como por actuadores. Las redes inalámbricas de sensores son una herramienta muy potente en tanto y en cuanto proporcionan un soporte para muchas aplicaciones del mundo real. Son también un reto para la investigación e ingeniería debido a la gran exibilidad que presentan. Por tanto no hay un único conjunto de requisitos que clasique claramente todas las redes de sensores, y no hay tampoco una única solución técnica que complazca todas sus necesidades. Por ejemplo, en muchas aplicaciones de las redes inalámbricas de sensores, cada nodo individual de la red no puede ser conectado a una red de alimentación, sino que depende de las baterías que disponga él mismo. En tales aplicaciones, la eciencia de energía de cualquier solución que se conciba o proponga es una gura de mérito crítica ya que suele desearse que el tiempo de funcionamiento de los nodos sea largo. En otras aplicaciones, la alimentación del sensor puede no ser crítica, y en tales casos debemos usar otras métricas para valorar la calidad del sensor, tales como la exactitud de los datos que provee. En otras muchas aplicaciones suelen ser aspectos muy relevantes el tamaño y y el coste de cada nodo. Muy ligado al tamaño está la capacidad de la batería integrada en el nodo. El precio suele ser una limitación directa en la calidad del sensor del que está provisto el nodo, inuenciando la exactitud de los resultados que pueden obtenerse de un nodo. Además, el número, precio, y la potencialmente baja exactitud de los nodos individuales es relevante cuando se compara un sistema distribuido de muchos nodos sensores con una versión centralizada con menos nodos sensores, pero más caros y de mayor precisión. Nodos con sensores más simples, pero más numerosos, que puedan estar más próximos al fenómeno de estudio pueden hacer que la arquitectura del sistema sea más sencilla y eciente ya que proveen un muestreo de las variables distribuido (la detección de objetos por ejemplo requiere sistemas distribuidos). Llevar a cabo tal red inalámbrica de sensores es un paso crucial hacia una penetración profunda en el 24 1.2 Aplicaciones de las WSN concepto de Ambient Intelligence, ya que, al n y al cabo, estas redes proporcionan los últimos 100 metros de los sistemas de control global, como es el caso por ejemplo de la domótica. Hacer de estas redes una realidad precisa entender mejor sus aplicaciones potenciales y sus consiguientes requisitos, así como una idea de las tecnologías que podrían soportarlos. 1.2. Aplicaciones de las WSN En este apartado se pretende exponer y llegar a la conclusión de que la dirección tecnológica en que avanzan las redes inalámbricas de sensores facilitará muchas áreas de aplicación ya existentes y creará otras completamente nuevas. Por supuesto, estas aplicaciones dependen de muchos factores, pero pretendemos destacar los más evidentes. Además de necesitar nodos baratos, simples de programar y de usar en red, y potencialmente duraderos, hay un ingrediente primario y crucial para el desarrollo de aplicaciones reales. Se trata de los sensores y actuadores con que va equipado el nodo, propiamente dicho. Es decir, ahora nos referimos a la circuitería u otros elementos del nodo que realizan la función de sensing y actuating. Para muchos parámetros físicos ya existen soluciones de instrumentación muy apropiadas para ser integradas en un nodo de una red inalámbrica de sensores. Algunas de las más populares son la temperatura, la humedad, visión en luz visible o infrarrojos (desde la simple detección de presencia luminosa hasta cámaras), acústica, vibración (para detectar por ejemplo vibraciones sísmicas), presión, sensores químicos (para gases de diferentes tipos o para analizar la composición de la tierr(a), estrés mecánico, sensores magnéticos (para detectar vehículos que circulan), y potencialmente incluso radar. Además de estas capacidades de medición, algunas más complejas son concebibles. Por ejemplo, juguetes en una guardería que podrían tener sensores táctiles o de movimiento para poder determinar su propia velocidad o localización. Los actuadores controlados por un nodo de una red de sensores inalámbrica no son tan diversos como los sensores. Normalmente controlan un dispositivo mecánico, como un servo motor, o pueden activar algún interruptor eléctrico a través de un relé, como una lámpara, una bocina o similar, si bien recientemente están apareciendo nuevas tecnologías en este campo. Basándonos en estas capacidades de medición y actuación, y en combinación con sus capacidades de cómputo y comunicación, muchas aplicaciones diferentes pueden ser construidas con diferentes tipos de nodos, incluso diferentes tipos de nodos pueden participar en una misma aplicación. A continuación se presenta una breve lista de escenarios que deberían describir la basta mayoría de estas aplicaciones, así como los requisitos evidentes de cada una. Apoyo en desastres y accidentes Se trata de una de las categorías mencionadas más frecuentemente. Un escenario típico sería la detección de incendios forestales. Los sensores están equipados con termómetros y pueden determinar su propia localización (respecto a otros nodos o a unas coordenadas absolutas). Se pueden distribuir por toda la zona que se desea controlar, dejándolos caer desde un avión. Trabajando colectivamente, los sensores producen un mapa de temperaturas del área, o determinan el perímetro de áreas con temperatura alta donde los bomberos pueden acceder o no y el riesgo que corren si deciden hacerlo. Escenarios análogos son posibles para el control de accidentes en plantas químicas, por ejemplo. Control del medio ambiente y mapas de biodiversidad Las redes inalámbricas de sensores se pueden usar para controlar el medio ambiente, por ejemplo, con respecto a la polución química. Una aplicación posible estaría en los vertederos de basura. Otro ejemplo es la observación del fondo marino. Un entendimiento de sus procesos de erosión está a la orden del día para la construcción de parques eólicos cercanos a las costas. Muy relacionado con el control del medio ambiente está el uso de redes inalámbricas de sensores para monitorizar el número de especies distintas de plantas y animales que habitan en una zona determinada. Edicios inteligentes Los edicios malgastan cantidades ingentes de energía por un uso ineciente de la humedad, ventilación y aire acondicionado. Una monitorización mejor, en tiempo real y con alta resolución de la temperatura puede aumentar considerablemente el nivel de confort de los habitantes y reducir el consumo de energía 25 1.2 Aplicaciones de las WSN (ya han sido especuladas cantidades bastante grandes de ahorro que se podrían conseguir). La mejora de la eciencia energética así como la comodidad son algunas de las metas de los edicios inteligentes, para las cuales algunos sistemas cableados ya han sido desarrollados, tales como KNX BACnet, LonWorks, o [1, 2]. Estos estándares ya han incorporado a sus estándares componentes inalámbricos. Además, estas redes de sensores pueden usarse para monitorizar los niveles de estrés mecánico de edicios en zonas sísmicamente activas. Midiendo dichos parámetros mecánicos, como la carga de doblamiento de las vigas, es posible asegurar rápidamente a través de una red inalámbrica de sensores si es seguro entrar a una construcción dada tras un terremoto, o si la construcción está a punto de quebrarse (una gran ventaja para el personal de rescate). Sistemas similares pueden aplicarse a los puentes. Otros tipos de sensores pueden estar orientados hacia la detección de personas en una construcción derrumbada, y comunicar tal información a un equipo de rescate. Administración de complejos turísticos o inmobiliarios En la administración de complejos más grandes que un simple edicio, las redes inalámbricas de sensores también pueden tener un amplio rango de posibles aplicaciones. Algunos ejemplos muy simples son aplicaciones de entrada sin llave donde la gente puede llevar consigo algún objeto como una pulsera que permita a la red inalámbrica de sensores comprobar si dicha persona puede acceder a determinadas áreas de una gran empresa. Este ejemplo puede extenderse a la detección de intrusos, por ejemplo de vehículos que pasan por una calle fuera del horario de trabajo. Una red amplia de sensores inalámbricos podría rastrear la posición del vehículo y alertar al personal de seguridad (esta aplicación comparte mucho con sus correspondientes aplicaciones militares). Vigilancia de maquinaria y mantenimiento preventivo Una idea consiste en colocar nodos sensores en áreas de difícil acceso donde está la maquinaria, y detectar mediante dichos sensores si se requiere un mantenimiento de la maquinaria. Ejemplo de qué maquinaria podría requerir este tipo de control serían robots o los ejes giratorios de un tren. Otras aplicaciones en fábricas son completamente concebibles. Agricultura de precisión Aplicar las redes inalámbricas de sensores a la agricultura permite un regadío y fertilización precisos situando sensores de composición de la tierra y de humedad en el campo a tratar. Un número pequeño 2 de sensores bastaría, aproximadamente un sensor por cada área de 100m . De manera similar, el control con pesticidas puede beneciarse de una vigilancia de alta resolución del terreno de la granja. La cría de ganado también puede mejorar poniendo un sensor a cada cerdo o vaca, que controla el estado de salud del animal (midiendo la temperatura corporal, un cuentapasos, o medios similares) y lanza una alarma si se superan unos umbrales preestablecidos. Medicina y cuidados sanitarios El uso de las redes inalámbricas de sensores en la medicina y cuidados sanitarios implica cierta controversia ética, si bien es potencialmente benecioso. Las posibilidades van desde cuidados intensivos y posoperativos, donde los sensores acompañan a los pacientes -aquí se ve la evidente ventaja de eliminar los cables- hasta vigilancia a largo plazo de pacientes (probablemente ancianos) y administración automática de medicamentos de manera inteligente (incluyendo un sensor dentro del envase del medicamento y aplicando una alarma cuando se administra al paciente equivocado, o variar la dosis administrada según el estado del paciente). También el rastreo de pacientes y médicos en el hospital puede, literalmente, salvar vidas. Logística Existen varias aplicaciones diferentes en el campo de la logística. Por ejemplo, es bastante imaginable equipar productos con sensores simples que permitirían un rastreo simple de dichos objetos durante su transporte o facilitarían la realización de los inventarios en almacenes y grandes supercies. En estas aplicaciones, normalmente no se necesita que el sensor se comunique de manera activa. La lectura pasiva de los datos del mismo es suciente, por ejemplo, cuando una maleta se mueve en la cinta 26 1.3 ¾Qué hace a las redes de sensores diferentes? transportadora del aeropuerto y pasa por ciertos puntos de control. Esta lectura pasiva es mucho más simple y barata que el concepto de comunicación activa y procesamiento de la información discutido en otros ejemplos. Esto se lleva a cabo mediante los muy conocidos tag RFID [3]. Por otro lado, un simple tag RFID no puede soportar aplicaciones más avanzadas. Es muy difícil imaginar como un sistema pasivo puede usarse para localizar un elemento en un almacén. También puede ser difícil guardar información sobre la historia del objeto al que se encuentra unido el sensor - preguntas como ¾Por dónde ha pasado este paquete? son interesantes en muchas aplicaciones, pero requieren una cierta participación activa del nodo sensor. Estas aplicaciones están parcialmente relacionadas con las de logística. En el contexto de la telemática, los sensores integrados en las calles, cunetas, arcenes, o aceras pueden recolectar información sobre las condiciones de tráco con una resolución mayor de la que se dispone hoy día. Esta información podría interactuar con los vehículos para intercambiar advertencias de peligro sobre las condiciones del asfalto o atascos cercanos. Asimismo podría permitir un funcionamiento autónomo y dinámico de los sistemas de semáforos, donde estos mismos se auto-regularían dependiendo de las condiciones de tráco, y reduciendo así la necesidad de agentes de tráco en las urbes urbanas. Aunque la mayoría de estas aplicaciones son, de alguna forma u otra posibles incluso con las tecnologías de hoy día y sin ninguna red inalámbrica de sensores, todas las soluciones actuales carecen y están faltas de una solución de tipo red inalámbrica de sensores. La mayoría de las aplicaciones funcionarían mucho mejor con más resolución espacial y temporal de la que se puede proveer con la tecnología de sensores tradicional. Las redes de sensores inalámbricas trabajan, en su gran mayoría, con el objetivo de proporcionar la información requerida con la exactitud requerida en el momento previsto, usando la mínima cantidad de recursos posible. Muchas de las aplicaciones comparten algunas características básicas. En la mayoría de ellas hay una clara diferencia entre las fuentes de datos (los nodos que realmente envían datos) y los sumideros (nodos donde la información debe llegar). Estos sumideros, a veces son parte de la red de sensores misma, y otras veces son claramente sistemas fuera de la red. También hay, normalmente, más fuentes que sumideros, y los sumideros no están interesados en la identidad de las fuentes, sino solamente en los datos que estas proporcionan. Los patrones de interacción entre las fuentes y los sumideros muestran algunos comportamientos análogos en las distintas aplicaciones. Los más relevantes son descritos en la Figura 1.1 1.3. ¾Qué hace a las redes de sensores diferentes? Basándonos en lo expuesto en las Secciones 1.2 y 1.4 el lector podrá haber advertido que existen un tipo de redes que son parientas de las WSN. Se trata de las Mobile Ad Hoc Networks (MANET) A continuación describiremos qué aspectos de las WSN las hace únicas, y en particular se hará una comparativa con las MANET. Una red ad-hoc es una red congurada, literalmente, para un propósito especíco, para responder rápidamente a las necesidades de comunicaciones que aparecen. El ejemplo más simple de una red ad-hoc es quizás un conjunto de ordenadores conectados por cables para formar una pequeña red, por ejemplo, unos cuantos ordenadores portátiles en una sala de reuniones. En este ejemplo, el aspecto de auto-conguración es crucial. Se espera que la red funcione sin una conguración o mantenimiento manual. Sin embargo, normalmente la noción de MANET está asociada con comunicaciones inalámbricas y especícamente con comunicaciones inalámbricas multi-salto. El nombre también indica que la movilidad de los nodos de la red suele ser un ingrediente de este tipo de comunicaciones. Ejemplos de tales redes son la asistencia a operaciones de rescate en catástrofes, o redes en localizaciones complicadas, como grandes edicios, donde el despliegue de una red inalámbrica, no es una opción práctica. En tales redes, los nodos individuales forman una red que transporta paquetes entre los nodos para, en conjunto, ser capaz de llevar los paquetes desde un nodo concreto a otro, permitiéndola la red expandirse en áreas geográcas mayores de lo que sería posible con una comunicación directa entre transmisor y receptor. Los dos retos más importantes en una MANET son la reorganización de la red cuando los nodos se mueven, y manejar los problemas del rango limitado que alcanzan las comunicaciones inalámbricas. La bibliografía sobre MANET resume estos problemas y sus soluciones, ya que este tipo de redes es todavía un campo de investigación muy activo. Una buena referencia en este campo es [4, 5, 6]. La mayoría de los problemas de MANET son compartidos por las redes inalámbricas de sensores. Sin embargo existen algunas diferencias conceptuales entre ambas, garantizando una distinción que las 27 1.3 ¾Qué hace a las redes de sensores diferentes? Se detecta un evento concreto y se informa al sumidero Detección de eventos Eventos detectados mediante un nodo o en colaboración de la red completa El inicio de la medición puede estar lanzado por un evento Mediciones periódicas El periodo de muestreo es muy dependiente de la aplicación Patrones de interacción entre fuente y sumidero Crear mapas de un parámetro físico en función del tiempo y espacio. Aproximación y detección de límites Detectar fronteras con el mismo valor del parámetro físico Eventos causados por un objeto móvil Rastreo La red proporciona la posición y velocidad de la fuente de eventos Figura 1.1: Clasicación de las aplicaciones de las redes inalámbricas de sensores según los patrones de interacción entre fuentes y sumideros de datos. hace diferentes y que provoca que sean estudiadas en campos de investigación distintos. A continuación destacaremos los puntos en los que una red inalámbrica de sensores diverge de una red MANET. Aplicaciones y equipamiento Las MANET están asociadas de alguna manera con aplicaciones dife- rentes así como con equipamiento de usuario diferente al de una red inalámbrica de sensores. En una MANET, un nodo puede ser bastante potente, (ordenador portátil o PDA) con una batería también bastante duradera. Se requiere tal equipamiento porque en las aplicaciones típicas de una MANET suele haber un humano interactuando con la red. Las MANET se usan para comunicaciones de voz entre dos puntos remotos, o para acceder a una infraestructura remota, tal como un servidor web. Por tanto, el equipamiento debe ser sucientemente potente para soportar estas aplicaciones. Especicidad a la aplicación Teniendo en cuenta el gran número de combinaciones concebibles de sensores, computación, y tecnologías de comunicación, existen muchos escenarios para redes inalámbricas de sensores en los que se trabaja con aplicaciones muy diferentes. Es poco probable que exista una solución común para todas estas posibilidades potencialmente diferentes. Por dar un ejemplo, una red inalámbrica de sensores es concebible con muchas densidades de nodos diferentes, desde despliegues muy dispersos hasta muy densos, y cada uno de ellos requerirá diferentes protocolos o protocolos adaptativos. Esta diversidad, aunque presente, no es tan notable en las MANET. Interacción con el entorno Dado que las redes inalámbricas de sensores tienen que interactuar con el entorno, las características de su tráco pueden ser muy diferentes respecto a otras redes en las que se interactúa con un humano. Una consecuencia típica es que una red inalámbrica de sensores tienen muchas probabilidades de trabajar con tasas de transferencia muy bajas durante largos periodos de tiempo, pero puede presentar tráco a ráfagas cuando se produce un evento. Este es un fenómeno bien conocido para sistemas de tiempo real, en el que se producen tormentas de eventos. Se pueden 28 1.3 ¾Qué hace a las redes de sensores diferentes? alternar largos periodos de inactividad con una alta actividad en la red, llevando su capacidad al límite. Por otro lado, las MANET se usan para soportar aplicaciones convencionales, (web, voz, etc...) con sus características de tráco. Escala Potencialmente, las redes inalámbricas de sensores tienen que escalarse a un número mayor de entidades que las redes ad-hoc actuales, por tanto requiriendo soluciones diferentes y más escalables. Para tratar un caso concreto, los nodos de una red inalámbrica de sensores no suelen dotarse de un identicador único ya que sería muy costoso, tanto en producción como durante el funcionamiento de los nodos. Además podría causar una tara de tráco que puede evitarse. Por tanto, los protocolos que funciona sin identicadores unívocos podrían llegar a ser importantes en redes inalámbricas de sensores, mientras que en las redes MANET lo que tiene sentido es asumir identicadores unívocos. Energía Tanto en las redes inalámbricas de sensores como en las redes MANET la energía es un recurso escaso. Pero las redes inalámbricas de sensores tienen requisitos más exigentes en cuanto al tiempo de vida de la red se reere, y recargar o reemplazar las baterías de un nodo de una red inalámbrica de sensores es mucho menos realizable que en una red MANET. Debido a estas razones, el impacto de las consideraciones energéticas es mucho más relevante en una red inalámbrica de sensores que en una red MANET. Auto-congurabilidad De la misma forma que las redes ad-hoc, es muy probable que se requiera que las redes inalámbricas de sensores sean auto-congurables. Sin embargo la diferencia en el tipo de tráco, compromisos energéticos, y otros aspectos requieren nuevas soluciones. A pesar de ello, la auto-congurabilidad es probablemente el aspecto en que más se parece una red inalámbrica de sensores y una red MANET. Fiabilidad y QoS Los requisitos concernientes a la abilidad y QoS son bastante diferentes. En una red MANET cada nodo individual debería ser prácticamente able. Sin embargo, en una red inalámbrica de sensores un nodo individual es prácticamente irrelevante. Los requisitos de QoS en una MANET vienen dictados directamente por las aplicaciones tradicionales, jitter bajo para aplicaciones de voz, por ejemplo. Para redes inalámbricas de sensores se requieren conceptos de QoS completamente nuevos que también tengan en cuenta explícitamente los consumos de energía. Centralización en los datos El despliegue redundante hará que los protocolos centrados en datos se hagan más atractivos en las redes inalámbricas de sensores. Este concepto es completamente ajeno a las MANET. A no ser que aplicaciones como compartir archivos se usen en MANET, que tiene algún parecido con aproximaciones centradas en los datos, los protocolos centrados en datos son irrelevantes para las MANET. Dichas aplicaciones no representan los casos de uso típicos. Simplicidad y escasez de recursos Dado que los nodos son simples y que la fuente de energía de que disponen es escasa, el sistema operativo y el software de comunicaciones debe ser ordenes de magnitud más simple que el que utilizan los PC de escritorio actuales. Esta simplicidad podría requerir también romper con la estructura tradicional de software en capas, ya que esta estructura en capas de abstracción conlleva un costo en tiempo y espacio. Asimismo, ciertos recursos como la memoria, que está disponible en MANET, no se encuentran tan abundantemente en las redes inalámbricas de sensores, requiriendo por tanto nuevas soluciones escalables y ecientes en término de consumo de recursos. Movilidad El problema de la movilidad en las MANET está causado por el movimiento de los nodos, que cambian las rutas multihop en la red, y por tanto deben ser administradas de alguna manera. En una red inalámbrica de sensores, este problema también puede existir si los nodos sensores se mueven en una aplicación dada. En primer lugar, la red de sensores puede usarse para detectar y observar un fenómeno físico. Este fenómeno es la causa de eventos que suceden en la red, como por ejemplo activar una alarma. También puede causar un procesamiento local de la información, por ejemplo, determinando si realmente ha sucedido el evento es una falsa alarma. ¾Qué sucede si el fenómeno se está moviendo? Idealmente los datos recogidos en un lugar concreto deberían estar disponibles en el siguiente. Asimismo, en aplicaciones de seguimiento, la red tiene una tarea explícita de asegurar que al menos algunos de los nodos se encuentran cerca del fenómeno que se quiere monitorizar y que está en movimiento. 29 1.4 Requerimientos en las redes inalámbricas de sensores Además los sumideros de información en la red (nodos donde la información debería ser entregad(a) pueden ser móviles también. En principio, el movimiento de estos nodos no tendría por que ser diferente al movimiento de nodos en una MANET, pero puede provocar algunas dicultades en protocolos que operan ecientemente en escenarios completamente estáticos. En este punto es necesario observar cuidadosamente los compromisos.Además, tanto en las redes inalámbricas de sensores como en las MANET, la movilidad de los diferentes nodos puede considerarse correlada. Un grupo de nodos se suele mover de una manera relacionada. Esta correlación puede observarse en una MANET, por ejemplo, perteneciente a un grupo de gente viajando junta. En una red inalámbrica de sensores el movimiento de los nodos puede estar correlado si los nodos son simultáneamente arrastrados por una tormenta, un río, o algún otro uido. En resumen, existen algunos puntos en común, pero el hecho de que las WSN soporten aplicaciones muy diferentes, el hecho de que tengan que interactuar con el medio físico, y que se deben estudiar varios compromisos cuidadosamente, justica el hecho de considerar las WSN como un sistema y concepto diferente de las MANET. 1.4. Requerimientos en las redes inalámbricas de sensores Evidentemente, para llevar a cabo las aplicaciones descritas en la Sección 1.2 no basta con una red inalámbrica de sensores en concreto. Si bien es cierto que aparecen unas ciertas características comunes en la mayoría de ellas, existen ciertos requerimientos que serán dependientes de la aplicación para la que la red de sensores se ha diseñado. En este apartado estamos interesados en estudiar los tipos de exigencias que se pueden requerir a las WSN. Requisitos característicos de las redes inalámbricas de sensores Los siguientes requerimientos son comunes a la mayoría de las redes inalámbricas de sensores: Tipo de servicio El tipo de servicio presentado por una red convencional de comunicaciones es evidente: transportar los bits de un lugar a otro. Para una red inalámbrica de sensores, transportar bits es sólo un medio para llegar a un n, pero no la meta real. Más bien se espera que una red inalámbrica de sensores aporte información con signicado y/o acciones sobre una tarea especíca. People want answers, not numbers (Steven Glaser, UC Berkley). Adicionalmente, cobran importancia conceptos como scoping de interacción en regiones geográcas especícas o en intervalos de tiempo concretos. Por lo tanto, se requieren paradigmas de uso de estas redes, así como nuevas interfaces y nuevas maneras de pensar sobre los servicios que proporciona una red. Calidad de servicio Muy relacionado con el tipo de servicio de una red, está la calidad de dicho servicio. Los requisitos de calidad de servicio tradicionales (que provienen normalmente de aplicaciones multimedi(a) tales como retardos limitados o anchos de banda mínimos son irrelevantes cuando las aplicaciones toleran algún tipo de retardo o el ancho de banda de los datos transmitidos es muy pequeño. En algunos casos, sólo la entrega ocasional de un paquete puede ser más que suciente; en otros casos existen requisitos muy altos de abilidad. Además, existen aún otros casos en los que el retardo es muy importante. Tales casos podrían suceder cuando necesitamos que los actuadores se accionen en tiempo real por la red de sensores inalámbrica, o cuando requerimos que la información captada por los sensores se transmita en tiempo real (transmisión de vídeo para vigilancia de segurida(d). La tasa de transmisión de paquetes se convierte entonces en una métrica insuciente. Lo que es relevante es la cantidad y calidad de información útil que puede extraerse en un sumidero en concreto, y que ha sido proporcionada por la red. Por tanto, es importante que tengamos conceptos de calidad adaptados a cada caso, tales como detección able e eventos, o la aproximación de un mapa de temperaturas, por citar algunos ejemplos. Hay que destacar que el trabajo desarrollado en este proyecto está dirigido, entre otros objetivos, a diseñar una tecnología que permite mejorar la calidad de servicio de las WSN, entendida como la eciencia en la cantidad y calidad de la información útil que una red transmite. Tolerancia a errores Dado que todos los nodos pueden quedarse sin batería o podrían dañarse, o bien dado que la comunicación inalámbrica entre dos nodos puede interrumpirse permanentemente, es importante que la red inalámbrica de sensores sea tolerante a errores como un conjunto. Esto quiere decir que la red inalámbrica de sensores debería seguir funcionando si un nodo en particular de la red deja de estar operativo. Para poder tolerar la pérdida completa de un nodo se necesita un despliegue 30 1.4 Requerimientos en las redes inalámbricas de sensores redundante, usando más nodos de los que serían estrictamente necesarios si todos funcionasen bien. Por otro lado, nuevas ideas para esta redundancia se presentan como un campo de investigación aún abierto. Tiempo de vida En muchos escenarios los nodos deberán mantenerse con una fuente de energía limi- tada, usando baterías. Reemplazar estas fuentes de energía en el campo de actuación no es posible normalmente, y simultáneamente una red inalámbrica de sensores debe funcionar al menos durante el tiempo que dure una misión en concreto, o tanto tiempo como se pueda conseguir. Por tanto, el tiempo de vida de una red inalámbrica de sensores es una gura de mérito muy importante. Evidentemente, un funcionamiento eciente en términos de consumo de energía es primordial para el funcionamiento de una red inalámbrica de sensores. se basa este trabajo. Este será uno de los principios en que Como una alternativa o suplemento a las baterías, una fuente de potencia limitada, como pequeños paneles solares por ejemplo podrían también formar parte de un nodo. Típicamente estas fuentes no son sucientemente potentes como para asegurar el funcionamiento continuo, pero pueden proporcionar recarga a las baterías principales del nodo. Bajo tales condiciones, el tiempo de vida de la red podría ser idealmente innito. Este tiempo de vida también tiene compromisos directos contra la calidad de servicio. Invertir más energía puede incrementar la calidad de servicio pero a su vez decrementar el tiempo de vida. Por También esta idea será tratada a lo largo de este trabajo. Una denición exacta de tiempo de vida requeriría conocer el tipo de aplicación. Una aproximación tanto, se requieren algunos conceptos que puedan armonizar este compromiso. simple es llamar tiempo de vida al tiempo que transcurre hasta que el primer nodo falla (o se queda sin energí(a). Otras opciones serían llamar tiempo de vida al tiempo hasta que la red se desconecta en dos o más particiones, o el tiempo hasta que una proporción predeterminada de nodos han fallado, o el tiempo hasta que una región del espacio concreta no está cubierta por ningún nodo operativo. En este último caso se mejoraría el tiempo de vida y la tolerancia a fallos a la vez al incrementar la redundancia del número de nodos. Escalabilidad Ya que una red inalámbrica de sensores incluye un gran número de nodos, las arquitec- turas y protocolos utilizados deben poder escalarse consecuentemente. Distintas densidades En una red inalámbrica de sensores, el número de nodos por unidad de área puede variar considerablemente de una aplicación a otra. Incluso para una aplicación dada, la densidad puede variar a lo largo del tiempo y espacio porque los nodos fallen o se desplacen. La densidad no tiene porqué ser homogénea en toda la red (debido por ejemplo a imperfecciones en el despliegue de la re(d), y ésta debería de ser capaz de adaptarse a las distintas variaciones de densidad de nodos. Programabilidad Los nodos deberían de ser capaces de procesar información, pero también necesitan una cierta exibilidad en su comportamiento y poder realizar distintos tipos de tareas. Deberían ser nodos programables, y su programación debería ser modicable durante la operación del nodo, de forma que este pueda dedicarse a ciertas tareas más importantes que requieren atención en un momento dado. Un procesamiento de la información prejado e inexible no es suciente. Mantenibilidad Ya que tanto en el entorno de una red inalámbrica de sensores como la propia red cambian, el sistema debe ser capaz de adaptarse a dichos cambios. Sería deseable que la red fuera capaz de monitorizarse a sí misma para detectar su estado y la existencia de fallos , de forma que pueda cambiar parámetros operacionales (por ejemplo, reducir la calidad cuando los recursos energéticos se hacen escasos). También podría interactuar con un mantenimiento externo para asegurar una operatividad duradera con ciertos niveles de calidad requeridos. Mecanismos requeridos Para poder satisfacer estos requerimientos anteriormente descritos deben encontrarse nuevos mecanismos para una red de comunicación, así como nuevas arquitecturas y conceptos de protocolos, además de los ya existentes, ya que estos no permiten, en la actualidad, aportar toda la funcionalidad requerida para estas redes. Un reto en particular es la necesidad de encontrar mecanismos que sean sucientemente especícos a la idiosincrasia de una aplicación dada para soportar la calidad de servicio especíca, tiempo de vida y requisitos de mantenibilidad. Por otro lado, estos mecanismos también deben poder generalizarse a un más amplio rango de aplicaciones, de modo que no tengan que realizarse desarrollos desde cero para 31 1.4 Requerimientos en las redes inalámbricas de sensores cada aplicación. Esto hará de las redes inalámbricas de sensores un concepto tecnológico económicamente viale. Algunos de los mecanismos que deben formar parte de una red inalámbrica de sensores son: Comunicación multisalto inalámbrica Mientras que la comunicación inalámbrica es una técnica bá- sica del núcleo de la red, una comunicación directa entre el transmisor y el receptor normalmente no es posible. En particular, la comunicación a lo largo de grandes distancias sólo es posible usando potencias de transmisión muy altas, que son prohibitivas. La potencia total requerida puede reducirse usando nodos intermedios como repetidores. Por lo tanto, en muchos tipos de redes inalámbricas de sensores, la comunicación multihop Funcionamiento energético eciente es un ingrediente indispensable. Para proporcionar tiempos de vida largos, se requieren técni- cas clave para un funcionamiento energético eciente. Las opciones incluyen transporte de datos entre dos nodos de una manera energética eciente, (medida en J/bit) o, más importante aún, la determinación de eciencia energética de una información pedida. También debe tenerse en cuenta el consumo energético no homogéneo de la red, ya que pueden existir hotspots. Auto-conguración Una red inalámbrica de sensores deberá congurar la mayoría de sus parámetros de operación de manera autónoma, independiente de una conguración externa. El número de nodos de cada aplicación y el hecho de usar un despliegue simple requerirán de una auto-conguración de la red. Por citar un ejemplo, los nodos deberían ser capaces de determinar sus posiciones geográcas solamente usando otros nodos de la red (auto-localización). Además, la red debería ser capaz de tolerar que ciertos nodos dejen de funcionar (fallos, n de baterí(a), e integrar nuevos nodos a la red (aumento de la supercie de operación, reponer nodos que fallaron), por citar algunos ejemplos. Colaboración y procesamiento en la red En algunas aplicaciones un sólo sensor no es capaz de de- cidir si un evento ha sucedido o no, sino que varios sensores deben colaborar para detectar un evento, y sólo los datos conjuntos de todos los nodos proporciona información suciente para tomar la decisión. La información es procesada en la propia red de varias formas para conseguir dicha colaboración. Como idea contrapuesta a exigir que cada nodo transmita todos los datos a una red externa y se procese en algún punto fuera de la red. He aquí un ejemplo. Una red inalámbrica de sensores debe determinar la temperatura más alta o promedio en un área dada, y comunicar dicho valor a un sumidero. Para resolver esta tarea ecientemente, las lecturas de cada nodo individual pueden agregarse cuando se propagan a través de la red, reduciendo la cantidad de datos a transmitir y por tanto mejorando la eciencia energética. Cómo realizar dicha agregación es un campo aún abierto con muchas posibilidades. Arquitectura centrada en la información Las redes de comunicaciones tradicionales suelen centrar- se en la transmisión de datos entre dos dispositivos especícos, cada uno de los cuales está provisto con al menos una dirección de red. El funcionamiento de estas redes está basado por tanto en el direccionamiento de los nodos. En una red inalámbrica de sensores, donde los nodos se suelen desplegar de forma redundante para proteger la red contra fallos de los nodos, o para compensar la baja calidad de los sensores de un nodo particular que está proporcionando los datos resulta irrelevante. Lo que es realmente importante son las magnitudes medidas y los valores de las mismas, y no el nodo que las midió. Por tanto, parece bastante prometedora la idea de cambiar de un paradigma centrado en el direccionamiento a un paradigma centrado en los datos. Un ejemplo de interacción usando este paradigma centrado en los datos sería hacer una petición de la temperatura promedio en un área en concreto, como contraposición a pedir las lecturas de temperatura a cada nodo individual que se encuentra en dicha área. Este paradigma centrado en los datos también puede usarse para establecer las condiciones de alerta o eventos, activar una alarma si la temperatura sobrepasa un umbral. En este sentido, la aproximación centrada en los datos está muy relacionada con conceptos de consulta usados en el área de las bases de datos. También combina bien con colaboración, procesamiento en la red y agregación. Localidad El principio de localidad es más bien una guía de diseño que un mecanismo. Este principio va ligado de la mano del principio de escalabilidad. Los nodos, que están muy limitados en recursos tales como memoria, deberían intentar limitar la información de estado que acumulan durante el procesamiento de los protocolos a sólo la información de los nodos vecinos más cercanos. Con ello se intenta que la red pueda escalarse a un número grande de nodos sin tener que contar con un potente 32 1.5 Principales aspectos en las WSN hardware y software de procesamiento en cada nodo. Cómo combinar el principio de localidad con el diseño eciente de un protocolo es una línea de investigación aún abierta. Explotar los compromisos De manera similar al principio de localidad, las redes inalámbricas de sensores tendrán que contar con un alto grado de exibilidad para explotar varios compromisos inherentes entre objetivos que son mutuamente contradictorios, ambos durante el diseño y funcionamiento del sistema/protocolo. Ejemplos de tales compromisos han sido ya mencionados: un alto consumo de energía permite resultados más exactos, o un tiempo de vida más largo de la red presenta un compromiso contra el tiempo de vida de un nodo individual. Otro compromiso importante es la densidad de nodos: dependiendo de la aplicación, despliegue y los fallos de los nodos durante su funcionamiento, la densidad de la red puede cambiar considerablemente, los protocolos deberán manejar situaciones muy diferentes, posiblemente presentes en diferentes lugares de una sola red. De nuevo, quedan muchas preguntas pendientes en este campo. Aprovechar estos mecanismos de forma que sean fáciles de usar y al mismo tiempo sucientemente generales puede ser un reto para el programador. Partiendo de un punto de vista de la red centrado en el direccionamiento requiere la programación de nuevas interfaces que van más allá de las simples semánticas de las interfaces convencionales de sockets, y permiten conceptos como la exactitud requerida, compromisos de energía/exactitud, o scoping. Teniendo en cuenta los diferentes requerimientos que presentan las redes inalámbricas de sensores y que han sido descritos aquí, podemos resumir en cuáles de ellos se centra este trabajo: Calidad de servicio: tal como se describe en la Sección 1.6 uno de los objetivos que se pretende es optimizar la calidad de servicio. Tiempo de vida: también se pretende optimizar el tiempo de vida, al menos de los nodos nales con los que se trabajará. Compromiso entre ambos: por último, se pretende optimizar el compromiso entre calidad de servicio y tiempo de vida, para un cierto tipo de comunicación. Se trata de averiguar cuanto debe ceder cada lado para llegar al punto óptimo en el que maximizamos la cantidad de información útil transmitida sujeta a una minimización de la batería consumida. 1.5. Principales aspectos en las WSN Llevar a cabo tales redes inalámbricas de sensores ha sido posible gracias a algunos avances fundamentales. Primero, y más importante entre estas tecnologías clave, es la miniaturización del hardware. Los pequeños tamaños de los chips han reducido el consumo de potencia de los componentes básicos de un nodo sensor hasta un nivel tal que la construcción de WSN puede contemplarse. Es particularmente relevante los chips de los microcontroladores y memorias, pero también los radiomodems, responsables de la comunicación inalámbrica se han hecho mucho más ecientes en cuanto a consumo de energía se reere. La reducción del tamaño de los chips y la mejora de la eciencia energética vienen acompañados por una reducción del coste, que es necesaria para hacer el despliegue redundante de nodos asequible. Además de para procesamiento y comunicaciones, el equipamiento de sensing nal, es decir, los sen- sores en sí es la tercera tecnología clave. Aquí, sin embargo, es difícil generalizar debido al gran rango de posibles tipos de sensores. Estas tres partes básicas de un nodo sensor deben ir acompañadas de una fuente de energía. Dicha batería debe ser, dependiendo de la aplicación, de larga duración, y por tanto requiere una descarga despreciable, y debe proporcionar ecientemente pequeñas cantidades de corriente. Idealmente un nodo sensor también tiene un dispositivo para recolectar energía del medio que le rodea, y recargar así la batería con energía obtenida del entorno. Tal es el caso de células solares, o sistemas para la generación de energía a partir de vibraciones. Estos paradigmas de autoabastecimiento de las baterías de los nodos requieren que estas se puedan recargar de manera eciente con pequeñas corrientes, lo que no es muy común. Tanto las baterías como los medios de recolección de energía son campos de investigación abiertos. El homólogo de las tecnologías hardware descritas es el software que le acompaña. La primera pregunta a responder aquí es la división principal de tareas y funcionalidades en un sólo nodo. La arquitectura del sistema operativo y el entorno de ejecución deben tenerse en cuenta. Este entorno de ejecución debe ser multi-tarea, permitir el intercambio de información a través de las capas, y debe ser modular para 33 1.6 Descripción del problema abordado en este proyecto permitir un mantenimiento simple. La arquitectura de un nodo simple debe extenderse hasta edicar la arquitectura de la red, donde la división de las tareas entre los nodos genera una pregunta relevante: ¾cómo estructurar las interfaces para los programadores de aplicaciones? La tercera parte a resolver es por tanto la pregunta de cómo diseñar protocolos apropiados de comunicación. Los servicios y prestaciones de las redes inalámbricas de sensores se requieren de manera urgente en problemas de gran magnitud cientíca y social. Tales son: controlar y administrar los recursos y reservas de carbón a nivel internacional, monitorizar los recursos de agua, monitorizar las emisiones de los vehículos y salvaguardar la salud pública. Este campo de investigación es un reto de grandes magnitudes que requieren sistemas de sensores distribuidos operando en entornos complejos al mismo tiempo que proveyendo seguridad, exactitud y abilidad en sus mediciones [7]. 1.6. Descripción del problema abordado en este proyecto Muchas de las aplicaciones citadas en la Sección 1.2 requieren la transmisión de información en tiempo real. En particular, y para ejemplicar y hacer más cómoda su exposición, este trabajo se centrará en una aplicación concreta, la transmisión de imágenes en tiempo real para nes de vigilancia y seguridad. El lector no debe interpretar este hecho como una pérdida de generalidad, ya que todos los desarrollos funcionarían igualmente para la transmisión de información en tiempo real de otra naturaleza. Así pues, las ventajas de usar una WSN para esta aplicación son múltiples. Se trata de la implantación cómoda, barata, simple, rápida y exible de una red de cámaras de vídeo-vigilancia basada en una WSN. Podría ser especialmente interesante para casinos, hospitales, hoteles, estaciones de tren, aeropuertos, redes de metro, grandes edicios, museos, o cualquier otra entidad que pueda desear una red de cámaras de vídeo vigilancia exible barata y cómoda. Otra aplicación que está cada vez más presente es la vigilancia de animales en reservas naturales. En este sentido, el trabajo aquí presentado pretende optimizar comunicaciones inalámbricas para la transmisión de imágenes en tiempo real manteniendo unos ciertos niveles de calidad usando las estrategias que serán descritas en el Capítulo 4. Asimismo, en el Capítulo 5 se constatará a partir de resultados experimentales, que efectivamente se consigue paliar los inconvenientes del uso de redes inalámbricas para esta aplicación. Otro de los grandes retos que supone usar una WSN para construir una la red de cámaras de vídeo vigilancia es que en este caso los nodos con que se trabaja están alimentados por baterías. En este sentido, se ha pretendido que todo lo desarrollado en este trabajo estuviera sujeto a la restricción de un consumo limitado de energía de los nodos. Así, a lo expuesto en el párrafo anterior hay que añadir que las estrategias que proponemos como solución en el Capítulo 4 también tienen como objetivo reducir el consumo de energía por parte de los nodos, ya que el tiempo de vida de la red en este caso constituye un requisito imprescindible. A este escenario descrito se le designará como Wireless Multimedia Sensor Network, WMSN. 1.7. Antecedentes y estado del arte En esta Sección se discute el estado del arte de la investigación en el campo del desarrollo de nodos sensores de datos multimedia, así como de las distintas capas en las pilas de protocolos implicados en la comunicación. Se enfatizará en aquellos aspectos que son relevantes para el desarrollo de este proyecto, ya que un desarollo del estado del arte de todos los aspectos de las WSN sería demasiado largo e inecesario en este trabajo. Para un diseño eciente de protocolos en multimedia WSN es imperante que todas las capas de la pila de protocolos de comunicación soporte funciones que sean ecientes en términos de recursos y energía. A continuación se describirán brevemente las diferentes iniciativas que distintios grupos de investigación han propuesto para la optimización de cada una de estas protocolos de comunicación, separando por capas dicha descripción. Capa de aplicación La capa de aplicación en las WMSN soporta técnicas de codicación multimedia que están de acuerdo con los requisitos especícos de la aplicación y las restricciones del hardware utilizado. Ya que la información es de naturaleza multimedia, los codicadores de fuente deberían ser menos complejos y tener 34 1.7 Antecedentes y estado del arte más alta eciencia de compresión sin degradar la QoS de la aplicación. Una menor complejidad conduce a diseños más ecientes de los codicadores de las fuentes. Otra característica clave de estos codicadores es que se comunican de manera able sobre enlaces propicios a errores. Varias técnicas, como intra-trama o inter-trama, también llamadas de codicación predictiva, o técnicas de estimación del movimiento, son complejas por naturaleza, y por tanto no son ecientes energéticamente [8]. Otra propuesta es desplazar la complejidad del nodo al sumidero nal. Este método es una parte de la codicación de la fuente distribuida. Se trata de la técnica de Wyner-Ziv que da resultados comparables a la técnica de la estimación del movimiento predictiva que emplea codicadores complejos en el nodo. Además de soportar las técnicas de codicación de la fuente, la capa de aplicación soporta la administración del tráco de la red y funcionalidades de control de admisión que están directamente relacionadas con el QoS especicado para la aplicación. Por tanto, basándonos en la clase de tráco la capa de aplicación ofrece servicios diferenciados para alcanzar la QoS especícos de la aplicación [9]. Capa de transporte La capa de transporte en WMSN es responsable del transporte de los datos entre el nodo fuente y el sumidero. Como en las WMSN la mayoría de las aplicaciones son críticas al dispararse un evento (detección de alarmas, monitorización de eventos anómalos, etc.), la transferencia able de los datos de la WMSN es un requisito aceptado en el diseño de protocolos de transporte para estas redes, además del soporte de las características de la aplicación en términos de tasas de transferencia altas así como control de congestión [10, 11]. En las WMSN, cuando la información multimedia se transmite en ujos, entonces es especialmente importante que el sumidero reciba los datos ordenados en la secuencia en que la fuente envía los datos, ya que de otra forma la se puede generar información redundante. Esto enfatiza la necesidad de una capa de transporte capaz de numerar, secuenciar y reordenar los paquetes [8]. Ya que la información considerada en este estudio es multimedia, requiere el soporte de tasas altas de datos y siempre existe una posibilidad de ocurrencia de congestión en algún punto de la red, especialmente en el sumidero, en cuyo caso el resultado sería el consumo de toda la energía del nodo. Por tanto, surge la necesidad de algoritmos de control de congestión ecientes en términos de consumo de energía para evitar las oscilaciones de datos. TCP [12], una aproximación orientada a conexión, provee abilidad estricta extremo a extremo, lo que es una buena característica desde la perspectiva de la abilidad, pero no es buena desde el punto de vista de la eciencia energética, ya que TCP implica el envío de conrmaciones de paquetes para cada paquete de datos enviado, y la retransmisión de paquetes de datos en caso de fallos, aparte de la tara causada por el establecimiento de la conexión TCP. UDP es más eciente energéticamente que TCP. Sin embargo, no sigue el paradigma estricto de abilidad de TCP, sino que carece de abilidad. Otros protocolos de transporte para WSN como Transport Protocol (MRTP ) Congestion Detection and Avoidance (CODA) [11], Multi-ow Real-time RMST [14], GARDUA [15] ó STCP [16] se diseñan para el envío o [13], recepción able en WSN. Otros trabajos consideran la transmisión del sumidero al sensor [17, 18] o desde el sensor al nodo [19, 20, 14], de manera able en ambos. Pero ninguno de ellos soporta comunicaciones en tiempo real como se está requiriendo en las WMSN. Capa de red y enrutamiento De manera similar a las redes de computadores, la capa de red de las WMSN de la pila de protocolos de comunicación soporta funciones y protocolos de enrutamiento que entregan la información recogida por los sensores fuente al sumidero. En las WMSN, el papel de la capa de red es bastante crítico para conservar la energía, ya que el nodo tiene un presupuesto de energía muy limitada. La naturaleza multimedia de los datos (especialmente por de ser un ujo contínuo de datos) impone estrictas restricciones a estas funciones y protocolos de enrutamiento cuando se deben diseñar para alcanzar los exigentes requisitos de QoS de la aplicación, así como de abilidad. Estos protocolos de enrutamiento se categorizan en tres clases diferentes: basados en clase de tráco (tolerantes/intolerantes a retardos, y tolerantes/intolerantes a pérdidas), basados en las condiciones de la red, y basados en ujos de tiempo real. Un protocolo multiruta fue diseñado para alcanzar las restricciones de QoS y energía de la aplicación [21]. Sin embargo, para tráco en tiempo real, no prioriza el tráco que tiene diferentes requisitos de QoS. Además, el protocolo no es escalable por naturaleza porque durante los cálculos de las rutas el nodo debería tener la información de la topología de la red completa. La priorización de los datos de enrutamiento sujeta a limitaciones como tolerancia a latencia y caídas de tasa de transferencia por hand-o se propone en [22] 35 1.7 Antecedentes y estado del arte SPEED [17] back-pressure re-routing para usar redes de sensores móviles en aplicaciones de telemedicina. Otro protocolo llamado se ja en los retardos además de en la congestión. Utiliza una técnica llamada para mitigar la congestión. Aunque SPEED evita la congestión controlando la tasa de transferencia, no Trac and Energy Aware IEEE 802.15.4 (TEA-15.4) [23] que soporta priorización. Otro avance es el soporta servicios multimedia en WSN. Se basa en una serie de modicaciones en capa física y de enlace del IEEE 802.15.4 para mejorar su comportamiento en transmisión multimedia. El comportamiento del protocolo es adaptativo por naturaleza, dependiendo de las condiciones de tráco cambiantes. Capa de enlace Al contrario que en las WSN, en las WMSN la naturaleza inestable del tráco de la red puede clasicarse en un número de clases de servicio que requiere diferentes búeres, transmisiones y políticas de planicación. Los protocolos de la capa de enlace en las WMSN son responsables de proporcionar comunicación libre de errores, able, y eciente energéticamente para distintas clases de tráco, al mismo tiempo que se soporta los requisitos de la QoS especíca. Las políticas de acceso al canal, planicación, y la administración de búeres y el control de errores en el enlace son las áreas clave donde las últimas investigaciones están trabajando. También la colisión de paquetes, la retransmisión, y la recepción de datos por parte de un nodo que no es el destinatario a nivel de capa de enlace, son las causas del consumo de la batería del nodo, y son objeto de investigación actualmente a nivel de capa de enlace. La estrategia de contención S-MAC [18] preserva la energía del nodo encendiéndolo y apagándolo durante su vida. Este protocolo no es conveniente para aplicaciones multimedia, ya que conserva la energía a cambio de una reducción del ancho de banda y de un aumento de la latencia. También es poco conveniente para manejar la sincronización de los nodos y la coordinación con los nodos vecinos en el caso de ciclos de trabajo dinámicos del nodo y necesita aún ser investigado a fondo. De manera similar, T-MAC [24] está diseñado para controlar la congestión del búer del receptor durante las transferencias a ráfagas de información multimedia. Adaptive MAC Protocol [25] fue diseñado para reducir la latencia punto a punto. En este caso, el ciclo de trabajo de cada nodo es adaptativo por naturaleza, en concordancia con la variabilidad de la carga de tráco. Esto permite a los nodos tener un tiempo de vida predeterminado. MAC S-MAC ofrece menos retardos comparados con Adaptive mientras que obtiene los requisitos de tiempo de Clustered on-demand multi channel MAC Protocol COM-MAC) [26], que tiene como objetivos la eciencia energética, una alta tasa de transferencia y una vida de la red. Otro protocolo para capa de enlace es ( gradación de la abilidad de la transferencia de datos mediante un parámetro controlable. Está diseñado para comunicación de datos multimedia. La escucha de paquetes no deseados a nivel de capa de enlace, la escucha durante periodos de inactividad y las colisiones pueden evitarse en este protocolo permitiendo a los nodos del cluster operar en modo de contención libre. Incorpora un algoritmo de planicación que tiene en cuenta la QoS y el espectro ARQ para maximizar la tasa de transferencia en la red mientras que se mejora la abilidad de la transmisión. Capa física La capa física en las WMSN es responsable de proporcionar una interfaz de comunicación de datos física controlando errores. Bluetooth (IEEE 802.15.1), Ultra-Wideband (UWB, IEEE 802.15.3), IEEE 802.15.4 y Wi-Fi (IEEE 802.11) son cuatro protocolos estandarizados para comunicaciones inalámbricas de corto alcance con bajo consumo de energía. Ultra Wideband (UWB ) está considerado el candidato para WMSN en el futuro, si bien esta tecnología aún está en fases muy prematuras y no ha sido implantada en escenarios y aplicaciones reales, por esta razón no se usará en este trabajo para capa física, que a demás no es el objetivo de investigación del proyecto. Tiene una eciencia de código de 97.94 %, una tasa de transferencia máxima de 110Mbps, es más eciente energéticamente que otras tecnologías inalámbricas y su rango de alcance nominal es de 10m. Adicionalmente, las señales UWB tienen una densidad de potencia espectral extremadamente baja, con baja probabilidad de intercepción o detección, lo que le UWB. Una es TimeMulti-Carrier UWB (MCUWB ). TH-IR UWB conere unas características de seguridad inmejorables. Existen dos variantes de Hopping Impulse Radio UWB (TH-IR UWB ) [8] y and está considerada como la más conveniente para WMSN. Permite altas tasas de transferencia, alta ganancia ante interferencias al procesar las señales, bajo consumo energético en la comunicación inalámbrica, diseño simple, comunicaciones en banda base sin portadora. Sin embargo, investigaciones recientes muestran que la alta eciencia energética al mismo tiempo que la satisfacción de la QoS estricta de las redes multimedia y sus limitaciones, sólo se puede obtener desarrollando modelos de capas entrelazados para la capa física 36 1.7 Antecedentes y estado del arte y capa de enlace en los transceptores de las WMSN. Hardware de los sensores de vídeo El gran avance inicial en las implementaciones CMOS de sensores de vídeo se discute en [27]. Los sensores de vídeo propuestos incorporan las cámaras inteligentes System-on-chip (SoC) basadas en detección de fronteras. Para detecciones de personas en tiempo real y el análisis de sus movimientos, los investigadores proponen una cámara prototipo en [28]. Se trata de la cámara Hi8 para la adquisición de imágenes, con una interfaz a un PC estándar con tarjetas PCI adicionales que cuentan con el procesador TriMedia TM-1300 VLIWM. Otro gran avance en el es el desarrollo de una versión de sensores de una visión integrados que usa el procesador TMS320C64xx DSP y una cámara CMOS [29]. 37 Capítulo 2. Modelado del escenario En este capítulo se describe el escenario de trabajo. El capítulo se organiza de la siguiente manera. En la Sección 2.1 se describen cada uno de los elementos que forman parte del escenario, en la Sección 2.2 se describen detalladamente las tecnologías implicadas relacionados con el escenario y, por último, en la Sección 2.3 se presentan las hipótesis y asunciones que se establecen a lo largo de todo este estudio. En la Figura 2.1 se ha representado esquemáticamente una WSN que podría ser el problema que se está describiendo. En el esquema cada círculo representa un nodo de la red. Los nodos sombreados que están en el borde de la red son los que se encargan de tomar las imágenes del entorno, y como se puede observar tienen una vídeocámara bajo su control. El nodo sombreado conectado esquemáticamente a un videowall es el sumidero, que se encarga de recibir las imágenes que envían los nodos de la red y presentarlas o bien transmitirlas a un computador de mayor capacidad. Los nodos interiores son nodos que participan en la red pero no son ni fuente ni destino de datos, sino que se trata de enrutadores, organizadores o unidades de respaldo que se pondrían en marcha si alguno de los nodos que transmite las tramas fallara. Por último señalar que los enlaces entre los nodos representados por líneas rectas no son más que enlaces inalámbricos. La estructura de la red no tiene porque ser la representada en la Figura 2.1 sino que podría ser de cualquier otra forma, estrella, árbol, etc. También hay que señalar el hecho de que podrían existir varios Videowall o centro de control y vigilancia Sumidero Figura 2.1: Esquema de la descripción del problema que se aborda en este trabajo. 39 2.1 Elementos del escenario sumideros de información. 2.1. Elementos del escenario A continuación se presentan las descripción de los elementos que forman parte del escenario a tratar. 2.1.1. Nodos Los nodos de la red serán el hardware que compone físicamente la red. Típicamente se tratará de unidades de hardware autosucientes e independientes, basadas en un microcontrolador que controlará todo el funcionamiento del nodo, y alimentadas por batería. En este caso, autosucientes hace referencia al hecho de que son unidades de hardware que poseen todos los elementos básicos de un computador, es decir, unidad de procesamiento, memoria, e interfaces de entrada y salida. El adjetivo independiente quiere hacer hincapié en que estas unidades de hardware están alimentadas mediante baterías o pilas, y por tanto, no dependen de un suministro de corriente estático. El estudio realizado en este proyecto realizado no pretende basarse en una conguración y caso concreto de hardware, sino que más bien está pensado para su adecuación a un amplio rango de escenarios en los que el hardware tiene unas ciertas características generales. Estas características podrían resumirse en los siguientes puntos clave: Baja capacidad de procesamiento, típicamente la CPU será un microcontrolador con una arquitectura RISC de 8 ó 16 bits. La frecuencia de funcionamiento entre 20 y 100 MHz. Baja cantidad de memoria no volátil. 512 KB ó 1 MB en un único chip al que se accede mediante un bus I ²C ó SPI Suministro de energía limitado. En la mayoría de los casos se tratará de baterías AA o AAA alcalinas. Interfaz de comunicación mediante un radiomódem cumpliendo el estándar IEEE 802.15.4 [30], descrito en la Sección 2.2.2 a nivel de capa física. La capa de enlace es implementada por TinyOS [31] (descrito en la Sección 2.2.5). La frecuencia de funcionamiento del radiomódem será entre los 2.4 y 2.48 GHz, lo que nos asegura estar en la banda ISM. Sin ninguna pérdida de generalidad en la Tabla 2.1 se citan las características de un nodo comercial existente en la actualidad que podría encajar perfectamente en el perl descrito anteriormente. En cuanto al software, todos los nodos de la red usarán el sistema operativo TinyOS[31]. Este sistema operativo implementa las interfaces correspondientes para poder usar la capa de enlace y capa físicas del estándard IEEE 802.15.4 [30]. El chip del radio modem es el Chipcon CC2420 que implementa en capa física el estandard IEEE 802.15.4 y las interfaces necesarias para comunicarse con la capa de enlace, pero no implementa la capa de enlace. Dicha capa es implementada por TinyOS. Existe un módulo del sistema operativo que implementa la capa de enlace, la comunicación de dicha capa con la capa física para el chip Chipcon CC2420 así como las interfaces para la comunicación con la capa superior. Algunos detalles sobre dicha implementación se encuentran en la Sección 5.1. A nivel de capa de red, en especial para enrutamiento los nodos usarán el protocolo DSDV [32] descrito en la Sección 2.2.4. La capa de transporte implementará el protocolo DTSN [33] descrito en la Sección 2.2.3. 2.1.2. Transmisor El transmisor será un nodo de la red con unas características que lo harán especial. Tendrá conectada una cámara de baja resolución que le proporcionará imágenes bajo demanda. Su misión a nivel de capa de aplicación será transmitir estas imágenes al sumidero. 40 2.1 Procesador/Hardware radio Elementos del escenario Observaciones MPR2400CA Características del procesador Memoria de programa (ash) 128 KBytes Measurement (Serial) Flash 512 KBytes > 100000 Mediciones Comunicación serie UART Niveles de transmisión en 0-3V Convertidor analógico/digital 10 bit ADC 8 canales, entradas en 0-3 V Otras interfaces Digitales: I/O,I2C,SPI Consumo de corriente Transmisor/Receptor RF Banda de frecuencia Tasa máxima de transmisión (TX) 8 mA Modo activo < 15µA Modo inactivo (sleep) Banda ISM,congurable en 2400 MHz a 2483.5 MHz pasos de 1MHz 250 kbps Potencia de RF Entre -24 dBm y 0 dBm Sensitividad de recepción -90 dBm (mínimo), -94 dBm (típic(a) Rechazo al canal adyacente 47 dB Separación del canal +5 MHz 38 dB Separación del canal -5 MHz Alcance al aire libre Entre 75 m y 100 m Dipolo 1/2λ , LOS Alcance en interiores Entre 20 m y 30 m Dipolo 1/2λ Consumo de corriente 19.7 mA En modo de recepción 11 mA TX, -10 dBm 14 mA TX, -5 dBm TX, 0 dBm 17.4 mA 20 1 Modo escucha, regulardor de µA voltage encendido Modo escucha, regulador de µA Características electromecánicas potencia apagado. Baterías 2 unidades Tipo AA ligada al pack Alimentación externa 2.7 V - 3.3 V Conector molex incluido Interfaz de usuario 3 LED Rojo, verde y amarillo Tamaño 58 x 32 x 7 mm Excluyendo el pack de baterías Peso 18 gramos Excluyendo las baterías Conector de expansión 51 pines Todas las principales entradas/salidas Tabla 2.1: Características técnicas del nodo comercial Micaz del fabricante Crossbow La cámara utilizada, sin pérdida de generalidad y por conveniencia, podría ser típicamente una cámara que funcione a bajo voltaje, 1.3 megapíxels, con un sensor de imagen SXGA CMOS. Por citar algún modelo, la OmniVision OV9655 estaría en este abanico de modelos de cámara que encuadrarían en el escenario. La resolución típica de la cámara será de 640x480. Además del mismo software que el resto de nodos de la red, sobre la capa DTSN trabajarán el protocolos M-DTSN y AM-DTSN descritos en el Capítulo 4, cada uno dependiendo del caso. De esta forma la capa de aplicación tendrá unas interfaces bien denidas para el paso de información con la capa inferior M-DTSN y AM-DTSN. 41 Figura 2.2: Nodo comercial Micaz del fabricante Crossbow. 2.1 Elementos del escenario 2.1.3. Sumidero El sumidero será el nodo de la red encargado de recibir las imágenes que envía el transmisor. En general, el sumidero podría recolectar las imágenes de más nodos de la red de manera simultánea. Por simplicidad en este trabajo se ha congurado la red de manera que sólo hay un transmisor en un momento dado. Al tratarse de un nodo especial de la red, este tendrá características hardware y software particulares. En concreto dispondrá de una interfaz cableada serie por la que transmitirá los datos que colecte a otro computador de mayores prestaciones o bien directamente a un periférico en el que se mostrará la información. Este periférico puede ser una pantalla VGA, o podría tratarse de un videowall si trabajásemos con imágenes de mayor resolución. 2.1.4. Canales físicos El canal físico de comunicación será de naturaleza no guiada. Así, por ejemplo, si los nodos se encuentran al aire libre, el medio físico será el aire. No se hace distinción entre sí los nodos estarán al aire libre o en interiores. Más bien se establecerá una caracterización del canal en función de dos parámetros: (a). El primero de ellos es la atenuación que sufre la señal al de radio al atravesar dicho canal desde la antena de un nodo a la antena de otro nodo. Típicamente vendrá dada en décibelios (dB). La atenuación en el espacio libre puede calcularse de manera teórica mediante la expresión [40]: Lf sl = donde r (4πr)2 λ2 (2.1) es la distancia entre los extremos del trayecto donde se atenúa la onda electromagnética, λ es la longitud c = 3 · 108 m/s de onda y supondremos que la velocidad de propagación de la onda en el medio es Si se particulariza la ecuación 2.1 para una frecuencia de 2.4 GHz obtenemos: Lf sl = 40 + 20 log10 r (2.2) Para este trabajo se estudiará un amplio rango de atenuaciones del canal. Como dato orientativo, y para guiarse de manera rápida, conviene tener en mente que en la práctica una atenuación de 70 dB corresponde a aproximadamente una distancia de 10 m entre los nodos. Evidentemente esta magnitud variará de acuerdo a las diferentes condiciones del canal en que trabajemos, y en particular si trabajamos en interiores, pero es una buena técnica mnemotécnica para hacerse una idea de en qué rango de magnitudes se está trabajando. También hay que citar que, aunque parezca extraño, la atenuación del canal no tiene por qué ser bidireccional, y en la práctica la atenuación de un dipolo al otro depende del sentido en que se transmita la onda. Tal es así que en el simulador TOSSIM, descrito en la Sección 2.2.6, se prevé establecer las atenuaciones de cada sentido del canal por separado. (b). El segundo parámetro es el ruido del canal. En este sentido, parámetro no designa una magnitud escalar mediante la que queremos caracterizar el ruido, a diferencia de la atenuación, que sí podíamos caracterizar mediante dos escalares (una atenuación para cada sentido de la comunicación). La caracterización del ruido se realizará en realidad a partir de un modelo estadístico. Este modelo estadístico se genera a partir de unas muestras de ruido en un canal cualquiera. Dados unos datos estadísticos, que son el ruido del canal muestreado en diferentes instantes de tiempo, se puede modelar estadísticamente el ruido. Para este trabajo y sin pérdida de generalidad se trabajará con los datos estadísticos heavymeyer.txt. Se trata de unas trazas de ruido tomadas durante una transmisión concreta, y son usadas comúnmente para la modelización de entornos de ruido para TOSSIM. También se podrían tomar las muestras de ruido para un entorno en concreto y después usarlas para generar nuestro modelo de ruido. Hay que señalar que TOSSIM modela no sólo el ruido del canal en sí, sino también las interferencias a partir de datos estadísticos proporcionados. Estas interferencias son causadas por la superposición 42 2.2 Tecnologías asociadas de las ondas electromagnéticas que provienen tanto de fuentes ajenas a la red como de los propios nodos. Al ser el medio físico un medio no guiado, estas señales físicas se expanden por todo el medio y son escuchadas por todos los nodos, más o menos atenuadas dependiendo de la distancia a la que se encuentran y a los obstáculos entre los nodos. En muchos escenarios estas interferencias pueden ser muy importantes. TOSSIM modela el ruido del canal con el algoritmo Closest Pattern Matching (CPM ) [41]. El algoritmo CPM tiene como entrada las trazas de ruido medidas en un punto de un entorno, y genera un modelo estadístico a partir de ellas. Este modelo puede capturar ráfagas de interferencias y otros fenómenos correlados, de manera que mejora y hace más realista la simulación del canal de radiofrecuencia. El algoritmo, por tanto, mejora a los modelos tradicionales de pérdidas de paquetes independientes. 2.1.5. Red Aparte de la caracterización del canal entre dos nodos contiguos que se comunican directamente, también se puede caracterizar la topología de la red. En este caso, no se han hecho suposiciones precisas de la topología de la red, y en realidad esta podría ser de muchas formas variadas: malla, estrella, árbol,... Por tanto, más que la topología en sí, el parámetro clave que nos interesa para caracterizar nuestra red es el número de saltos entre transmisor y receptor. Así pues, en el Capítulo 5, uno de los parámetros experimentales con que se trabaja es el número de saltos entre transmisor y receptor, siendo irrelevante en este contexto la topología de la red. 2.2. Tecnologías asociadas En esta sección se describen varias de las tecnologías asociadas en este trabajo. El objetivo es que el lector tenga a su alcance una descripción breve de dichas tecnologías que puedan facilitarle la comprensión del proyecto. Asimismo, estas descripciones serán aludidas durante el resto de capítulos de forma que se clarique las características de cada una de estas tecnologías cuando se aplican en el resto de este documento. En algunos casos esta descripción puede suponer una justicación obvia del porqué de su utilización. 2.2.1. FEC y códigos de borrado La corrección de errores hacia adelante ( Forward Error Correction o FEC ) es un tipo de mecanismo de corrección de errores que permite su corrección en el receptor sin retransmisión de la información original. Se utiliza en sistemas sin retorno o sistemas en tiempo real donde no se puede esperar a la retransmisión para mostrar los datos. Este mecanismo de corrección de errores se utiliza por ejemplo, en las comunicaciones vía satélite, en las grabadoras de DVD y CD o en las emisiones de TDT para terminales móviles (estándar DVB-H), concretamente en este último caso se trata de un tipo especial de FEC, el denominado MPE-FEC. Funcionamiento La posibilidad de corregir errores se consigue añadiendo al mensaje original unos bits de redundancia. La fuente digital envía la secuencia de datos al codicador, encargado de añadir dichos bits de redundancia. A la salida del codicador obtenemos la denominada palabra código. Esta palabra código es enviada al receptor y éste, mediante el decodicador adecuado y aplicando los algoritmos de corrección de errores, obtendrá la secuencia de datos original. Los dos principales tipos de codicación usados son: (i) Códigos bloque. La paridad en el codicador se introduce mediante un algoritmo algebraico aplicado a un bloque de bits. El decodicador aplica el algoritmo inverso para poder identicar y, posteriormente, corregir los errores introducidos en la transmisión. (ii) Códigos convolucionales. Los bits se van codicando tal y como van llegando al codicador. Cabe destacar que la codicación de uno de los bits está enormemente inuenciada por la de sus predecesores. La decodicación para este tipo de código es compleja ya que en principio, es necesaria una gran cantidad de memoria para estimar la secuencia de datos más probable para los bits recibidos. En la actualidad se utiliza para decodicar este tipo de códigos el algoritmo de Viterbi, por su gran eciencia en el consumo de recursos. 43 2.2 Tecnologías asociadas FEC reduce el número de retransmisiones de errores, así como los requisitos de potencia de los sistemas de comunicación e incrementa la efectividad de los mismos evitando la necesidad del reenvío de los mensajes dañados durante la transmisión. En general, incluir un número mayor de bits de redundancia supone una mayor capacidad para corregir errores. Sin embargo este hecho incrementa notablemente tanto el régimen binario de transmisión, como el retardo en la recepción del mensaje. Códigos de borrado Los códigos de borrado son una forma de FEC usada para la comunicación entre transmisores y receptores a través de un medio con pérdidas. Cuando se decodica la información codicada usando códigos de borrado, se supone que el receptor sabe donde están exactamente los paquetes perdidos, mientras que no tiene por que ser así para otras técnicas FEC. Este es el caso de los escenarios estudiados en este trabajo, donde el receptor sabrá qué fragmentos de las tramas recibidas tiene, ya que se trabaja sobre un protocolo able, DTSN, y por tanto los paquetes están numerados. Los códigos de borrado se suelen usar para enviar paquetes a través de internet ya que el receptor puede detectar la localización de los paquetes perdidos simplemente jándose en los números de secuencia. Este comportamiento, como es obvio puede extenderse para cualquier protocolo de transporte able que numere secuencialmente los paquetes. En un código de borrado normal, en transmisor codica la información redundante antes de enviar al receptor la información original junto con la redundante (ambas juntas). El receptor puede reconstruir los paquetes originales al recibir una fracción del total de paquetes. Los códigos de borrado estándar como tando N-K RS(N,K) convierten paquetes redundantes. Si el receptor obtiene pueden reconstruirse. Por tanto, una proporción N/K K K paquetes originales en N paquetes, resul- o más paquetes, entonces todos los originales alta conlleva un más alto nivel de protección de la información [42]. En el artículo citado en la referencia [43] se presenta un estudio de códigos de borrado para la transmisión de vídeo en redes con pérdidas notables. Se utiliza un código de Reed-Salomon [44]. Los resultados son muy prometedores y apuntan a la posibilidad de la recuperación de la información de vídeo a partir de 5/7 (72 %) de la información total. Basándose en los resultados de este artículo así como de los citados en esta Sección, para el funcionamiento de M-DTSN y la realización de las baterías de simulaciones se considerará que la transmisión de una trama es exitosa si se recibe al menos el 72 % de dicha trama. Los resultados se muestran en la Sección 5.3. En el caso de AM-DTSN, sin pérdida de generalidad y por simplicar su presentación, se ha supuesto que se requiere el 100 % de la información de una trama para poder recuperarla con éxito. 2.2.2. Estándar 802.15.4 Visión general IEEE 802.15.4 [30] es un estándar que dene el nivel físico y el control de acceso al medio de redes inalámbricas de área personal con tasas bajas de transmisión de datos (low-rate wireless personal area network, LR-WPAN). La versión actual del éstandar se aprobó en 2006. La última revisión de esta versión del estándar se nalizó el 17 de abril de 2009. El grupo de trabajo IEEE 802.15 es el responsable de su desarrollo. El propósito del estándar es denir los niveles de red básicos para dar servicio a un tipo especíco de red inalámbrica de área personal (WPAN) centrada en la habilitación de comunicación entre dispositivos ubicuos con bajo coste y velocidad (en contraste con esfuerzos más orientados directamente a los usuarios medios, como WiFi). Se enfatiza el bajo coste de comunicación con nodos cercanos y sin infraestructura o con muy poca, para favorecer aún más el bajo consumo. En su forma básica se concibe un área de comunicación de 10 metros con una tasa de transferencia de 250 kbps. Se pueden realizar compromisos que favorezcan aproximaciones más radicales a los sistemas empotrados con requerimientos de consumo aún menores. Para ello se denen no uno, sino varios niveles físicos. Se denieron inicialmente tasas alternativas de 20 y 40 kbps; la versión actual añade una tasa adicional de 100 kbps. Se pueden lograr tasas aún menores con la consiguiente reducción de consumo de energía. Como se ha indicado, la característica fundamental de 802.15.4 entre las WPAN's es la obtención de costes de fabricación excepcionalmente bajos por medio de la sencillez tecnológica, sin perjuicio de la generalidad o la adaptabilidad. Entre los aspectos más importantes se encuentra la adecuación de su uso para tiempo real por medio de slots de tiempo garantizados, evitación de colisiones por CSMA/CA y soporte integrado a las comunicaciones seguras. También se incluyen funciones de control del consumo de energía como calidad del enlace y 44 2.2 Tecnologías asociadas detección de energía. Pila de protocolos Los dispositivos se relacionan entre sí a través de una red inalámbrica sencilla. La denición de los niveles se basa en el modelo OSI. Aunque los niveles inferiores se denen en el estándar, se prevé la interacción con el resto de niveles, posiblemente por medio de un subnivel de control de enlace lógico basado en IEEE 802.2, que acceda a MAC a través de un subnivel de convergencia. La implementación puede basarse en dispositivos externos o integrarlo todo en dispositivos autónomos. El nivel físico (PHY) provee el servicio de transmisión de datos sobre el medio físico propiamente dicho, así como la interfaz con la entidad de gestión del nivel físico, por medio de la cual se puede acceder a todos los servicios de gestión del nivel y que mantiene una base de datos con información de redes de área personal relacionadas. De esta forma, PHY controla el transceptor de radiofrecuencia y realiza la selección de canales junto con el control de consumo y de la señal. Opera en una de tres posibles bandas de frecuencia de uso no regulado. 868-868,8 MHz: Europa, permite un canal de comunicación (versión de 2003), extendido a tres en la revisión de 2006. 902-928 MHz: Norte América, hasta diez canales (2003) extendidos a treinta (2006). 2400-2483,5 MHz: uso en todo el mundo, hasta dieciséis canales (2003, 2006). La versión original del estándar, de 2003, especica dos niveles físicos basados en espectro ensanchado por secuencia directa ( direct sequence spread spectrum, DSSS ): uno en las bandas de 868/915 MHz con tasas de 20 y 40 kbps; y otra en la banda de 2450 MHz con hasta 250 kbps. La revisión de 2006 incrementa las tasas de datos máximas de las bandas de 868/915 MHz, que permiten hasta 100 y 250 kbps. Aún más, dene cuatro niveles físicos en base al método de modulación usado. Tres de ellas preservan el mecanismo por DSSS: las bandas de 868/915 MHz, que usan modulación en fase binaria o por cuadratura en oset (oset quadrature phase shift keying, ésta segunda opcional). En la banda de 2450 MHz se usa esta segunda técnica. Adicionalmente, se dene una combinación opcional de modulación binaria y en amplitud para las bandas de menor frecuencia, basadas por lo tanto en una difusión de espectro paralela, no secuencial ( PSSS ). Si se usan estas bandas de menor frecuencia, se puede cambiar dinámicamente el nivel físico usado entre aquellos soportados. El control de acceso al medio (MAC) transmite tramas MAC usando para ello el canal físico. Además del servicio de datos, ofrece un interfaz de control y regula el acceso al canal físico y al balizado de la red. También controla la validación de las tramas y las asociaciones entre nodos, y garantiza slots de tiempo. Por último, ofrece puntos de enganche para servicios seguros. El estándar no dene niveles superiores ni subcapas de interoperabilidad. Existen extensiones, como la especicación de ZigBee, que complementan al estándar en la propuesta de soluciones completas. Modelado de la red El estándar dene dos tipos de nodo en la red. El primero es el dispositivo de funcionalidad completa ( full-function device, FFD). Puede funcionar como coordinador de una red de área personal (PAN) o como un nodo normal. Implementa un modelo general de comunicación que le permite establecer un intercambio con cualquier otro dispositivo. Puede, además, encaminar mensajes, en cuyo caso se le denomina coordinador (coordinador de la PAN si es el responsable de toda la red y no sólo de su entorno). reduced-function device, RFD). Se Contrapuestos a éstos están los dispositivos de funcionalidad reducida ( plantean como dispositivos muy sencillos con recursos y necesidades de comunicación muy limitadas. Por ello, sólo pueden comunicarse con FFD y nunca pueden ser coordinadores. Las redes de nodos pueden construirse como redes punto a punto o en estrella. En cualquier caso, toda red necesita al menos un FFD que actúe como su coordinador. Las redes están compuestas por grupos de dispositivos separados por distancias sucientemente reducidas; cada dispositivo posee un identicador único de 64 bits, aunque si se dan ciertas condiciones de entorno en éste pueden utilizarse identicadores cortos de 16 bits. Probablemente éstos se utilizarán dentro del dominio de cada PAN separada. Las redes punto a punto pueden formar patrones arbitrarios de conexionado, y su extensión está limitada únicamente por la distancia existente entre cada par de nodos. Forman la base de redes ad hoc auto-organizativas. El estándar no dene un nivel de red, por lo que no se soportan funciones de routing de forma directa, aunque si dicho nivel se añade pueden realizarse comunicaciones en varios saltos. Pueden imponerse otras restricciones topológicas; en concreto, el estándar menciona el árbol de clústeres como una estructura que aprovecha que los RFD's sólo pueden conectarse con un FFD al tiempo para formar redes en las que los RFD's son siempre hojas del árbol, y donde la mayoría de los nodos son FFD's. Puede relajarse la estructura para formar redes en malla genéricas, cuyos nodos sean árboles de clústeres con un coordinador local para cada cluster, junto con un coordinador global. También pueden formarse redes en estrella, en las que el 45 2.2 Tecnologías asociadas coordinador va a ser siempre el nodo central. Una red así se forma cuando un FFD decide crear su PAN y se nombra a sí mismo coordinador, tras elegir un identicador de PAN único. Tras ello, otros dispositivos pueden unirse a una red totalmente independiente del resto de redes en estrella. Arquitectura de transporte de datos Las tramas son la unidad básica de transporte. Hay cuatro tipos distintos (de datos, de sincronización, balizas y de control MAC), que constituyen un compromiso razonable entre sencillez y robustez. Puede usarse, además, una estructura de supertramas denida por el coordinador, en cuyo caso éstas están comprendidas entre dos balizas y proveen sincronización e información de conguración a otros dispositivos. Una supertrama está formada por dieciséis slots de igual capacidad, que pueden dividirse en una parte activa y otra pasiva, en la que el coordinador puede ahorrar energía ya que no tendrá que realizar labores de control. La contención se da entre los límites de la supertrama y se resuelve por medio de CSMA/CA. Toda transmisión debe nalizar antes de la llegada de la segunda baliza. Como ya se ha indicado, una aplicación que tenga unas necesidades de ancho de banda bien denidas puede utilizar hasta siete dominios de uno o más slots garantizados, sin contención, en la parte nal de la supertrama. La primera parte debe ser suciente para dar servicio a la estructura de red y sus dispositivos. Las supertramas suelen usarse cuando hay dispositivos de baja latencia, que deben mantener sus asociaciones incluso ante periodos extendidos de inactividad. La transferencia de datos requiere una fase de sincronización por balizas, si están en uso, seguida por una transmisión con CSMA/CA (utilizando slots si se usan supertramas) con conrmación. Las transferencias iniciadas por el coordinador suelen atender a peticiones de los dispositivos. Éstas se producen utilizando las balizas, si se utilizan. El coordinador conrma la petición y manda la información en paquetes, que los dispositivos conrman. Si no se utilizan supertramas el proceso es el mismo, sólo que no hay balizas que puedan mantener listas de mensajes pendientes. Las redes punto a punto pueden usar CSMA/CA sin slots o mecanismos de sincronización; en este último caso, dos dispositivos cualesquiera pueden comunicarse, mientras que si la red es más estructurada uno de los dispositivos debe ser el coordinador. En general, el modelo sigue un patrón de clasicación de las primitivas en petición-conrmación/indicación-respuesta. Fiabilidad y seguridad El medio físico es un recurso al que se accede utilizando CSMA/CA. Las redes que no utilizan métodos balizado hacen uso de una variación del mismo basada en la escucha del medio, balanceada por un algoritmo de backo exponencial aleatorio, salvo en el caso de las conrmaciones. Las transmisiones de datos típicas utilizan slots no reservados cuando se utilizan balizas; de nuevo, la excepción son las conrmaciones. Estos mensajes de conrmación pueden ser opcionales en algunos casos; en ellos, se realiza un supuesto de éxito. En cualquier caso, si un dispositivo es incapaz de procesar una trama en un momento dado, no conrma su recepción. Pueden realizarse reintentos basados en temporizador un cierto número de veces, tras lo cual se decide si seguir intentándolo o dar error de transmisión. El entorno de funcionamiento previsto para este tipo de redes exige que se maximice la vida de la fuente de energía (baterías, posiblemente), por lo que se favorecen los protocolos que conducen a estos nes. Para ello, se programan comprobaciones periódicas de mensajes pendientes, más o menos frecuentes según la aplicación concreta. En lo que respecta a seguridad en las comunicaciones, el subnivel MAC ofrece funcionalidades que los niveles superiores pueden utilizar para lograr alcanzar el nivel de seguridad deseado. Estos niveles pueden especicar claves simétricas para proteger los datos y restringir éstos a un grupo de dispositivos o a un enlace punto a punto. Estos grupos se especican en listas de control de freshness check ) acceso. Además, MAC realiza comprobaciones de frescura ( entre recepciones sucesivas para asegurar que las tramas viejas, cuyo contenido no se considera útil o válido ya, no trascienden a los niveles superiores. Adicionalmente, existe un modo MAC inseguro que permite el uso de listas de control de acceso únicamente como mecanismo de decisión de aceptación de tramas en base a su (supuesto) origen. 2.2.3. DTSN DTSN son las siglas de Distributed Transport for Sensor Networks [33]. DTSN es un protocolo de transporte especialmente diseñado para funcionar en redes inalámbricas de sensores. DTSN es la capa de transporte que se utilizará en los desarrollos de este proyecto. Por esta razón es oportuno describir sus características principales y su funcionamiento para que pueda comprenderse las 46 2.2 Tecnologías asociadas razones de utilizar DTSN para el proyecto y así como la forma de interactuar con él. Características de DTSN Algunas de sus propiedades más notables son : El transmisor controla completamente el proceso de recuperación de errores para minimizar la tara asociada con los paquetes de control y datos. Algoritmo de recuperación de errores basado en Repetición Selectiva ARQ usando tanto conrmaciones de entrega positivas (ACK) como negativas (NACK). Fiabilidad gradual. DTSN puede usarse como un protocolo able (cómo es por ejemplo TCP) o bien como un protocolo parcialmente able. Mediante una serie de parámetros se puede controlar cómo de able queremos que sea el protocolo. Entre ellos se incluye la integración inteligente de un búer parcial en el transmisor. En nuestro caso sólo trabajaremos con la versión completamente able. Los paquetes de datos se guardan en una memoria caché en los nodos intermedios, ya que el modelo de transporte able orientado estrictamente extremo a extremo tipo TCP, muy usado en redes de banda ancha, provoca ineciencias en los escenarios de redes inalámbricas de sensores. Los nodos intermedios pueden interceptar los NACK y realizar ellos mismos las retransmisiones de los paquetes que tienen en su memoria caché, y modicar los NACK para que el transmisor sólo deba retransmitir aquellos paquetes que no estaban en la memoria caché de ningún nodo intermedio. Además, DTSN es compatible con mecanismos de segmentación/fragmentación de las unidades de datos de la capa superior. De esta forma DTSN permite trabajar con la captación de imágenes o audio. DTSN relega la implementación de la segmentación en las capas superiores, y el tamaño del los paquetes depende de cada aplicación. Para mejorar el rendimiento, en la capa de enrutamiento se exigen muy pocos requisitos para la estabilidad de los rutas, que son establecidas bidireccionalmente para poder aprovechar el mecanismo de cachés en los nodos intermedios de una ruta. Para nuestro trabajo asumiremos que cada nodo tiene una dirección individual, si bien DTSN podría adaptarse para operar sobre arquitecturas conducidas por datos como Directed Diusion [45] en las que las relaciones entre la fuente y el sumidero se identican por otros medios que no son un direccionamiento individual de cada nodo. Funcionamiento de DTSN En DTSN una sesión es una relación unívoca entre una fuente y un destinatario. Se identica por <dirección fuente,dirección destinatario, identificador de aplicación, número de sesión>. Las sesiones no requieren un proceso previo de conexión o conguración, sino que se crean de la tupla una manera natural tanto en la fuente como en el destinatario en el momento en el que el primer paquete de una sesión se procesa, y terminan cuando expira un temporizador de actividad (siempre y cuando no se ha detectado actividad en un cierto periodo de tiempo y no hay conrmaciones de entrega pendientes). Los números de sesión se eligen aleatoriamente, de tal forma que se pueda distinguir sin ambigüedad una sesión de otra sucesiva entre la misma fuente y destinatario. En una sesión en concreto, los paquetes se numeran secuencialmente. En el transmisor existe una ventana de conrmación (AW) denida como el número de paquetes que la fuente transmite entre cada petición de conrmación (petición de conrmación explícita, EAR). Su tamaño depende de cada escenario en concreto, y es congurable. Las aplicaciones que requieren tasas de transferencia bajas con consumo bajo de energía, pueden ahorrar paquetes de control si seleccionan un tamaño de AW constante igual al mínimo entre el búer de salida y el tamaño de los paquetes de datos de aplicación que la capa superior pretende enviar. Por otro lado, si se requiere una tasa de transferencia máxima, la AW podría establecerse a valores pequeños, como la mitad del búer de salida, y de esta forma la fuente sería capaz de liberar el búer de salida más frecuentemente y el destinatario podría recuperar los segmentos perdidos más rápido. El control de las conrmaciones de entrega se hace en la fuente para permitir que el compromiso entre la tara de datos de control y administración de la conexión, y velocidad para recuperar la pérdida de paquetes sea especíco de la capa de aplicación. El Algoritmo 2.1 describe el proceso de administración de las sesiones de DTSN. La fuente transmite cada paquete que la capa de aplicación le pasa, almacenándolo en el búer de salida, de manera que pueda 47 2.2 Tecnologías asociadas Algoritmo 2.1 Administración de sesiones de DTSN en la fuente. Tomado de [33] retransmitirse más tarde si es necesario. Cuando se han transmitido un número de paquetes igual a la AW, cuando el búer de salida está lleno, o cuando la capa de aplicación no ha pasado ningún paquete durante un tiempo predenido, la fuente pide una conrmación de entrega al destinatario a través de un piggybacked ). Sería EAR. El EAR puede aparecer en forma de un bit ag en el último paquete de datos ( el caso de una petición de conrmación debido a que la AW o el búer de salida se han llenado. También puede aparecer como un paquete independiente. Este último sería el caso en el que el temporizador de un EAR expira. Cada vez que se recibe una conrmación (ACK ó NACK) la fuente libera el búer de salida de los paquetes que han sido entregados. La recepción de un ACK signica que no hay huecos en la secuencia de paquetes enviada antes del número de secuencia indicado por el EAR que pidió el ACK. Por otro lado, un NACK incluye una lista de huecos en la secuencia de paquetes recibidos en el destinatario, así como el siguiente número de secuencia esperado. Su recepción provoca que la fuente retransmita los paquetes de datos que no se entregaron correctamente. Dichos paquetes se retransmiten con un ag de retransmisión RTx activado en la cabecera. Tras cada retransmisión se envía un EAR, que puede ir incluido en el último paquete retransmitido ( piggybacked). Durante este trabajo se ha utilizado una implementación de DTSN realizada para TinyOS [31]. Los valores de los parámetros utilizados han sido escogidos para que no supusieran limitaciones generación de congestión en los nodos, limitación de las ventanas de transmisión/recepción, etc.) a la hora de evaluar los protocolos y estrategias descritos en el Capítulo 4. 2.2.4. DSDV DSDV son las siglas de Destination-Sequenced Distance Vector [32]. Se trata de un protocolo de enrutamiento concebido para funcionar en redes inalámbricas móviles ad-hoc. Está basado en el conocido algoritmo de Bellman-Ford [34]. Fue desarrollado por C. Perkins y P.Bhagwat en 1994, y aunque en la actualidad está un poco obsoleto, para el desarrollo de este trabajo su calidad y rendimiento es más que suciente. Muchos de los algoritmos modernos usados para el enrutamiento en redes inalámbricas de sensores están basados en DSDV. 48 2.2 Tecnologías asociadas La principal contribución de DSDV fue la resolución del clásico problema de bucles en protocolos de enrutamiento. DSDV, como otros algoritmos de enrutamiento, se basa en tablas de enrutamiento. Cada entrada de la tabla de enrutamiento contiene un numero de secuencia. Normalmente, los números de secuencia son pares si el enlace al que hacen referencia está presente. En caso contrario, se usa un número de secuencia impar. El número se genera en el destino, y el emisor necesita hacer pública cada actualización con este número. La información de enrutamiento se distribuye entre los nodos enviando con muy poca frecuencia toda la información que poseen (que será información muy obsolet(a) y, al contrario, enviando con mucha frecuencia pequeñas actualizaciones incrementales. Cuando un enrutador recibe nueva información, utiliza el último número de secuencia recibido. Si el nuevo número de secuencia recibido es el mismo que el que ya se tenía en la tabla, la ruta con la mejor métrica será la que pasará a usarse. Se entenderán como obsoletas aquellas entradas de la tabla que no han sido actualizadas durante un periodo dado de tiempo. Tales entradas, así como las rutas usadas en cada nodo y sus saltos siguientes se eliminarán de la tabla. DSDV fue uno de los primeros algoritmos de enrutamiento disponibles para redes móviles ad-hoc. Es bastante conveniente para crear redes ad-hoc con un número pequeño de nodos. Ya que no existe una especicación formal de este algoritmos, no existe tampoco ninguna implementación comercial. Muchos formas mejoradas del algoritmo han sido sugeridas [35]. Algunas de las desventajas principales de DSDV son que requiere una actualización regular de sus tablas, lo que conlleva un uso de la batería y de ancho de banda incluso cuando no existe tráco efectivo de datos en la red. Cuando la topología de la red cambia, se necesita un nuevo número de secuencia antes de que el algoritmo reconverga con la nueva topología. Por tanto DSDV no es, en general útil para redes inalámbricas extremadamente dinámicas. Al igual que en todos los protocolos de enrutamiento de vectores de distancia, en las áreas de la red donde no se producen cambios en la topología no se ven perturbadas por estos cambios. Mientras que DSDV no parece ser muy usado hoy día, otros protocolos han aprovechado técnicas similares para su funcionamiento principal. El protocolo de vector de distancia secuenciado más extendido es AODV [36], el cual, por virtud de ser un protocolo reactivo, puede usar secuencias heurísticas más simples. Babel [35] es un protocolo más moderno que pretende hacer DSDV más robusto, más eciente y aplicable a una gama más amplia de escenarios, manteniendo la premisas de los protocolos proactivos. Aunque podrían usarse protocolos más avanzados como los citados, en este trabajo se usará una implementación de DSDV para TinyOS, por tanto programada en el lenguaje nesC [37]. Se elige este protocolo de enrutamiento por su simplicidad, eciencia y facilidad de uso, ya que el objetivo de este proyecto no es tratar la algorítmica de enrutamiento de las redes. De esta forma podrá comunicarse desde las capas superiores de una manera clara y transparente con unas interfaces bien denidas, de forma que no interera con otros protocolos, estrategias o características del resto de capas. Además, tal como se expone en la Sección 2.3 la operación de DSDV no debe inuir de manera signicativa en los escenarios que se estudian en este trabajo. 2.2.5. TinyOS TinyOS [31] es un sistema operativo especialmente concebido para funcionar en nodos que forman parte de una red inalámbrica de sensores, tal como se viene describiendo en la Sección 2.1. Su nombre puede descomponerse en dos términos, Tiny, que hace referencia a su orientación hacia dispositivos de bajas prestaciones (diminuto en inglés), y OS acrónimo de sistema operativo en inglés. Es un sistema operativo de código abierto basado en componentes para redes de sensores inalámbricas. Está escrito en el lenguaje de programación nesC como un conjunto de tareas y procesos que colaboran entre sí. Está diseñado para incorporar nuevas innovaciones rápidamente y para funcionar bajo las importantes restricciones de memoria que se dan en las redes de sensores. TinyOS está desarrollado por un consorcio liderado por la Universidad de California, Berkley en cooperación con Intel Research y Crossbow Technology, y desde entonces ha crecido hasta convertirse en un gran consorcio internacional, la TinyOS Alliance. Una pieza clave para la programación de los nodos de una red inalámbrica de sensores es usar un modelo de programación basado en eventos [38] para poder soportar las características de concurrencia que estas redes necesitan en sus nodos. Esta característica debe convivir con la escasez de recursos de hardware del nodo, y por tanto surge la cuestión de cómo usar un modelo potente de programación concurrente 49 2.2 Tecnologías asociadas sin perderse en la complejidad de muchas máquinas de estado que se transmiten continuamente eventos. TinyOS, y su lenguaje de programación nesC [37] se centran en estos retos. TinyOS soporta modularidad y programación basada en eventos a través del concepto de components. Un componente contiene funcionalidad relacionada semánticamente, por ejemplo, para manejar una interfaz de radio o para calcular rutas. Tales componentes reúnen la información requerida de estado en un frame, el código del programa para tareas normales, tasks, y controladores de events y commands. Tanto los eventos como los comandos se intercambian entre los diferentes componentes. Los componentes se organizan jerárquicamente, desde los componentes a más bajo nivel cerca del hardware hasta los componentes de más alto nivel que componen en última instancia la aplicación real. Los eventos originados en el hardware pasan hacia arriba desde los componentes de bajo nivel hasta los componentes de altos nivel; los comandos, por otro lado, se pasan desde los componentes de alto nivel hasta los componentes de bajo nivel. Por ejemplo, un componente timer de TinyOS proporciona una versión más abstracta que un simple temporizador de hardware. Es capaz de entender distintos comandos, stop, startPeriodicAt, startOneShotAt entre otros. Además puede lanzar un evento re hacia otro componente, por ejemplo, un componente que lo encapsula sobre un temporizador de hardware. La característica importante a destacar es que, quedándose con el paradigma basado en eventos, tanto los comandos como los controladores de eventos deben ejecutarse en un momento dado y tener previsto el n de su ejecución, es decir, no pueden permanecer ejecutándose mucho tiempo. Se supone que deberían realizar ciclos de trabajo pequeños esporádicos. En particular, los comandos deben evitar bloquear o esperar una cantidad indeterminada de tiempo. Son una simple petición sobre la que alguna tarea de un componente más abajo en la jerarquía tiene que actuar. De manera similar, un controlador de evento sólo abandona la información en el frame de su componente y planea la ejecución de una tarea para más tarde. También puede enviar comandos a otros componentes, o directamente propagar otro evento hacia arriba en la jerarquía. El trabajo computacional real se realiza en las tasks. En TinyOS las tareas también deben de tener un punto inicial y nal, pero la diferencia con los eventos y comandos es que estas pueden interrumpirse por los controladores. La ventaja es doble: no se necesita una administración de la pila, y las tareas son atómicas con respecto a otras tareas. Aún así, por la virtud de ser lanzadas por controladores, las tareas son virtualmente concurrentes entre ellas. El arbitraje entre tareas (varias pueden lanzarse por varios eventos y estar listas para ejecutarse) se realiza mediante un planicador FIFO simple consciente de las restricciones de consumo de potencia del nodo, que apaga el nodo cuando no hay ninguna tarea ejecutándose o esperando. Con las tareas y los controladores debiendo ejecutarse desde un principio y un n, no está claro como un componente podría obtener información de otro componente sobre un comando que invocó allí. Por ejemplo, ¾cómo podría un protocolo ARQ saber a partir del protocolo MAC si un paquete se ha transmitido correctamente o no? La idea es dividir tales tipos de llamadas como una petición, y la información sobre las respuestas en dos fases distintas. En la primera fase se envía el comando, mientras en la segunda se informa explícitamente sobre los resultados de la operación, entregados por un evento completamente separado del comando. Esta aproximación conocida como split-phase programming requiere que cada comando tenga un evento correspondiente que le proporcione los resultados que desea. La aproximación permite la concurrencia bajo las limitaciones de la semántica run-to-completion. Si un comando no necesita ninguna conrmación ni ninguna información resultado de su trabajo, no se requiere que exista un evento que responda a su petición ulteriormente. Tener comandos y eventos es la única manera de interactuar entre los componentes, ya que los frames de los componentes son estructuras privadas de datos, y especialmente cuando se usa programación split-phase, un gran número de comandos y eventos se añaden incluso en un pequeño programa. Por tanto, es necesario algún tipo de abstracción para organizarlos. Un componente puede hacer llamadas a otro componente más bajo jerárquicamente, y recibir eventos de él. Por tanto, los comandos y eventos se convierten en la interfaz de comunicación entre ambos. En algún sentido, cada uno de los dos componentes que se comunican tiene su propia interfaz, denida por los comandos que puede ejecutar, y por los eventos que puede lanzar. El lenguaje de programación nesC formaliza esta intuición permitiendo al programador denir tipos de interfaces que denen los comandos y eventos conjuntamente. Esto permite expresar fácilmente el estilo de programación split-phase indicando en una misma interfaz cada comando con su correspondiente evento. Los componentes pueden entonces proporcionar ciertas interfaces a sus usuarios y utilizar otras interfaces 50 2.2 Tecnologías asociadas de los componentes inferiores. Los componentes del estamento más bajo jerárquicamente y más cercanos al hardware se hacen llamar modules. Estos componentes primitivos pueden combinarse en conguraciones más grandes simplemente conectando las interfaces apropiadas. Para esta conexión, sólo los componentes que tienen los tipos de interfaces correctas pueden conectarse. El compilador se encargará de comprobar que es así. Usando esta denición de los componentes, implementación, y conceptos de conexión, TinyOS y nesC forman juntos una base potente y relativamente fácil de usar para implementar tanto funcionalidades del núcleo del sistema operativo así como pilas de protocolos de comunicación y funciones a nivel de capa de aplicación. La experiencia ha mostrado [37] que, de hecho, los programadores utilizan estos paradigmas y llegan a componentes relativamente pequeños y altamente especializados que se combinan según se necesitan, probando por tanto las características de modularidad de que TinyOS hace gala. Además de ello, el tamaño del código y los requisitos de memoria son bastante pequeños. En general, TinyOS puede verse actualmente como la plataforma estándar de implementación para WSN. También se está incrementando su popularidad en otras plataformas diferentes de las originales motes para las que fue diseñado. En la práctica, la página web del proyecto [31] proporciona una cantidad enorme de información muy valiosa, incluyendo tutoriales. Encima del sistema operativo TinyOS se han desarrollado una inmensidad de extensiones, protocolos y aplicaciones. Basta con buscar TinyOS en alguno de los motores de búsqueda más famosos para darse cuenta de su envergadura. Durante la realización de este trabajo se utilizaron dos versiones distintas de TinyOS, 2.1.0 y 2.1.1. Esto es debido a que durante la realización del proyecto se publicó la versión más reciente, y se decidió usar ya que supuestamente en ella se habían corregido numerosos errores. 2.2.6. TOSSIM El término TOSSIM [39] proviene de la unión de los términos TinyOS y SIM de simulador. En efecto, TOSSIM es un simulador que está integrado para funcionar con TinyOS y el conjunto de herramientas de desarrollo de que se dispone. TOSSIM simula aplicaciones completas de TinyOS. Funciona reemplazando los componentes con implementaciones para la simulación. El nivel al cual los componentes son reemplazados es muy exible, y depende del nivel de delidad que deseemos. Puede simularse hasta niveles muy bajos de abstracción, que simulan el funcionamiento de algunos chips con los que se puede interactuar desde la aplicación. De manera similar TOSSIM puede reemplazar un componente a nivel de comunicación de paquetes para realizar una simulación a nivel de paquetes, o puede reemplazar un componente a nivel del chip radiomodem para una simulación más precisa del código de ejecución. TOSSIM es un simulador basado en eventos discretos. Cuando se realiza una simulación, se extraen los eventos de una cola de eventos, ordenada por tiempo, y se ejecutan. Dependiendo del nivel de simulación, los eventos pueden representar las interrupciones del hardware o eventos de sistemas a más alto nivel, como la recepción de un paquete. Adicionalmente las tareas son eventos simulados, de manera que la petición de una tarea será atendida unos milisegundos más tarde. TOSSIM es una librería: debe escribirse un programa que congure una simulación y la lleve a cabo. Para programar dicha simulación TOSSIM dispone de dos interfaces, una de ellas en C++ y otra en Python. Python permite interactuar dinámicamente con una simulación durante su ejecución, como un potente depurador de código. Sin embargo, ya que el interprete puede ser un cuello de botella a la hora de obtener resultados de la simulación, TOSSIM también dispone de la interfaz con C++. Normalmente, transformar el código de una a otra es muy simple.En nuestro trabajo se ha utilizado una implementación en Python. TOSSIM no es siempre la herramienta adecuada para la simulación. Como otras herramientas, hace ciertas suposiciones, enfocadas en reproducir ciertos comportamientos de una manera muy exacta mientras que otros se simplican. Una de las preguntas más comunes sobre TOSSIM es si puede simular un determinado modelo, o si dicho modelo es exacto. Con la esperanza de responder la mayoría de estas cuestiones, a continuación se presenta un resumen de las características de TOSSIM. Fidelidad: por defecto, TOSSIM captura el comportamiento de TinyOS en un nivel muy bajo. Simula la red a nivel de bit, y simula cada captura de los convertidores A/D, y cada interrupción del sistema. 51 2.3 Restricciones e hipótesis Tiempo: mientras que TOSSIM temporiza con precisión las interrupciones (permitiendo cosas como simulación de radio a nivel de bit), no modela la ejecución del tiempo. Desde la perspectiva de TOSSIM, una porción del código se ejecuta instantáneamente. El tiempo se mide con una resolución de 4MHz (frecuencia de trabajo de la CPU de las plataformas rene y mic(a). Signica que bucles o tareas que se ejecuten continuamente y esperen la llegada de un instante de tiempo concreto para nalizar, nunca lo harán ya que hasta que no nalice el evento o comando el instante de tiempo será el mismo. Modelos: TOSSIM no modela por sí mismo el mundo real. En su lugar, proporciona abstracciones de ciertos fenómenos del mundo real, tales como los errores de bit. Con herramientas fuera del propio simulador los usuarios pueden manipular estas abstracciones para implementar los modelos que quiere usar. Creando modelos complejos exteriores a la simulación TOSSIM se mantiene exible a las necesidades de muchos usuarios diferentes, así como a los nuevos modelos que puedan desarrollarse en el futuro sin tener que estabilizar qué se considera como un modelo correcto. Además mantiene la simulación simple y eciente. Radio: TOSSIM no modela la propagación en el canal radio. En su lugar proporciona una abstracción de errores de bit independientes entre dos nodos. Un programa externo puede proporcionar el modelo radio deseado y mapearlo a estos errores de bit. Así es como funciona el modelo que se usa para TOSSIM, detallado en la Sección 2.1.4. Por tanto este modelo no tiene que usarse forzosamente, sino que podría implementarse otro modelo que se mapeara sobre los errores de bit. El hecho de tener tasas de error de bit dirigidas signica que la asimetría de los enlaces puede ser modelada fácilmente. Los errores de bit independientes signican que los paquetes más grandes tienen mayor probabilidad de corrupción, y que la probabilidad de pérdida de cada paquete es independiente. Al controlar mapear desde el exterior los errores de bit con un modelo, estos pasan a ser dependientes. Potencia/Energía: TOSSIM permite que los componentes que consumen energía anoten los di- ferentes estados energéticos por los que van pasando y la información relevante de dichos estados. Tras la simulación, el usuario puede aplicar un modelo de consumo de energía a estas transiciones, calculando la energía total consumida u otros parámetro. Compilación: TOSSIM se compila directamente desde el código de TinyOS. Para simular un protocolo o un sistema, se debe escribir una implementación en TinyOS real de dicho sistema. Por un lado, suele ser más difícil que una simulación abstracta, pero por otro lado signica que se puede usar la implementación simulada para funcionar directamente en un nodo real. Imperfecciones: aunque TOSSIM captura el comportamiento de TinyOS a muy bajo nivel, hace ciertas suposiciones simplicadas. Esto signica que un código que funciona en TOSSIM podría no funcionar exactamente de la misma manera en un nodo real. Por ejemplo, las interrupciones en TOSSIM son no preventivas, como resultado de ser un simulador de tiempo discreto. En un nodo real, una interrupción puede activarse mientras que otro fragmento de código se está ejecutando. Además, si en un nodo real los gestores de interrupciones están atendiendo una interrupción largos periodos de tiempo el nodo podría fallar. De acuerdo con estas características, y a pesar de las imperfecciones que pueda presentar TOSSIM, se estimó que era la mejor solución para las simulaciones que se pretendían realizar en este proyecto. En especial, su precisión al simular la red a nivel de bit. 2.3. Restricciones e hipótesis Comienza diciendo: Las restricciones e hipótesis con las que se ha trabajado a lo largo del estudio objeto de este proyecto son las siguientes: Todos los nodos de la red implementan DSDV. El tráco generado por DSDV es despreciable comparado con el ujo de datos de aplicación. Las rutas ya están correctamente establecidas y el algoritmo ha convergido cuando se comienza a transmitir a nivel de capa de aplicación. Todos los nodos implementan DTSN, sean o no fuentes o destinatarios nales de datos. En particular los nodos intermedios tienen caché para aplicar las mejoras de eciencia de DTSN. 52 2.3 El tamaño de ventana de DTSN no causa congestión. El canal es ruidoso y con interferencias 53 Restricciones e hipótesis Capítulo 3. Metodología de trabajo En este Capítulo se describe la metodología, fases y planicación del proyecto. El Capítulo está organizado de la siguiente manera. En la Sección 3.1 se citan los recursos humanos, de software y de hardware asociados al proyecto así como una estimación de sus costes. En la Sección 3.2 se describen las distintas fases por las que ha pasado el proyecto, así como los costes asociados a cada una de las tareas y un diagrama de Gantt donde se puede observar la evolución temporal del proyecto. 3.1. Recursos y costes En esta sección se describirán todos los recursos que serán empleados durante el desarrollo del proyecto. Los recursos podrán ser de tres tipos: humanos, software o hardware. Recursos humanos D. Gabriel Maciá Fernández, profesor del Departamento de Teoría de la señal, Telemática y Co- municaciones de la Universidad de Granada, como tutor del proyecto. D. António Grilo, investigador de INOV de Lisboa, Portugal, como colaborador del proyecto. D. Jose Francisco Mingorance Puga, alumno de la Escuela Técnica Superior de Ingenierías In- formática y de Telecomunicación de la Universidad de Granada en la titulación de Ingeniería de Telecomunicación, que será el encargado de realizar el proyecto siguiendo las directrices denidas por el tutor del mismo. Recursos software Sistema operativo Ubuntu Linux (versiones 9.04, 9.10 y 10.04). La versión se fue actualizando conforme avanzó el proyecto Software de simulación TOSSIM descrito en la Sección 2.2.6. Sistema Operativo (código fuente y herramientas) MATLAB TinyOS descrito en la Sección 2.2.5. (versiones 2009b y 2010a) para el procesamiento de los resultados de las simulaciones y la generación de grácos. Procesador de documentos Lyx [46] para la redacción de este proyecto, de informes entre los parti- cipantes del proyecto así como de las publicaciones derivadas del mismo. Editor de texto GeAny [47] v0.18.1 con funciones básicas de IDE de programación. Se utilizó para trabajar con código fuente nesC y Python simultáneamente. Herramienta de creación de grácos vectoriales del proyecto y retocar las guras. 55 Inkscape [48]. Se utilizó para crear los diagramas 3.2 Planicación Nombre Costes de recursos Tipo de recurso Detalles Coste Jose Francisco Mingorance Puga Recursos Humanos [email protected] 30¿/h Gabriel Maciá Fernández Recursos Humanos [email protected] 50¿/h Antonio Grilo Recursos Humanos [email protected] 50¿/h Tabla 3.1: Costes de recursos para la realización del proyecto Herramienta de administración de proyectos Planner. Intérprete de Python para Unix (versión 2.6) para la ejecución de los scripts de simulación. Compilador de C para Unix (versión 4.4.3) para la compilación del código fuente de TinyOS (a través de nesC) con las implementaciones de las soluciones. Recursos hardware Ordenador portatil Fujitsu-Siemens con procesador Intel Core 2 Duo y 2 GB de memoria RAM. Ordenador portatil Asus con procesador Intel Atom N270 y 1 GB de memoria RAM. Costes Dado que el software utilizado es en su mayoría software libre, éste no presenta un coste signicante para el proyecto. El hardware que se utilizó ya se poseía con mucha anterioridad a la realización del proyecto por lo que no se considera que fuera un gasto del proyecto. Sin embargo, los recursos humanos superan notablemente en coste a los recursos de software y hardware, por lo que estos últimos se considerarán despreciables frente a los primeros, considerándose por tanto sólo los costes de recursos humanos, descritos en la Tabla 3.1. 3.2. Planicación En la Tabla 3.2 se muestra la lista de tareas por las que ha ido pasando el proyecto. Asimismo se indican las fechas de inicio y nalización de cada tarea. También se muestran los costes. Los costes han sido calculados en base al uso de los recursos de la Tabla 3.1 y los costes especicados para dichos recursos. A cada uno de los participantes se le asigna una cantidad de trabajo de 4h/día de trabajo. Por tanto, para las fases en las que trabaja más de un participante, los costes de cada uno de ellos se suma. Nótese que las tareas indicadas fases indicadas en la Tabla 3.2 están ordenadas por fecha de inicio pero no por fecha de n. En la Tabla 3.1 se indican los recursos utilizados para este proyecto así como sus costes. Cómo se observa, los recursos han sido básicamente recursos humanos, cuyos costes en comparación con el resto de herramientas usadas son muy elevados. A continuación se detallan las tareas realizadas en las fases más relevantes del proyecto citadas en la Tabla 3.2: Investigar estado del arte WSN Durante esta fase se estudiaron las soluciones actuales y tecnologías punteras en el campo de las WSN y WMSN. Se concluyó que algunos trabajos e investigaciones habían trabajado sobre transmisión multimedia en WSN, pero centrados desde la capa de enlace o capa física, por lo que se decidió innovar en capa de transporte, tal como se detalla en la Sección 1.7. Búsqueda de soluciones de ideas con Gabriel Maciá y Antonio Grilo Durante el desarrollo de este proyecto, además de participar su autor y el director del proyecto, también se colaboró con el profesor Antonio Grilo perteneciente al INOV de Lisboa. La comunicación del equipo se realizaba por email o videoconferencia en el caso de que Antonio Grilo participara, y presencialmente por email o por teléfono en caso de que no fuera así. Intercambiamos información sobre los avances del proyecto, resultados en qué centrarnos, nuevas ideas, o cualquier asunto concerniente al proyecto. 56 3.2 Nombre Planicación Fases del proyecto Inicio Finalización Coste (¿) Participantes 1 Investigar estado del arte WSN Sep 15 Oct 5 1 500 JM 2 Reunión Gabriel, Jose y Antonio Sep 15 Sep 15 140 JM, GM, AG 3 Búsqueda de soluciones Sep 15 Nov 9 5 600 JM, GM, AG 4 Instalar y congurar TinyOS Oct 9 Nov 5 2 000 JM 5 Compilar DTSN Nov 6 Nov 16 910 JM, AG 6 Testear DTSN Nov 19 Dic 9 1 500 JM JM 7 Diseño M-DTSN Dic 10 Ene 13 2 500 8 Implementación M-DTSN Ene 14 Feb 3 1 500 JM 9 Denir experimentos M-DTSN Feb 5 Feb 15 980 JM, GM, AG 10 Realizar Experimentos M-DTSN Feb 17 Mar 9 1 500 JM 11 Escribir paper M-DTSN Mar 11 Abr 7 2 800 JM, GM, AG 12 Estudiar resultados M-DTSN Mar 12 Mar 18 1 400 JM, GM, AG 13 Concepción de AM-DTSN Mar 22 Mar 26 650 JM, GM 14 Diseño de AM-DTSN Mar 29 Apr 9 1 000 J.M. 15 Implementación AM-DTSN Abr 12 Apr 21 800 J.M. 16 Experimentos AM-DTSN Abr 23 May 6 1 000 J.M. 17 Mejoras AM-DTSN May 10 May 21 1 000 J.M. 18 Redactar Proyecto May 3 Jun 25 4 000 J.M. 19 Rediseño AM-DTSN May 24 May 26 390 J.M., G.M. 20 Experimentos nales AM-DTSN May 28 Jun 3 500 J.M. 21 Conferencia NGI 2010 Jun 1 Jun 5 2 250 J.M., G.M Total 8 meses de duración 33 570 ¿ Tabla 3.2: Tareas para la realización del proyecto Instalar y congurar TinyOS y DTSN Fue una fase inicial de trabajo duro y recopilación de infor- mación técnica. La instalación, conguración y sobre todo familiarización con el entorno de trabajo y características peculiares de TinyOS supuso un reto. Una vez tomado el contacto con TinyOS la puesta a punto de DTSN y DSDV también presentó ciertas dicultades. La implementación original estaba hecha para una versión particular de TinyOS y hubo que realizar algunas modicaciones técnicas sobre ella para conseguir su compilación y funcionamiento correcto. También se hizo un gran trabajo en el aprendizaje del entorno de simulación TOSSIM. M-DTSN Durante estas fases se llevó a cabo todo el trabajo sobre M-DTSN. Además de diseñarse e implementarse, hubo que resolver contratiempos en la implementación, planicar baterías de experimentos, implementar algoritmos para el análisis de resultados y automatización de simulaciones, entre otros. Esta fase concluyó con el envío del paper Ecient Multimedia Transmission in Wireless Sensor Networks. AM-DTSN AM-DTSN tuvo una concepción inspirada en mejorar los resultados de M-DTSN. Durante su diseño, se estableció una aproximación inicial que tras probar experimentalmente fue modicada, pasando por una nueva fase de rediseño. Redacción del Proyecto En algún sentido la tarea más laboriosa al realizarse al nal del tiempo pla- nicado. Presenta más restricciones que las anteriores en cuestiones de tiempo y espacio. Sintetizar en tan poco el trabajo de tanto tiempo no resulta fácil. Presentación de M-DTSN en NGI 2010 La conferencia NGI 2010 acogió la presentación del paper. Se celebró en París los días 2, 3 y 4 de Junio, siendo la presentación de el trabajo de M-DTSN el día 3 de Junio. En la Figura 3.1 en la página siguiente se muestra un diagrama de Gantt indicando la evolución temporal del proyecto. 57 3.2 Planicación Figura 3.1: Diagrama de Gantt A la derecha de los nombres de las fases se muestran la duración en días de los intervalos e tiempo de cada de dichas fases. 58 Capítulo 4. Descripción de la solución Este capítulo es probablemente el núcleo de este trabajo, ya que en él se presentan las soluciones propuestas al problema que hasta este Capítulo se viene planteando. El capítulo se encuentra organizado en dos secciones. En la Sección 4.1 se describen las características y funcionamiento del protocolo M-DTSN. Se invita al lector a que primero aborde este apartado para después pasar a 4.2. La razón es que ambos están ligados, y aunque algunas de las ideas que plantean divergen un poco, ambos tienen objetivos muy similares, y le será más fácil al lector entender el comportamiento de AM-DTSN si de forma progresiva comienza por M-DTSN, de índole más simple. 4.1. Descripción de M-DTSN M-DTSN, Multimedia-DTSN, es un protocolo de transporte orientado a la transmisión de datos con restricciones temporales, como por ejemplo la transmisión de audio y vídeo en tiempo real. Ha sido especialmente diseñado para funcionar en redes inalámbricas de sensores. 4.1.1. Características M-DTSN ha sido concebido para funcionar sobre un protocolo de transporte able. M-DTSN se construye a partir de DTSN, añadiendo una capa adicional entre DTSN y la capa de aplicación, tal como se muestra de manera esquemática en la Figura 4.1. Esta construcción modular proporciona una gran exibilidad, ya que M-DTSN podría construirse sobre otros protocolos de transporte ables. Asimismo, sería posible construir M-DTSN sobre protocolos de transporte no ables, si bien en este caso habría que considerar muchos aspectos hasta ahora no tratados. Además de por estas razones, en la Sección 1.7 se exponen otros argumentos y se aportan varias referencias y justicaciones del por qué usar un protocolo de transporte able, y en particular uno con Figura 4.1: Esquema de la pila de protocolos usados en M-DTSN 59 4.1 Descripción de M-DTSN Capa de aplicaciónque desea transmitir información multimedia en tiempo real Capa de aplicaciónque desea transmitir información multimedia en tiempo real Información Multimedia + Información Multimedia Restricciones temporales M-DTSN Capa de transporte para datos genéricos Figura 4.2: Esquema que compara la información que la capa de aplicación entrega tradicionalmente a la capa de transporte para datos genéricos y la información que la capa de aplicación entrega a M-DTSN. las características de DTSN. Por ello de aquí en adelante se supondrá que M-DTSN funciona sobre un protocolo de transporte able, DTSN. M-DTSN proporciona a la capa de aplicación una interfaz a través de la cuál la dicha capa entrega a M-DTSN los datos multimedia que desea transmitir, así como cierta información sobre las restricciones temporales asociadas a dichos datos multimedia. De esta forma, basándose en la información de que dispone M-DTSN, va transmitiendo al receptor a través de DTSN la información multimedia de la forma más eciente que es capaz de conseguir. En este sentido, aparece una diferencia notable en la interfaz entre la aplicación y la capa de transporte respecto a los protocolos que implementan la capa de transporte tradicionalmente, tal como viene descrito esquemáticamente en la Figura 4.2. Normalmente la capa de aplicación sólo entrega a la capa de transporte los datos multimedia que desea transmitir. Y en cualquier caso, es dicha capa la que se encarga de solicitar esa transmisión cuando ella lo desea. Sin embargo, con M-DTSN no basta con entregarle los datos multimedia a la capa de transporte, sino que también debe pasársele un parámetro que caracterice de alguna forma las restricciones temporales asociadas a dichos datos. Por citar un ejemplo, si estuviéramos transmitiendo un ujo de audio y vídeo en tiempo real, la capa de aplicación podría entregar a la capa de transporte M-DTSN el ujo de datos de audio y de vídeo y para cada uno de ellos podría entregarle también una consigna de retardo máximo tolerado así como jitter máximo tolerado. En este caso, dichos valores de retardo y jitter serían diferentes para ambos ujos (audio y vídeo) dada su naturaleza. M-DTSN permite el uso de códigos FEC y de borrado, que vienen descritos brevemente en la Sección 2.2.1. Gracias a los códigos de borrado, una trama que no haya sido completamente transmitida podría ser recuperada en el receptor. Tal como se expone en el Capítulo 5 esta es una característica muy interesante ya que permite a M-DTSN mejorar sus prestaciones sobre protocolos de transporte genéricos aún más. Algunos artículos interesantes como [43] señalan que dicha recuperación puede hacerse a partir de 5/7 del total de la trama cuando se trata de transmisión de ujos de vídeo. 4.1.2. Funcionamiento A continuación se ilustra un ejemplo muy simple en el que se compara el funcionamiento de M-DTSN con el de DTSN y Simple-DTSN (S-DTSN), dos protocolos/estrategias más simples. Nótese que para esta comparativa se hace referencia a DTSN como una estrategia para la transmisión de información multimedia, y no al protocolo de transporte DTSN en sí, descrito en la Sección 2.2.3. A través de este ejemplo se puede introducir más fácilmente al funcionamiento de M-DTSN que será descrito formalmente más tarde. En la Figura 4.3 se presentan las tres estrategias diferentes, M-DTSN, DTSN y S-DTSN. En el eje horizontal se representa el tiempo. Se han marcado los instantes de tiempo I será a partir de ahora el intervalo de trama. Es decir, I t=0, t=I, t=2I, t=3I donde será el tiempo entre dos capturas de tramas tramas consecutivas en el transmisor. Supondremos que se capturan tramas a una tasa constante de 1/I . s Nótese que en este contexto la palabra trama hace referencia a una trama de datos multimedia. Si se está tratando con un ujo de imágenes cada trama será en realidad una imagen. Si se trabajara con otro tipo de datos multimedia una trama haría referencia a una unidad de datos capturada en cada instante t=kI. El instante t=I es el último instante en el que el receptor debería de recibir la trama 1 completamente 60 4.1 t = 0 Descripción de M-DTSN t = 2I t = I t = 3I Imagen 1 Imagen 2 S-DTSN Imagen 3 Imagen 1 Imagen 2 DTSN Imagen 3 Imagen 1 Imagen 2 M-DTSN Imagen 3 Información no transmitida Información inútil (transmitida) Información útil Figura 4.3: Comparación de M-DTSN, DTSN y S-DTSN durante la transmisión de tres tramas para poder presentarla en una pantalla o un display. Es decir, si en el instante t=I el receptor ha recibido la trama 1 por completo, la presentará en dicho instante, y por tanto toda la información de esa trama será información útil en el receptor. Por el contrario, si en el instante t=I la trama 1 no ha sido completamente recibida, el receptor no presentará dicha trama, y la parte de la trama 1 que se haya recibido antes o después de dicho instante será información completamente inútil. Teniendo en cuenta estas ideas, se describe a continuación qué sucede en cada uno de los 3 casos representados en la Figura 4.3: S-DTSN Esta estrategia ha sido nombrada S-DTSN (Simple-DTSN) por ser la más simple de las 3 estrategias aquí presentadas. En el instante turada. Al llegar el instante t=I t=0, S-DTSN comienza a enviar la trama recién cap- la trama debería de presentarse en el receptor, sin embargo no puede ser así ya que no ha sido completamente recibida. Por tanto, a partir del instante t=I toda la información recibida en el receptor de dicha trama será completamente descartada. Nótese que tanto la información que se recibe después del instante t=I y antes de dicho instante será inútil. Aún así existe una diferencia. La información que se recibía de la trama 1 antes del instante t=I tenía una razón de ser, pues el receptor la interpretaba como información que llegaba a tiempo y podía ser útil, de esta forma, en el momento de llegar al receptor no es descartada, si no más tarde. Sin embargo la información que llega a partir del instante t=I no tiene ninguna razón de ser y será inmediatamente descartada en el receptor, no dándole ninguna posibilidad de ser útil. S-DTSN continúa transmitiendo la imagen hasta que termina la transmisión completa en 2I ≤ t ≤ 3I . vez que termina de transmitir dicha trama, pasa a transmitir la trama siguiente, capturó en t=I y que debería mostrarse en el receptor antes del instante trama 2, Una que se t=2I. Sin embargo, cuando empieza la transmisión de dicha trama ya es demasiado tarde para su recepción, por tanto toda la información subsecuente que se envíe será inútil y descartada en el momento de su llegada al receptor. DTSN Ahora se compara el comportamiento de S-DTSN con DTSN según la Figura 4.3. Cómo se puede trama 1, S-DTSN y DTSN se comportan exactamente igual. Sin emtrama 1, DTSN se comporta de manera diferente a S-DTSN. S-DTSN comenzaba a enviar la trama 2 en el instante en que terminaba de transmitir la trama 1. ver, para la transmisión de la bargo, después de la transmisión de la DTSN se comporta de una manera más inteligente. En el instante en que termina de transmitir la 61 4.1 Descripción de M-DTSN Algoritmo 4.1 Estrategia de transmisión de tramas de M-DTSN k=1; while (true) { if (completadaTransmision(k)==true){ k=k+1; wait(kI-t); continue; } if (t<kI){ continuarTransmitiendo(k); } else{ k=k+1; } } trama 1, 2I ≤ t ≤ 3I , DTSN sabe que intentar transmitir la trama 2 será completamente en vano, t=2I por tanto, en ya que dicha imagen ya debería de haber llegado por completo al receptor en lugar de transmitir la trama siguiente a la que se acaba de transmitir, DTSN comienza a trans- siguiente trama que está esperando el receptor. Por ello, tal como se observa en la trama 1 DTSN ignora la trama 2 y pasa directamente a transmitir la trama 3, ya que es la siguiente trama que el receptor está esperando para t=3I. mitir la gura 4.3, al nalizar la transmisión de la M-DTSN t=0 al igual que DTSN y S-DTSN, trama 1, y también al igual que los dos anteriores, en el instante t=I M-DTSN añade inteligencia sobre DTSN. En el instante M-DTSN comienza a enviar la no ha sido capaz de transmitir toda la trama. Sin embargo, y a diferencia de los dos anteriores, no continúa transmitiendo la trama 1 llegado t=I. En este instante M-DTSN se da cuenta de que no ha sido capaz de transmitir toda la trama a tiempo, y que los datos pertenecientes a dicha trama serán descartados en el receptor. Por tanto en lugar de continuar transmitiendo datos que serán inútiles, M-DTSN detiene la transmisión de la trama 1 y comienza la transmisión de la trama 2. Esta estrategia, en este ejemplo concreto presenta dos ventajas. La primera de ellas es que M-DTSN mejora la eciencia en varios aspectos que se detallarán más tarde, y la segunda es que el hecho de que detenga la transmisión de la trama 1 en el instante t=I le da la oportunidad de comenzar antes que DTSN y S-DTSN la transmisión de la trama 2, y por tanto le da más oportunidades de transmitir exitosamente dicha trama. transmite menos datos inútiles (barra marcada en negro en la gura 4.3) y por lo tanto Además, tal como se describió en la Sección 2.2.3, DTSN envía peticiones de conrmación sólo en unos casos prejados muy concretos, lo que signica que tras completar una trama puede que no se pida una petición explícita de conrmación hasta pasado un cierto tiempo. En este sentido M-DTSN aumenta el rendimiento sobre DTSN al forzar el envío de una petición de conrmación cuando se completa la transmisión de una trama. Si bien con lo descrito anteriormente la estrategia de M-DTSN ha sido ilustrada, el Algoritmo 4.1 t representa el n representa la variable cuya transmisión está en curso, I es el intervalo de trama, completadaTransmision(k) devuelve true si la trama actual ha sido completamente transmitida, y continuarTransmitiendo(k) continúa la transmisión de la trama k durante un cierto periodo de tiempo muy pequeño en comparación con I. escrito en pseudo-código describe el funcionamiento de M-DTSN. En este algoritmo, instante de tiempo actual, 4.1.3. Benecios M-DTSN obtiene un rendimiento y una eciencia mayor a la que obtendría DTSN por sí sólo. Esto queda constatado en los resultados experimentales que se mostrarán en la Sección 5.3. Pero, ¾en qué sentido mejora la eciencia y rendimiento? M-DTSN obtiene una tasa de tramas/s útiles en el receptor superior. 62 4.2 Descripción de AM-DTSN inf ormación enviada por el transmisor inferior simultanea a la tasa de inf ormación util en el receptor tramas útiles superior en el receptor. M-DTSN obtiene una proporción M-DTSN hace que los nodos estén transmitiendo menos tiempo, por tanto están más tiempo dormidos y ahorran recursos energéticos en términos de tiempo de funcionamiento del hardware de transmisión y procesamiento. 4.2. Descripción de AM-DTSN 4.2.1. Motivación Aunque es esperable que la propuesta M-DTSN mejore considerablemente tanto la eciencia como el rendimiento de los sensores y la red en el escenario considerado, cabe preguntarse si un protocolo más elaborado podría alcanzar mejoras aún mayores que las obtenidas por M-DTSN. En este sentido, nuestra propuesta consiste en un protocolo adaptativo que es una evolución de M-DTSN, denominado AM-DTSN. Al igual que M-DTSN, AM-DTSN tiene como objetivo mejorar la eciencia y rendimiento de la transmisión de datos multimedia en tiempo real. AM-DTSN supone una mejora sobre M-DTSN en el sentido de que obtiene los mismos benecios que el anterior y otros adicionales. Además, AM-DTSN permite cierta congurabilidad, que viene descrita en la Sección 4.2.6. Con M-DTSN se consigue maximizar la proporción de tramas útiles/s en el receptor así como mi- inf ormación enviada por el transmisor . Ahora bien, cabría preguntarse, ¾cómo podemos inf ormación util en el receptor inf ormación enviada por el transmisor mejorar aún más la eciencia? Al minimizar el cociente es obvio que inf ormación util en el receptor estamos mejorando la eciencia, pero no existe implícitamente una reducción de la de nimizar la relación cantidad real información que se está enviando. En este sentido la cantidad de información real hace referencia a la cantidad total de datos transmitidos, sean útiles o no, que se deben enviar para conseguir un determinado rendimiento de tramas/s útiles en el receptor. Dado que la cantidad real de información que se transmite es realmente el factor que inuye de manera directa en el consumo de batería y recursos, tanto de los nodos directamente implicados en la transmisión como de la red que presta el servicio de transporte, parece lógico no sólo tratar de reducir la proporción de información inútil que se transmite respecto la útil, sino la cantidad real de información que se transmite. Como se podrá comprobar en los resultados experimentales mostrados en la Sección 5.4, AM-DTSN es capaz de maximizar la tasa de tramas/s útiles en el receptor, minimizando ligeramente la proporción de datos inútiles respecto datos útiles transmitidos, y de información transmitida. reduciendo notablemente la cantidad total 4.2.2. Funcionamiento general AM-DTSN usa una estrategia basada en la predicción temprana de si la transmisión de una trama llegará a tiempo al receptor o no. Basándose en esta predicción, AM-DTSN detiene la transmisión prematuramente si cree que no se va a completar exitosamente, o bien continúa enviando la trama si cree que se va a realizar correctamente la transmisión. Partiendo de este razonamiento, hay dos preguntas clave que describen el funcionamiento de AMDTSN: 1. ¾Cuando se toma la decisión de detener la transmisión de una trama? 2. ¾En qué basarse para decidir si la transmisión será exitosa o no? A continuación se introducen una serie de deniciones que ayudarán a dar respuesta a estas preguntas. Numeración de tramas: se numerarán las tramas que se transmiten consecutivamente, y dicha numeración se designará con la variable k. Por tanto, el periodo de tiempo correspondiente a la trama k es tal que (k − 1) I ≤ t < kI con k ∈ N donde I es el intervalo de imagen, y t (4.1) 1≤k es el tiempo. El receptor podrá transmitir la trama k tanto contribuir como datos útiles si dicha trama se ha recibido completamente antes del instante 63 y por t < kI . 4.2 Descripción de AM-DTSN t=0 t=I n=1 n=3 n=2 N=4 n=1 n=4 Trama k=1 n=3 n=2 t=3I t=2I n=1 n=4 n=2 n=3 n=4 Trama k=3 Trama k=2 Figura 4.4: Representación esquemática de la división de tramas y subintervalos de AM-DTSN Téngase en cuenta que los datos multimedia de la trama al instante de tiempo t = (k − 1) · I k en el transmisor son datos correspondientes o posteriores, pero no pueden corresponder a datos anteriores. Numeración de subintervalos: supóngase ahora que se divide el intervalo de trama I tervalos, de forma que cada uno de los subintervalos tiene una duración de el subintervalo n de la trama k I N segundos en N subin- . De esta forma, será el periodo de tiempo tal que h ni (n − 1) ·I · I ≤ t < (k − 1) + (k − 1) + N N con n ∈ N (4.2) 1≤n≤N En la Figura 4.4 se ha representado esquemáticamente la división del ujo multimedia en tramas y cada trama en subintervalos, para un valor de N = 4, que puede claricar lo descrito mediante las inecuaciones (4.1) y (4.2). Inicio de monitorización: se dene también una variable de control del algoritmo de AM-DTSN IM (inicio de monitorización). El valor de esta variable indica el número de subintervalo a partir como del cual AM-DTSN monitorizará la transmisión de la trama actual. Por tanto 1 ≤ IM ≤ N con n ∈ N. El signicado exacto se aclarará más adelante. Umbrales: se denominará umbral(n) al porcentaje mínimo de transmisión de una trama que debe n para que AM-DTSN estime que dicha transmisión será umbral(3) =20 %, cuando AM-DTSN monitorice la transmisión al nal del subin- haberse completado al nal del subintervalo exitosa. Por ejemplo, si tervalo 3, comparará el porcentaje de la trama ya transmitido con 20 %, y tomará una decisión si el porcentaje es mayor o igual al 20 % u otra diferente si es menor. El número de umbrales es igual al número de subintervalos menos uno, N-1. Esto es así porque al nal del subintervalo n=N salvo que se diga explícitamente lo contrario, se requerirá una transmisión del 100 % para considerar que la transmisión ha sido exitosa. Por lo tanto dicho umbral(10) no variará durante la operación de AM-DTSN. Una vez entendidas, al menos de manera teórica, estas deniciones, puede pasarse a explicar el funcionamiento de AM-DTSN. Primero se describirá mediante un ejemplo genérico, y más tarde será denido de manera más formal. Ejemplo de actuación de AM-DTSN k. Asimismo, se ha dividido cada n. En el instante t=0, AM-DTSN comienza a transmitir la primera trama, k=1. Cuando se agota el tiempo del primer subintervalo, n=1, AM-DTSN comprueba si el porcentaje de trama que lleva enviado es inferior o superior a umbral(1). Supóngase que es superior. Entonces AM-DTSN continúa enviando la trama en el subintervalo de tiempo n=2. Al nal Supóngase que se numeran las tramas consecutivas con la variable trama en N subintervalos que se numeran con la variable de dicho subintervalo de tiempo, AM-DTSN comprobará si el porcentaje que ha conseguido transmitir umbrales(2). Supóngase que es mayor. Entonces AM-DTSN continúa enviando la n=3. Al nal del subintervalo n=3 AM-DTSN comprueba si el porcentaje de trama transmitido es mayor o igual a umbrales(3). En este caso, supóngase que el porcentaje enviado es es superior o igual a trama en el subintervalo inferior. Entonces, AM-DTSN detiene prematuramente la transmisión de la trama en ese momento. Nótese que en este sentido, AM-DTSN es diferente a M-DTSN, y esta diferencia es una de las que le otorga superioridad, ya que M-DTSN sólo detiene las transmisiones de las tramas cuando se ha agotado completamente el tiempo. Sin embargo AM-DTSN detiene las transmisiones prematuramente. Evitando por tanto el envío de información inútil más temprano que M-DTSN. Siguiendo nuestro ejemplo, AM-DTSN detendría la transmisión de la trama en hará nada hasta el instante t=I, n=3. AM-DTSN no momento en el que debe comenzar la transmisión de la trama k=2. De esta forma AM-DTSN decrementa el tiempo de funcionamiento del nodo, ya que en el ejemplo de 64 4.2 Descripción de AM-DTSN M-DTSN descrito en la Sección 4.1 ninguno de las tres estrategias propuestas tenía tiempos sleeping en los que no se consume apenas energía y se alarga enormemente la vida del nodo. Nótese que la cantidad de trama transmitida es monitorizada en cada subintervalo n. Sin embargo, este comportamiento es muy restrictivo, debido al hecho de que la transmisión podría ser lenta en el primer subintervalo, n=1, mientras que en el resto se acelera. En este caso, el comportamiento indicado estaría impidiendo la transmisión de una trama que, usando M-DTSN, hubiera llegado correctamente al receptor. Es por esto que se introduce un mecanismo adicional con el cuál el subintervalo cual se monitoriza la transmisión de una trama es una variable de hecho ya denida, Llegado el instante t=I comienza la transmisión de la trama k=2. IM. n a partir del Supongamos en este caso que la transmisión de la trama se realiza correctamente. En todos los instantes de monitorización el porcentaje k=2 antes del IM=1 lo que signicaba que AM-DTSN debía monitorizar la transmisión de la trama a partir del subintervalo n=1. Al haberse realizado correctamente de trama transmitido era superior al umbral y se consigue transmitir toda la trama instante t=2I. Hasta ahora la variable IM tenía un valor la transmisión, AM-DTSN estima que las condiciones de la red son buenas, y por tanto aumentará el k=3 se empezará n=2. De la misma manera, cuando la transmisión de una trama se considera fallida, AM-DTSN decrementa el valor de IM. Esto no se comentó cuando la transmisión de la trama k=1 de este ejemplo falló. Una de las razones es que IM nunca puede tomar un valor inferior a 1, y por tanto IM no podía decrementarse. valor de la variable IM IM=2 a de forma que en la transmisión de la siguiente trama, a monitorizar a partir del subintervalo Llegados a este punto, conviene también aclarar el método que AM-DTSN debe seguir para establecer el valor de los umbrales de comparación en cada subintervalo n, umbrales(n). La forma de trabajar de AM-DTSN diverge en dos vertientes, llamadas el método de los histogramas y el método auto-regresivo. Ambas se basan en los mismos principios, pero se diferencian en la manera de calcular los umbrales, y la manera de decidir cuando la transmisión de una trama fue fallida. El éxito de AM-DTSN depende de su capacidad para prever prematuramente si la transmisión de una trama fallará. Se pueden comparar los resultados de AM-DTSN y M-DTSN de forma teórica así: tramas útiles en AM − DTSN = (tramas útiles en M − DTSN) · (1 − p) (4.3) n · (tramas inútiles AM − DTSN) N n T =x· − tramas útiles AM − DTSN N I n T =x· − (tramas útiles en M − DTSN) · (1 − p) N I inf ormación inútil AM − DTSN = x · donde p (4.4) es la probabilidad de que AM-DTSN se equivoque en la predicción de que una trama será fallida prematuramente, S es el tamaño de trama, n es el promedio del subintervalo donde se detiene la transmisión de las tramas detectadas como fallidas prematuramente y x es la cantidad promedio de información de trama que se transmiten en el tiempo de un subintervalo. La Ecuación (4.3) puede interpretarse de la siguiente manera. El número de tramas útiles obtenidas en AM-DTSN es igual al número de tramas útiles obtenidas en M-DTSN menos aquellas tramas que fueron útiles en M-DTSN y son detenidas erroneamente en AM-DTSN. Por tanto el número de tramas útiles obtenidos en AM-DTSN respecto de M-DTSN decrece linealmente con la probabilidad de error en la estimación. Por otro lado, en la Ecuación (4.4) se expresa una relación más compleja para la cantidad de información inútil transmitida usando AM-DTSN. Por un lado, la cantidad de información inútil transmitida por AM-DTSN crece con p, la probabilidad de error en la estimación, como era de esperar y se podía inferir también de la Ecuación (4.3). Por otro lado, como se observa en la ecuación (4.4) la cantidad de información inútil transmitida por AM-DTSN no depende únicamente de la capacidad de AM-DTSN para acertar en la detención de una trama (a través de la trama, através de n. p) sino que también depende de en qué subintervalo detiene la transmisión de Luego para el funcionamiento correcto de AM-DTSN interesa que (i) AM-DTSN acierte qué transmisiones van a ser fallidas y (ii) que acierte lo antes posible. Sin embargo el punto (ii) tiene ciertas restricciones ya que va en contra de lo explicado en esta misma Sección para 65 IM. 4.2 Descripción de AM-DTSN Si bien las ecuaciones (4.3) y (4.4) han servido para ilustrar la relación relevancia de n y de p, estas no pretenden ser un cálculo riguroso ya que se trata de un modelo simplicado. La simplicación consiste en que en las ecuaciones tratadas se ha supuesto que p, la probabilidad de que AM-DTSN se equivoque y detenga una trama cuya transmisión sería exitosa es independiente del número de tramas exitosas de M-DTSN. Cómo se recoge en los resultados experimentales y sus interpretaciones en la Sección (5.3) la probabilidad de AM-DTSN de fallar en la estimación crece con el número de tramas útiles de M-DTSN. Esta dependencia es obvia, pues si existen muchas tramas útiles, el hecho de detener una trama conlleva una alta probabilidad de equivocarse en dicha detención. Sin embargo, si existen muy pocas tramas útiles la detención de una trama tiene muchas probabilidades de ser un acierto. A continuación se describe AM-DTSN en sus dos versiones, mediante el método de los histogramas en la Sección 4.2.3, y mediante el método auto-regresivo en la Sección 4.2.4. 4.2.3. Método de los histogramas El método de los histogramas consta de dos fases. Primero existe una fase llamada inicialización en la que el nodo obtiene información estadística sobre la transmisión de las tramas, pero no realiza optimiza- operación en la que AM-DTSN utiliza la información estadística inicialización y aplica las optimizaciones. ciones. A continuación hay una fase de recolectada durante la fase de Fase de inicialización En esta fase el nodo se comporta exactamente igual que M-DTSN. Por tanto, desde el punto de vista de rendimiento, ahorro de batería y comportamiento en la transmisión, durante la fase de inicialización todo funciona exactamente igual que cuando se usa M-DTSN. Por otro lado, el nodo está realizando una recolección de datos estadísticos sobre las transmisiones de las tramas. Dicha información será usada más tarde en la fase de operación en la que realmente el nodo se comportará de manera diferente a M-DTSN. inicialización es una fase de preparación, contrapuesta a la operación, que es una fase de actuación en la que el algoritmo demuestra su potencial. Es deseable que la fase de inicialización sea lo más corta posible para que no se pierda tiempo en la Así pues, como su nombre indica, la fase de fase de recolección de los datos estadísticos, ya que es tiempo en el cual no se aplicarán las optimizaciones de que dispone AM-DTSN. Esta fase de inicialización debería repetirse cada cierto intervalo de tiempo, de forma que la validez de los datos estadísticos con que trabaje se mantenga. Existe, sin embargo, un compromiso inicialización y la calidad de los datos estadísticos. Es decir, inicialización muy frecuentemente y tiene una larga duración, los datos estadísticos que se usarán durante la fase de operación serán, al menos en principio, de mayor calidad, y por tanto los resultados durante la fase de operación serán mejores. Por otro lado, la fase de inicialización no puede entre la frecuencia y duración de la fase de si se repite la fase de ser demasiado larga ya que esto implicaría que aunque se dispusiera de unos buenos datos estadísticos no habría sucientemente tiempo para que las optimizaciones funcionaran y mejoraran el rendimiento. Por tanto, cuándo hacer una fase de inicialización y qué duración debe tener es un asunto todavía abierto. Para este trabajo y por simplicidad, en el método de los algoritmos se usará una aproximación simple, que consiste en repetir la fase de inicialización de manera periódica con un periodo y duraciones jas. Otras aproximaciones más ecientes podrían basarse en datos estadísticos de la transmisión para estimar si las condiciones del canal han cambiado o no, y cuánto han cambiado para decidir si debe repetirse una fase de inicialización y cuál debería ser su duración. ¾Qué información estadística recopila AM-DTSN durante la fase de DTSN recopila, para cada uno de los N inicialización ? El transmisor AM- subintervalos, el histograma del porcentaje de trama que se ha transmitido para las tramas correctas. Al nal de la fase de inicialización AM-DTSN dispondrá de N histogramas. Cada uno de esos histogramas se habrá realizado con el porcentaje de trama transmitido al nal de cada subintervalo, teniendo en cuenta sólo las tramas cuya transmisión se realiza exitosamente. En este punto hay que señalar que existe una pequeña dicultad, y es que el transmisor no puede estar seguro en cada momento de cuál es el porcentaje de trama que el receptor ha recibido efectivamente, es decir, existe una pequeña inexactitud entre el porcentaje de trama que el receptor ha recibido en un momento dado y el porcentaje de trama que el transmisor estima que el receptor ya tiene en su poder. Este asunto puede ser de especial relevancia en algunos escenarios, y por ello es tratado y corregido según un mecanismo descrito en la Sección 4.2.5. En la Figura 4.5 se muestra un ejemplo de la información que podría recolectar el transmisor AMDTSN durante la fase de inicialización. En la Figura se presentan 9 histogramas diferentes I en N=10 subintervalos, correspondiendo a n=1,...,9. partición del intervalo de trama 66 para una 4.2 Histograma de tramas Fin del subintervalo 1 Fin del subintervalo 2 0.2 0.2 0.1 0.1 0.1 25% 50% 75% 100% 0 0% Histograma de tramas Fin del subintervalo 4 25% 50% 75% 100% Fin del subintervalo 5 0.2 0.1 0.1 0.1 25% 50% 75% 100% 0 0% 25% 50% 75% 100% Fin del subintervalo 8 50% 75% 100% 25% 50% 75% 100% Fin del subintervalo 9 0.3 0.3 0.2 0.2 0.2 0.1 0.1 0.1 0 0% 25% 50% 75% 100% Porcentaje de trama transmitido Figura 4.5: Ejemplo de histogramas capturados durante la fase de N=10 0 0% 0.3 0 0% 25% 50% 75% 100% Porcentaje de trama transmitido 25% Fin del subintervalo 6 0.2 Fin del subintervalo 7 para 0 0% 0.2 0 0% Histograma de tramas Fin del subintervalo 3 0.2 0 0% Descripción de AM-DTSN 0 0% 25% 50% 75% 100% Porcentaje de trama transmitido inicialización del transmisor AM-DTSN subintervalos. En cada uno de los 9 histogramas, el eje X representa el porcentaje de trama transmitido en el instante en que naliza el subintervalo correspondiente. El eje Y, cuyos valores teóricamente podrían llegar a 1, representa el histograma de dichos porcentajes para todas las tramas cuya transmisión fue exitosa. En este escenario en concreto los valores del eje Y no superaban 0.3, por ello se ha jado dicho valor máximo para el eje Y, permitiendo ampliar y observar un mejor detalle del histograma. Por ejemplo, el histograma central, es el histograma del porcentaje de transmisión completado al nal del subintervalo N=10 n=5 contado sobre las tramas cuya transmisión fue exitosa. Dado que tenemos n=5 es el instante en el que hemos consumido exactamente subintervalos, el nal del subintervalo el 50 % del tiempo de que disponíamos para enviar la trama. En el histograma se observa un pico en aproximadamente el 50 %, lo que signica que, la mayoría de las tramas exitosas habían sido transmitidas en un 50 % al nal del subintervalo n=5. También se observa que existen tramas exitosas cuyo porcentaje de transmisión era inferior al 50 %. Dado que las tramas con las que se ha construido el histogramas son k del histograma se completo su transmisión t<kI ) entonces las tramas de la gura cuyo porcentaje de transmisión era inferior al 50 % al nal del aquellas que llegaron a tiempo al receptor, (para cada trama en subintervalo 5 aceleraron más tarde su transmisión y consiguieron transmitirse completamente antes de que terminara el intervalo de trama. AM-DTSN utiliza esta información para determinar los umbrales de decisión descritos en la Sección 4.2.2. ¾Cómo determina AM-DTSN los umbrales a partir de la información del histograma? Fíjese, por simplicidad, en el histograma del subintervalo n=5. Una aproximación muy simplista sería darle al umbral 5, el valor del 50 %, es decir, decidir que la transmisión de la trama debe abortarse si al 50 % del tiempo no se ha conseguido enviar al menos el 50 % de la trama. Esta aproximación, que de hecho se ha probado experimentalmente, es demasiado simplista y obtiene un bajo rendimiento. La razón es obvia si se observa una vez más el histograma del subintervalo n=5 en la Figura 4.5. Si se eligiera el umbral 50 %, todas las tramas que están a la izquierda del 50 % en dicho histograma serían canceladas, y sólo las que se sitúan a la derecha serían recibidas correctamente. Simplemente observando dicho histograma, por inspección visual puede entenderse que en este escenario en concreto, si se aplicara dicho umbral del 50 % se estaría deteniendo prematuramente la mitad 67 4.2 Descripción de AM-DTSN Algoritmo 4.2 Búsqueda del umbral óptimo para la operación de AM-DTSN. for (n=1;n<N;n++){ for (porcentaje=0; porcentaje<=100 ; porcentaje++){ if (histoTramas[n][porcentaje]>0){ umbral[n]=porcentaje; break; } } } umbral[N]=100; de las tramas cuya transmisión en realidad iba a ser exitosa. Esto supone un decremento de la tasa de tramas transmitidas intolerable, así como una ineciencia enorme, ya que la detención prematura de dichas tramas cuya transmisión hubiese sido exitosa provoca que la cantidad bruta de información enviada inf ormación útiles inf ormación inútil . ¾Cuál sería el valor óptimo para el umbral? Si se elige un valor demasiado elevado, se detendrán correspondiente a dichas tramas sea inútil, disminuyendo notablemente la proporción de tramas que serían exitosas de otra manera, pero si se escoge un valor demasiado pequeño, el algoritmo será demasiado tolerante y se comportará como M-DTSN, sin detener tramas cuya transmisión va a ser fallida y por tanto sin ofrecer ninguna ventaja sobre M-DTSN. Desde un punto de vista teórico, el valor ideal de dicho umbral tiene que tener las siguientes cualidades: Tener un valor inferior al porcentaje más pequeño de entre todos los que tendrán las tramas que serían exitosas si no las detuviéramos. Esto nos garantiza que, para las tramas que van a transmitirse correctamente no se detenga la transmisión, y por tanto se obtenga, al menos de manera teórica, una tasa de tramas por segundo similar a M-DTSN. Tener un valor lo más elevado posible cumpliendo la condición anterior. Esto nos garantiza que, manteniendo la tasa de tramas por segundo similar a M-DTSN, vamos a detener el máximo número posible de tramas cuya transmisión sería fallida, y que por tanto contribuirían a la ineciencia del uso de recursos de la red, en especial de la batería de los nodos. Ambas condiciones pueden en realidad relajarse para encontrar puntos de funcionamiento intermedios según las necesidades y aplicaciones. En la Sección 4.2.6 se introduce un parámetro que balancea el compromiso entre una tasa de tramas alta y la cantidad de información bruta útil transmitida. A continuación se va a identicar qué punto es el que cumple las condiciones citadas, basándonos en la validez estadística de los datos recolectados para hacer el histograma. En la Figura 4.6 se muestra un detalle del histograma para el subintervalo n=5. En el histograma se ha marcado el umbral que cumple dichas condiciones, que de manera intuitiva puede constatarse. Este umbral es único, y puede obtenerse de ma- Fin del subintervalo 5 nera teórica sin más que buscar el primer porcentaje de transmisión de trama cuyo valor es mayor 0.25 que 0. Esta condición se expresa formalmente en el Algoritmo 4.2. 0.2 Para los datos del ejemplo se trabajó con una UMBRAL muestra estadística de 2000 tramas. Si la muestra 0.15 fuera mayor sería conveniente realizar algún tipo de ltrado sobre el histograma, ya que aparecería 0.1 ruido de fondo. Es decir, si el número de tra0.05 mas que coleccionamos para hacer el histograma crece, el valor del umbral descenderá pero no de 0 0% manera signicativa, ya que el algoritmo busca el 25% 50% 75% 100% primer porcentaje para el que el histograma no es 0, de forma que si de manera aislada una trama ha tenido un porcentaje del 1 %, y se puede conside- Figura 4.6: Histograma obtenido durante la fase rar como una muestra dispersa, entonces forzará de al algoritmo a encontrar el umbral 1 %. Por ello lo es aconsejable mantener el tiempo de colección del 68 inicialización de AM-DTSN para n=5, con umbral óptimo. N=10. el subinterva- 4.2 Descripción de AM-DTSN histograma en unos ciertos límites temporales, que como ya se citó en esta misma Sección, es un tema abierto aún. Una vez obtenidos los umbrales se puede pasar a la fase Fase operación. operación Durante esta fase el comportamiento de AM-DTSN es similar al descrito en la Sección 4.2.2. AM-DTSN comenzará la transmisión de cada trama mente de qué sucedió para t < (k − 1) · I . al nal de cada subintervalo, incluido k t = (k − 1) · I independienten ≥ IM AM-DTSN comprobará en el instante A partir del subintervalo n=N, si el porcentaje de trama transmitido es mayor o igual al umbral correspondiente para dicho subintervalo, obtenido en la fase de inicialización. Si es así, continuará transmitiendo la trama hasta el nal del siguiente subintervalo. Una vez alcanzado el nal del último subintervalo, I n=N y por tanto consumido todo el tiempo de trama , se realizará la última comprobación, en este caso comparando el porcentaje de trama transmitido con el último umbral que será siempre 100 %. Si se ha alcanzado el 100 %, (o bien se alcanza el 100 % antes de llegar al último subintervalo) AM-DTSN incrementa en 1 el valor de entre 1 ≤ IM ≤ N IM, manteniendo siempre su valor y por tanto saturándolo cuando llega a los límites del intervalo de valores. En este sentido AM-DTSN da un voto de conanza al canal cuando consigue transmitir correctamente una trama. La idea es que si hemos conseguido transmitir correctamente una trama, signica que, la información más reciente sobre la situación del canal que tenemos es que somos capaces de transmitir correctamente una trama, y por tanto podemos ser menos exigentes y comenzar a monitorizar más tarde la transmisión de nuestras tramas, ya que al haber recibido un feedback positivo por parte del canal, se entiende que no monitorizamos en los primeros subintervalos ya que hay más probabilidades de que aunque no se superen los umbrales en dichos subintervalos, la transmisión va a conseguir nalmente completarse correctamente. Por el contrario, si en alguna de las comprobaciones al nal de los subintervalos, incluyendo el último subintervalo, el porcentaje de trama transmitido es menor al umbral de dicho subintervalo, entonces AM-DTSN entiende que dicha trama no va a poder transmitirse correctamente y aborta prematuramente su transmisión. Además, se reduce el valor de IM en 1. De esta forma lo que se consigue es que las transmisiones sucesivas que fallan a ser fallidas se detecten antes, y por tanto, aunque sean también detenidas, se detengan antes y por lo tanto transmitan una cantidad menor de información inútil. El Algoritmo 4.3 es una denición más formal en pseudo-código del comportamiento de AM-DTSN. En este algoritmo la variable k n el número de subintervalo, IM el porcentajeTransmitido(k) devuelve representa el número de trama, subintervalo de inicio de monitorización. Asimismo, la función el porcentaje de la trama k que se ha conseguido transmitir exitosamente hasta el instante. La función continuarTransmitiendo(k) k durante (I/N ). continúa la transmisión de la trama duración es despreciable frente a la duración de un subintervalo un periodo de tiempo cuya En la Sección 5.3 se presentan algunos de los resultados de las simulaciones realizadas para el método de los histogramas. El método del histograma, aunque válido en la teoría, presenta ciertos inconvenientes en la práctica. Por un lado, el hecho de tener que realizar por separado las fases de inicialización y operación puede causarle un cierto retardo para adaptarse a las características de un canal inestable, como puede ser típicamente un canal en una red inalámbrica de sensores, y además no puede obtener su rendimiento merecido ya que no realiza control sobre las tramas durante la fase de inicialización. Por otro lado, el almacenamiento en memoria de los datos del histograma, así como todos los cálculos implicados pueden suponer demasiada potencia computacional y un gasto energético extra para los nodos que tienen ciertas limitaciones en este aspecto, cómo es el caso también en las redes inalámbricas de sensores. En el apartado 4.2.4 se presenta el funcionamiento de AM-DTSN usando un método alternativo: autoregresivo, con el que se fusionan las dos fases de recolección de datos y operación, que ahora se realizarán simultáneamente, evitando así el uso de histogramas. 4.2.4. Método auto-regresivo El método auto-regresivo funciona como se describió en la Sección 4.2.2, siendo su principal diferencia la manera particular de obtener los valores de los umbrales y de tomar la decisión de que una transmisión fue fallida. El método de los histogramas descrito en la Sección 4.2.3 funciona correctamente de manera teórica, pero para su aplicación en canales que presenten cierta inestabilidad puede no adaptarse sucientemen- 69 4.2 Descripción de AM-DTSN Algoritmo 4.3 Algoritmo de funcionamiento de AM-DTSN durante la fase de operación usando los datos estadísticos del método de los histogramas. while (true) { if ( porcentajeTransmitido(k)==100 ){ k=k+1; n=1; IM=min(IM+1,N); wait(kI-t); continue; } if( t==I(k-1+n/N) && n=>IM ){ if(porcentajeTransmitido(k)=>umbral(n)){ n=min(n+1,N); continuarTransmitiendo(k); } else{ IM=max(IM-1,1); k=k+1; n=1; wait(kI-t); continue; } } else{ continuarTransmitiendo(k); } } te rápido. Sin embargo, el método auto-regresivo está diseñado para adaptarse más rápidamente a los cambios del canal al realizar la recolección de datos estadísticos al mismo tiempo que se ejecuta el algoritmo, y además exige un menor consumo de recursos de computación y memoria en el nodo que lo ejecuta. Funcionamiento Se parte de unos valores iniciales de los umbrales, que pueden ser 0 (en cualquier punto de monitorización n, cualquier transmisión que haya sido capaz de alcanzar más del 0 % continuará activ(a). El iniciar con dichos valores garantiza que no va a haber un bloqueo en el que el algoritmo se haga más restrictivo indenidamente y no funcione correctamente. El valor de IM puede ser IM=N para comenzar la transmisión con conanza en el canal aunque podría tomar otro valor según se desee que comience el inicio de la transmisión. A partir de esta inicialización el procedimiento comienza de la manera que ya se ha descrito a lo largo de toda la Sección 4.2. AM-DTSN monitoriza la transmisión de las tramas al nal de cada subintervalo a partir del subintervalo n ≥ IM , y si el porcentaje transmitido es superior al umbral del subintervalo en el que se monitoriza entonces la transmisión continua. Por el contrario, si el porcentaje es menor que el umbral se detiene la transmisión. Los valores de los umbrales se actualizan cuando se da alguno de estos dos casos: 1. Transmisión exitosa: se ha conseguido transmitir exitosamente (a tiempo) una trama, independientemente del instante en que se consiga dicha transmisión exitosa. Entonces el valor de los umbrales se actualiza según el Algoritmo 4.4. La idea aquí es que si la transmisión de la trama ha sido exitosa, y los porcentajes que se habían transmitido de dicha trama para algún subintervalo (de los no monitorizados, n<IM ) era inferior al umbral de dicho subintervalo, entonces el umbral de dicho subintervalo está siendo demasiado restrictivo, pues tenemos una prueba fehaciente de que la transmisión puede completarse correctamente incluso con porcentajes de transmisión por debajo del umbral. Así pues, el Algoritmo 4.4 actualiza los valores de los umbrales mediante un método auto-regresivo, de forma que se tiene en cuenta el umbral de la trama que acaba de ser exitosa si es menos 70 4.2 Descripción de AM-DTSN Algoritmo 4.4 Actualización de los umbrales tras una transmisión exitosa for (n=1;n<=(IM-1);n++){ if (umbral[n]>transmitidoTramaActual[n]){ umbral[n]=alpha*umbral[n]+(1-alph(a)*transmitidoTramaActual[n]; } } umbral[N]=100; restrictivo que el umbral que existía hasta el instante, pero se pondera con el umbral que teníamos en ese instante, de forma que exista una inuencia estadística de lo sucedido con las transmisiones anteriores, pero cobre cierta importancia la situación actual del canal. Cuanto inuye la situación actual del canal y cuanto la pasada se controla mediante el parámetro encuentra comprendido en el rango 0 ≤ α ≤ 1 α ∈ R. α. Este parámetroα se Mediante la expresión nuevoU mbral = antiguoU mbral · α + últimoU mbral · (1 − α) el parámetro α (4.5) controla cuanta inuencia tienen en los umbrales las nuevas condiciones del canal. Un valor alto de α permite obtener promedios más útiles estadísticamente, lo cuál puede ser bueno para canales con cierta estabilidad. Un valor bajo de α proporciona una adaptación más rápida a las condiciones cambiantes del canal. 2. Transmisión fallida: a efectos de actualizar los valores de los umbrales, se considerará como fallida la transmisión de una trama, si no se ha podido completar su transmisión antes de agotar el intervalo de trama I. Hay que hacer hincapié en que no se actualizarán los valores de los umbrales si se considera fallida n<N y detener su transmisión. la transmisión de la trama al monitorizar al nal de un subintervalo Sólo se actualizarán los umbrales de tansmisiones fallidas sí se comprueban al nal del último subintervalo ( n=N, t=kI para la trama k ). La explicación de por qué se hace así, es que el objetivo de actualizar los umbrales es adaptarse a la situación actual del canal. Para ello, el algoritmo ha de basarse en hechos no en estimaciones. Si se actualizaran los umbrales en cada detención de una trama, se estarían basando las estimaciones en otras estimaciones, no en hechos, y esto provocaría que el algoritmo pudiera converger a unos valores de umbrales distintos de los que se obtendrían basándose en las condiciones del canal, ya que para sus estimaciones se basaría en otras estimaciones y acabaría por no basarse en las condiciones del canal para funcionar si no en sus propias estimaciones. De hecho, estos comportamientos han sido testeados en numerosas simulaciones y efectivamente el rendimiento que se obtiene es muy inferior al que se obtiene si se realiza la actualización de los umbrales cuando se agota el tiempo de trama I. Así pues, de forma complementaria al Algoritmo 4.4, el Algoritmo 4.5 actualiza los valores de los umbrales si la transmisión de la trama llega al tiempo de trama I último subintervalo y una vez agotado todo el no se ha podido completar la transmisión con éxito. Obsérvese que este algoritmo no produce bloqueo. Supóngase la siguiente situación. Ha habido una ráfaga de tramas que se transmitieron muy rápidamente, y que han elevado los valores de los umbrales. A continuación, repentinamente se transmite una trama a una velocidad notablemente inferior a la que se transmitieron las tramas anteriores, pero que es aún bastante superior a la velocidad de transmisión necesaria para completar la transmisión con éxito. En esta situación, dado que se acaba de transmitir una ráfaga de tramas cuya transmisión fue muy rápida y exitosa, entonces IM=N. Lo que signica que la trama actual cuya velocidad de transmisión no es tan rápida no será monitorizada en un subintervalo intermedio, sino que se comprobará sólo al nal del intervalo de trama I si se ha podido completar la transmisión de dicha trama. Al ser su velocidad de transmisión suciente para completar dicha transmisión pero notablemente inferior a la de la ráfaga de tramas anteriores, el Algoritmo 4.4 bajará los valores de los umbrales para adaptarse al hecho fehaciente de que una trama cuya velocidad de transmisión es más baja que la necesaria para superar los umbrales puede transmitirse correctamente a tiempo. En estos Algoritmos 4.4 y 4.5 subintervalos, umbral[n] n N es el número total de transmitidoTramaActual[n] representa cada uno de los subintervalos, es el umbral utilizado para el subintervalo 71 n, y 4.2 Descripción de AM-DTSN Algoritmo 4.5 Actualización de los umbrales tras una transmisión fallida for (n=1;n<=(N-1);n++){ if (umbral[n]<transmitidoTramaActual[n]){ umbral[n]=alpha*umbral[n]+(1-alph(a)*transmitidoTramaActual[n]; } } umbral[N]=100; es el porcentaje de la trama que se había transmitido al nal del subintervalo n para la trama que ha causado la llamada a los algoritmos de actualización de umbrales por haberse transmitido completamente o bien por haber agotado el intervalo de trama I sin completar su transmisión. IM no es más que el subintervalo a partir del cual se monitoriza la transmisión de la trama. De esta forma AM-DTSN usa el método auto-regresivo para actualizar los umbrales y funciona en continuo sin tener que atravesar una fase de inicialización como sucedería en el método de los histogramas. En la Sección 5.3 se presentan los resultados de las simulaciones usando ambos métodos. 4.2.5. Autoajuste de estimaciones transmisor-receptor El funcionamiento de AM-DTSN descrito a lo largo de toda la Sección 4.2 se basa en el conocimiento del transmisor de qué porcentaje de la trama que está transmitiendo en un momento dado ha sido en realidad recibido por el receptor. Sin embargo, el transmisor no puede saber de manera estricta en cada momento cuanta información ha recibido realmente el receptor, sino que de alguna manera existe una imprecisión entre lo que el transmisor cree que ha recibido el receptor y lo que realmente este último ya tiene en su poder. Este problema es especialmente destacable a la hora de determinar qué tramas se recibieron correctamente a tiempo y cuales no. Por ejemplo, una trama puede haberse enviado al 100 % pero el receptor haber recibido a tiempo sólo el 98 %, por lo que dicha trama, además de haber sido estimada con una cierta imprecisión, se contará en el transmisor como útil y formará parte de las estadísticas del método de los histogramas, mientras que no debería ser así, ya que en el método de los histogramas expuesto se debe usar el histograma de las tramas exitosas. Se ha desarrollado un método de autoajuste transmisor-receptor que permite, tanto para el método de los histogramas (Sección 4.2.3) como para superar esta dicultad. En la Figura 5.21 en la página 104 se muestra una comparativa de los resultados de AM-DTSN sin usar el mecanismo de ajuste entre transmisor y receptor y usando el mecanismo. La idea básica consiste en que tanto el transmisor como el receptor recopilan la información estadística relevante, y el transmisor utiliza la información recopilada por el receptor para poder así corregir su imprecisión en la estimación de qué cantidad de una trama ha transmitido en un instante dado. En la implementación en particular de este proyecto, AM-DTSN estima el porcentaje de trama transmitido mediante el Algoritmo 4.6. La idea básica consiste en restarle al número de fragmentos de la trama que se han entregado a DTSN el número de fragmentos que están aún sin conrmar por DTSN. Además se tiene en cuenta el tamaño de la ventana de conrmación y el hecho de que si ésta contiene más paquetes de los que se han entregado a la capa DTSN signicará que no se ha conrmado aún ninguno de los paquetes. En este sentido, la estimación será más buena cuando se envíen más peticiones de conrmación (EAR) y los tamaños de ventana sean más pequeños. Por ello la calidad de la estimación depende de cada escenario e implementación. En la Figura 4.7 se puede corroborar que la aproximación usada es bastante buena, ya que los datos del receptor y del transmisor son bastante similares, sobre todo al tomar muchas muestras estadísticas que permiten compensar los errores de estimación por defecto y por exceso. En el método de los histogramas, el autoajuste consiste en que tanto receptor como emisor componen sus propios histogramas durante la fase de inicialización. Una vez nalizada dicha fase el receptor carac- teriza sus histogramas mediante la media y varianza de una curva normal y se los envía al transmisor. El transmisor utiliza esta información para corregir la imprecisión en sus histogramas comparando la información de los histogramas que ha recibido del receptor con los que él ha elaborado. En la Figura 4.7 se puede observar que con las conguraciones elegidas para DTSN en las simulaciones que se mostrarán en el Capítulo 5, la aproximación mediante una normal es bastante buena, teniendo en cuenta que los parámetros que nos interesan de dicha normal son la media y varianza. 72 4.2 Descripción de AM-DTSN Algoritmo 4.6 Estimación de AM-DTSN en transmisor del porcentaje de trama recibido. packetsInBuffer=call MDTSN.packetsInBuffer(taskPointer->addr); if (packetsInBuffer > DTSN_ACKWIN_SIZE) { packetsInBuffer=packetsInBuffer-DTSN_ACKWIN_SIZE; } else{ packetsInBuffer=0; } nTotalFragments=taskPointer->len/taskPointer->fragmentSize; if ((taskPointer->len % taskPointer->fragmentSize )> 0 ) { nTotalFragments=nTotalFragments+1; } if (taskPointer->fragmentSent > packetsInBuffer) { ackedFragments=taskPointer->fragmentSent-packetsInBuffer; } else{ ackedFragments=0; } percentSent=ackedFragments*100/nTotalFragments; Las línea punteada representa la curva normal por la que se aproxima el histograma. Los puntos circulares unidos por una delgada línea son los puntos del histograma real que han compuesto transmisor y receptor cada uno por su lado. Los histogramas en este caso no son únicamente de las tramas exitosas, como se hace para la determinación de los umbrales, sino de todas las tramas que se transmiten durante la fase de inicialización de AM-DTSN descrita en la Sección 4.2.3. Durante esta fase el transmisor y receptor se comportan como MDTSN. Si se observa detalladamente, para el subintervalo n=5 la curva está centrada en un valor inferior al 50 %. Si la transmisión fuera en promedio constante en el tiempo, es lícito pensar que el histograma no está compuesto por los datos de las tramas exitosas, ya que la mayoría de las tramas van con retraso. Al contrario sucedía en la Figura 4.5 donde las curvas se encuentran centradas en torno al porcentaje proporcional, lo que parece, en principio más coherente. El hecho de usar los datos de todas las tramas en lugar de las tramas exitosas como se hace para la determinación de los umbrales únicamente se debe a que en este punto el objetivo es obtener la máxima cantidad de información estadística posible de forma que permita dilucidar con precisión cuál es el error que comete el transmisor al estimar el porcentaje que el receptor ha recibido realmente. Así pues, en la Figura 4.7 se puede constatar que en efecto, los porcentajes de transmisión que el receptor tiene son ligeramente diferentes a los que tiene el transmisor. Esta diferencia, aunque en el ejemplo de la gura pueda ser pequeña, podría ser de mayor envergadura dependiendo del escenario y la implementación en concreto. Una vez el transmisor ha recibido las medias y varianzas de las normales que aproximan los histogramas del receptor, el transmisor procede a corregir la imprecisión de sus umbrales usando la Expresión (4.6). s umbralN uevo(n) = mediaR(n) + (umbral(n) − mediaT (n)) · varR(n) varT (n) (4.6) 1≤n<N donde umbral(n) es el umbral del subintervalo n antes de realizar la corrección. mediaR(n) y mediaT(n) son las medias de las curvas normales que se ajustan al histograma de todas las tramas, en el receptor y transmisor respectivamente. Se trata de todas las tramas que se han observado durante la fase de inicialización, no sólo de las exitosas. varR(n) y varT(n) son las varianzas de las curvas normales en el receptor y transmisor respectivamente. La Ecuación 4.6 también puede entenderse de otra forma. Cuando el transmisor toma la decisión de continuar la transmisión de una trama o detenerla, hace la comparación umbralCorregido. porcentajeT ransmitido < Por lo tanto, en lugar de modicar los umbrales podrían mantenerse los valores de 73 4.2 Descripción de AM-DTSN Fin del subintervalo 3 Fin del subintervalo 5 0.25 Histograma de tramas Histograma de tramas 0.25 0.2 0.15 0.1 0.05 0.2 0.15 0.1 0.05 0 0% 25% 50% 75% Porcentaje de trama transmitido 0 0% 100% 25% 50% 75% Porcentaje de trama transmitido (a) (b) Fin del subintervalo 3 Fin del subintervalo 5 0.25 Histograma de tramas 0.25 Histograma de tramas 100% 0.2 0.15 0.1 0.05 0.2 0.15 0.1 0.05 0 0% 25% 50% 75% Porcentaje de trama transmitido 0 0% 100% 25% 50% 75% Porcentaje de trama transmitido (c) 100% (d) inicialización de AM-DTSN. (a)Histograma en el n=3. (b)Histograma en el transmisor, n=5. (c)Histograma en el receptor, n=3. (d)Histograma en el receptor, n=5. Figura 4.7: Histogramas obtenidos durante la fase de transmisor, los umbrales que el transmisor determinó y hacer la comparación porcentajeT rCorregido < umbral. De esta forma, los valores de las medidas de la cantidad transmitida de una trama serían: s porcentajeT rCorregido(n) = (mediaT (n) − porcentajeT (n)) · varR(n) − mediaR(n) varT (n) Alguien podría preguntarse, ¾por qué no envía el receptor al transmisor sus umbrales en lugar de las estadísticas de su histograma? Si el receptor enviara sus umbrales al transmisor este no obtendría ninguna información útil para corregir sus imprecisiones. Sabría cuales son los umbrales que se observan en el receptor, pero no le servirían de nada puesto que sigue teniendo precisamente el mismo problema, una imprecisión en la estimación de cuanto ha recibido el transmisor en un instante dado. El transmisor sabe calcular los umbrales por si mismo, lo que no sabe hacer con completa precisión es estimar qué porcentaje de la trama que está transmitiendo ya ha recibido el receptor correctamente. Sin embargo, el hecho de conocer las estadísticas del histograma del receptor sirve para corregir esta imprecisión, ya que, mediante estas estadísticas el transmisor es capaz de mejorar notablemente su estimación de cuanto ha recibido el receptor en un momento dado. Los umbrales del receptor no son suciente para poder corregir de forma segura las medidas de la cantidad de trama transmitida. En algún sentido la información de los 74 4.2 Descripción de AM-DTSN umbrales sería muy incompleta para corregir las estimaciones del transmisor, siendo la media y varianza una información mucho más valiosa y útil en este caso. Se está asumiendo que el tráco de esta información es despreciable frente al tráco de datos multimedia. De no ser así, podría optarse por enviar sólo la información correspondiente a algunos de los subintervalos, o bien enviar únicamente las medias y no las varianzas. También se podría tratar de modelizar el histograma mediante otros valores que fueran igualmente representativos pero ocuparan menos bits y por tanto generaran menos tráco colateral entre el transmisor y receptor, dejando los recursos para el tráco multimedia. Durante la fase experimental se realizaron numerosas simulaciones en las que se observa que efectivamente al corregir esta imprecisión transmisor-receptor, la decisión de detener o dejar avanzar la transmisión de una trama es más acertada. 4.2.6. Parámetro SP Para terminar de denir el comportamiento de AM-DTSN, se introduce un parámetro adicional que permitirá al usuario de AM-DTSN congurar el comportamiento del mismo y obtener con ello diferentes niveles de calidad y eciencia. El parámetro SP, Saving Parameter, tiene como objetivo poder calibrar el compromiso entre tasa de tramas/s útiles en el receptor y cantidad bruta de información transmitida inútil enviada. Como se ha expuesto a lo largo de las Secciones 4.2.1 y 4.2.2 existe un compromiso entre las tramas por segundo que el receptor obtiene, y la cantidad de información inútil que se va a transmitir para obtener dicha tasa de tramas por segundo. Si se desea obtener una tasa alta de tramas por segundo alta, comparable a la de M-DTSN, AM-DTSN deberá ser menos restrictivo a la hora de cancelar la transmisión prematura de tramas, para poder tener la oportunidad de conseguir más tramas útiles en el receptor. Esta relajación de las exigencias implica también que, desgraciadamente se permitirá la transmisión de tramas que no llegarán a tiempo al receptor y por tanto contribuirán tanto a una proporción datos inútules/datos útiles más alta, así como a una cantidad bruta de datos inútiles mayor. El parámetro SP permite controlar este compromiso. A continuación se dene más detalladamente este parámetro para el método de los histogramas y también para el método auto-regresivo. SP en el método de los histogramas En la Sección 4.2.3 se explica el procedimiento para encontrar el umbral usando el método de los histogramas. Este procedimiento puede considerarse en realidad un caso particular en el que el parámetro SP toma el valor SP=1.0. El parámetro SP estará en el rango 0 ≤ SP ≤ 1. Un valor SP=1.0 signica que AM-DTSN funcionará de manera que detenga prematuramente todas las tramas posibles pero sin reducir la tasa de tramas/s que obtendría M-DTSN en el mismo escenario, basándose en los datos estadísticos de que dispone. Un valor SP=0.5 signica que AM-DTSN está dispuesto a suprimir el envío del 50 % de las tramas útiles que M-DTSN conseguiría en el mismo escenario, y a cambio obtendrá el benecio de una menor cantidad bruta de datos inútiles transmitidos. Hay que señalar en este punto que el parámetro SP representa teóricamente la proporción mínima de tramas útiles/s que AM-DTSN desea obtener en comparación con M-DTSN. Así en el método de los histogramas, SP=1.0 signica que AM-DTSN desearía obtener la misma tasa de tramas/s que M-DTSN. Que esto sea así en la práctica depende de la validez estadística de los datos recolectados durante la fase de inicialización de AM-DTSN. operación el inicialización, se cumpliría siempre que la Si los datos estadísticos fueran completamente válidos, por ejemplo, si durante la fase de canal se comportara exactamente igual que durante la fase de tasa de tramas útiles/s obtenida en AM-DTSN es igual o superior a la obtenida por M-DTSN multiplicada por SP. Sin embargo, dichos datos estadísticos no son completamente válidos, sino que están sujetos a variaciones en las condiciones del canal, y a la inexactitud inherente a muestrear una variable aleatoria. Además existe otra suposición adicional. Se está asumiendo que en los histogramas de todas las tramas, las tramas que van a ser útiles son aquellas que están más adelantadas en su transmisión. Es decir, si en un instante dado una trama ha sido transmitida un 50 % y otra un 60 % y sabemos que sólo una de ellas ha llegado a tiempo al receptor, se asume que ha sido la que tenía un 60 % transmitido en el instante de la monitorización. Esta suposición podría no ser válida en determinados escenarios, si bien es una asunción hecha durante todo el proyecto y parece bastante razonable para la mayoría de los casos. 75 4.2 Descripción de AM-DTSN Algoritmo 4.7 Cálculo de los umbrales de AM-DTSN según el parámetro SP for (n=1;n<N;n++){ sumParcial=0; for (porcentaje=100;porcentaje>0;porcentaje--){ sumParcial=sumParcial+histoSuccessData(n,porcentaje); if (sumParcial>=SP){ umbral(n)=porcentaje; break; } } } thresholds(N)=100; Así pues, el procedimiento para calcular los umbrales en el método de los histogramas tras la fase de inicialización teniendo en cuenta el parámetro SP es el siguiente. Se parte del histograma de las tramas exitosas tal como se detalla en la Sección 4.2.3. En la Figura 4.8se muestra un histograma de ejemplo en el que se han señalado los valores de los umbrales para distintos valores del parámetro SP. Fin del subintervalo 5 La suma de todos los puntos del histograma 0.25 es 1. Supóngase que deseamos encontrar el umbral correspondiente a 0.2 durante la fase de 0.15 Este umbral tendrá la inicialización en la que el nodo se comportaba como M-DTSN se dejarán pasar y Umbral SP=0.8 0.1 SP=0.7. característica de que el 70 % de las tramas exitosas Umbral SP=0.9 Umbral SP=1.0 no se detendrán prematuramente en AM-DTSN. Umbral SP=0.7 Por tanto, ha de elegirse el umbral de acuerdo a 0.05 esta premisa. Para ello se busca el valor del umbral más alto posible a partir del cual la suma de los 0 25% 50% 75% puntos sucesivos del histograma es 0.7. Para ello Figura 4.8: Histograma de tramas exitosas recolec- se recorren los porcentajes desde el 100 % hacia tado durante la fase de de AM-DTSN atrás sumando los valores del histograma en cada con las marcas de los umbrales para distintos valores porcentaje. En el valor donde la suma supere o de SP, subintervalo iguale a 0.7 será el valor deseado. Este cálculo se inicialización n=5. N=10. expresa formalmente en el Algoritmo 4.7. En este Algoritmo N calculando el umbral a partir del histograma y el parámetro subintervalo n, subintervalo porcentaje n n el subintervalo para el cuál se está SP, umbral(n) es el umbral calculado para el representa el número de subintervalos, histoSuccessData(n,porcentaje) es el valor del histograma de las tramas exitosas del sumParcial es la suma del histograma de las tramas desde la variable para porcentaje, y hasta 100. De esta forma jaríamos los umbrales a los valores que proporciona el algoritmo y se puede controlar cuanto se desea reducir la tasa de tramas útiles/s. Quién decide el valor de SP en un escenario concreto es aún una pregunta abierta. Podría argumentarse que en determinados escenarios sea el receptor quien lo decida, usando por tanto el parámetro SP como un control de ujo. Por otro lado, puede ser el transmisor quien decida el valor de SP dependiendo de sus condiciones: nivel de las baterías, condiciones de la red, etc. SP en el método auto-regresivo En el método auto-regresivo el parámetro SP se puede controlar a través del parámetro en la Ecuación 4.5. En el método auto-regresivo SP = α . Si SP = α = 1 α denido signica que el método auto-regresivo no actualizará los umbrales y los valores de los mismos se estancarán en valores muy poco restrictivos, comportándose por tanto como M-DTSN y no deteniendo prematuramente la transmisión de ninguna trama. Por el contrario, si SP = α = 0 el método auto-regresivo actualizará los umbrales teniendo en cuenta sólo lo que sucedió con la última trama. En este sentido el algoritmo se adapta más rápido a las condiciones del canal, pero con una sola trama no suele tener ocasión de generar 76 4.2 Descripción de AM-DTSN unos umbrales estadísticamente válidos. El resultado es que el algoritmo oscila entre un comportamiento excesivamente restrictivo (cuando falla la transmisión de una tram(a) y excesivamente poco restrictivo (cuando la transmisión de una trama se produce exitosamente). Cuál es el valor óptimo del parámetro depende del escenario en concreto, y en particular de las condiciones del canal. Cuanto más inestable sea el canal un valor más alto del parámetro SP = α se adaptará más rápido a los cambios, mientras que para un canal más estable un valor bajo del parámetro SP = α. Cómo relacionar las condiciones del canal con el parámetro no ha sido explorado aún, y quizás sería interesante tratarlo en un trabajo futuro. Obsérvese que en el método auto-regresivo SP sirve para controlar el compromiso entre rendimiento y eciencia al igual que en el método de los histogramas, pero no tiene la misma interpretación de la proporción de tramas cuya transmisión respecto M-DTSN se quiere garantizar que se describió para el método de los histogramas. 77 Capítulo 5. Resultados experimentales Este capítulo está organizado de la siguiente manera. En la Sección 5.1 se describen las herramientas e implementaciones usadas para la programación de las soluciones y obtención de resultados. En la Sección 5.2 se denen varios parámetros relevantes para la interpretación de los resultados de las simulaciones. Para M-DTSN los resultados experimentales se presentan en la Sección 5.3 y para AM-DTSN en la Sección 5.4. Asimismo en cada una de las secciones se dan los detalles técnicos y valores de los parámetros de las simulaciones realizadas. 5.1. Herramientas e implementaciones utilizadas En esta sección se describe el entorno experimental implementado para evaluar la solución propuesta y descrita en el Capítulo 4. Se describen las herramientas usadas durante el desarrollo del proyecto, incluyendo el detalle de las versiones concretas. También se describe brevemente la implementación realizada para el proceso de obtención de resultados así como de las soluciones M-DTSN y AM-DTSN 5.1.1. Herramientas Las herramientas que se han utilizado para implementar el entorno experimental son: Sistema operativo Ubuntu Linux 9.10 en la primera fase del proyecto y Ubuntu 10.04 en la segunda. Sobre esta plataforma se llevó a cabo todo el trabajo de implementación, conguración, obtención de resultados y redacción de informes. Fue la plataforma base sobre la que funcionaron el resto de herramientas. Sistema operativo TinyOS descrito en la Sección 2.2.5. En una primera fase se utilizó la versión 2.1.0, qué más tarde fue actualizada a la versión 2.1.1 cuando ésta fue publicada. TinyOS no es la plataforma sobre la que se trabajaba en el computador, sino para la cuál se programaron y compilaron las soluciones M-DTSN y AM-DTSN, así como los módulos de DTSN y DSDV. Todo el código fuente ejecutado en TinyOS fue escrito en el lenguaje de programación propio de dicho sistema operativo, nesC [37]. Simulador TOSSIM, descrito en la Sección 2.2.6, donde se exponen asimismo las razones, justicaciones e implicaciones de utilizar este simulador. Su función fue la de, a partir del código máquina de TinyOS, simular una red de nodos que ejecutara dicho código máquina. Las características de la red de nodos y de la simulación son denidas a partir de un script en lenguaje Python. MATLAB, en la primera fase del proyecto se usó la versión 2009b, y más tarde 2010a cuando esta última versión fue publicada. Mediante MATLAB se leen los resultados de la simulación y se realiza un procesamiento de dichos resultados, haciendo los cálculos estadísticos que sean necesarios, generación de grácos, reordenación de los datos, etc. En la Figura 5.1 se muestra un esquema de la secuencia de pasos en los que se usan estas herramientas. En un primer paso, se genera el código fuente que se quiere ejecutar sobre el sistema operativo TinyOS. A 79 5.1 Herramientas e implementaciones utilizadas Código fuente TinyOS+DSDV+DTSN+M-DTSN+AM-DTSN Lenguage nesC Compilador de nesC Código máquina binario TinyOS+DSDV+DTSN+M-DTSN+AM-DTSN Lenguage nesC Script de la configuración de la simulación Lenguage Python + Simulador TOSSIM Intérprete Python Resultados de la simulación preprocesados Archivos ASCII en formato CSV + Scripts de análisis de los resultados y procesamiento de los datos. Lenguage MATLAB. Resultados Gráficos, estadísticas, etc. Figura 5.1: Secuencia de herramientas utilizadas durante el proceso de obtención de resultados continuación, se ejecuta el compilador de nesC para la plataforma TinyOS que genera el código máquina binario que se ejecutaría por el microcontrolador del nodo donde se instale dicho código máquina. A partir de este código máquina y de un script escrito en Python donde se conguran los parámetros de la simulación, el simulador TOSSIM lleva a cabo esta simulación, y al nal de ella, el propio script de Python hace un pre-procesamiento y ordenamiento de los datos resultado de la simulación. Finalmente el script guarda los resultados de la simulación en cheros de texto en formato CSV, a n de obtener la máxima compatibilidad y exibilidad al leerlos con aplicaciones externas. En el último paso MATLAB lee los datos de estos cheros CSV mediante un script y genera los resultados para presentar en un informe, tales como grácos. 5.1.2. Implementación En la Figura 5.2 se muestra esquemáticamente los componentes usados en la implementación así como las conexiones más relevantes a través de interfaces. Cada círculo del esquema representa un componente. Las líneas que unen los componentes representan una interfaz a través de la cual los componentes intercambian comandos y eventos. Las líneas discontinuas representan que una interfaz determinada con un componente en realidad no es implementada en dicho componente sino que se implementa en otro componente. Por tanto, los componentes atravesados por líneas discontinuas son simplemente un nexo de enlace intermedio creado con nes de exibilidad y modularidad, pero no implementa las interfaces. A continuación se describen los tres componentes más relevantes de la implementación: Interfaz MultimediaGate: esta interfaz permite a la capa de aplicación la ejecución de un comando send que recibe como argumentos un puntero a la dirección de memoria donde se encuentran los datos multimedia que se desean transmitir, y un entero que representa el número de milisegundos de que dispone la capa inferior para hacer llegar dichos datos al receptor, es la variable con que venimos tratando a lo largo del proyecto, intervalo de trama lance un evento en la capa de aplicación I. Esta interfaz también provoca que se frameSent cuando se consigue transmitir exitosamente una trama. Cuando se recibe una trama de datos multimedia exitosa y a tiempo, se lanza el comando 80 5.1 Herramientas e implementaciones utilizadas Componente CapaAplicacion.nc Interfaz StdControl.nc Interfaz MultimediaGate.nc Interfaz MultimediaGate.nc Componente MultimediaGateC.nc Componente MDTSNTransportC.nc Interfaz StdControl.nc Interfaces MDTSN.nc TransportFeedback.nc Receive.nc AMSend.nc Packet.nc Componente DSDVMultiHopRouterC.nc Interfaces Receive.nc AMSend.nc Intercept.nc Packet.nc RouteControl.nc Componente MultiHopEngineC.nc Interfaz Packet.nc Interfaces Receive.nc AMSend.nc Intercept.nc StdControl.nc Packet.nc RouteControl.nc RouteStatus.nc Interfaces RouteStatus.nc RouteSelect.nc RouteControl.nc Componente MDTSNEngineC.nc Interfaces AMSend.nc Receive.nc TransportFeedBack.nc Componente MDTSNEngineM.nc Componente MultiHopDSDVC.nc Figura 5.2: Esquema de la implementación de M-DTSN y AM-DTSN en TinyOS receive que lleva como parámetros el porcentaje recibido de dicha trama, lo que puede ser útil si se está trabajando con códigos FEC. Componente MultimediaGateC: en este componente se encuentra implementado el corazón de M-DTSN y AM-DTSN. Todas las funcionalidades de cálculo de umbrales, histogramas, control adaptativo y auto-regresivo, así como otras muchas características necesarias a nivel de implementación están aquí. Componente MDTSNEngineM: este componente es en realidad una modicación de la versión original, DTSNEngineC. Su funcionalidad es el protocolo DTSN. El comportamiento de este módulo 81 5.2 Indicadores de evaluación y condiciones de simulación podría bien haberse dejado intacto y exactamente igual al comportamiento de DTSN. Sin embargo, por comodidad se han realizado algunas pequeñas modicaciones y adaptaciones. Por ejemplo, se fuerza a que se envíe un EAR al nal de la transmisión de cada trama, independientemente del estado de la ventana. También se vacían los cachés y se renuevan las sesiones cuando se cambia de trama. 5.2. Indicadores de evaluación y condiciones de simulación A continuación se denen y se precisa el signicado de varios indicadores utilizados para interpretar los resultados experimentales obtenidos en el entorno previamente descrito: Se dene el PPTR , Porcentaje Promedio de Trama Recibido, como el porcentaje de trama recibido en promedio, calculado sobre todas las tramas que el receptor esperaba recibir en la simulación. Si la duración de la simulación fuera 2I, y se recibiera una trama al 25 % y la otra al 75 %, el PPTR sería 50 %. El PPTR se calcula sobre todas las tramas que deberían transmitirse. Si el receptor no recibe ningún byte de una trama, dicha trama contribuirá al PPTR con 0 %, y será tenida en cuenta para el cálculo del promedio. Nótese que un PPTR del 60 % indica también que se ha recibido en promedio el 60 % de todas las tramas que deberían haberse recibido. Éste indicador será útil para conocer si las tramas podrían recuperarse usando códigos FEC, y con qué proporción deberían funcionar dichos códigos. Al tratarse el PPTR de un promedio, en las guras de esta sección se incluye también un histograma que puede caracterizar más detalladamente la variable que mediante el PPTR podría quedar sólo parcialmente descrita. Puede considerarse el PPTR como una medida promediada del QoS de la transmisión de datos multimedia en tiempo real. Proporción de tramas útiles. La proporción de tramas útiles es el cociente entre el número de tramas que han sido útiles en el receptor y éste ha podido presentar a tiempo a la capa de aplicación y el número de tramas que en realidad debería haber mostrado. Puede calcularse como T I T otal tramas presentadas en receptor donde es la duración de la simulación e el intervalo de trama. T/I Dado que T e I son constantes para una simulación dada, la proporción de tramas útiles es directamente proporcional a la tasa de tramas útiles/s o imágenes/s recibidas en el receptor. En algún sentido este parámetro es una medida directa del QoS de la transmisión del ujo multimedia y del rendimiento. Proporción de bytes inútiles. Representa el cociente entre el número de bytes transmitidos por el transmisor y que fueron inútiles en el receptor a lo largo de toda la simulación entre el número total T otal bytes enviados transmisor−T otal bytes útiles receptor = T otal bytes enviados transmisor T otal bytes útiles receptor 1 − T otal bytes enviados transmisor . En este cómputo de bytes sólo se tiene en cuenta los datos multimedia a enviar, no se tienen en cuenta las cabeceras o cualquier otra tara. de bytes que el transmisor envió. Se calcula como S designa el tamaño de trama. S hace referencia a la cantidad de información multimedia, medida en KBytes, que contiene una trama. S no incluye las cabeceras u otras taras que estan presentes en la comunicacion. El canal físico será estudiado a través de su atenuación, cuyo valor viene representado por el parámetro A . En la Sección 2.1.4 se presentan los detalles sobre el modelo del canal físico. El intervalo de trama, tiempo entre dos tramas sucesivas, y tiempo de muestreo de los datos multimedia, se designará como I , tal como se viene haciendo a lo largo de toda esta memoria. Nótese que existe una restricción temporal, ya que sólo las tramas que lleguen al receptor antes de I segundos tras su captura serán útiles. El resto de tramas, recibidas demasiado tarde o bajo el umbral mínimo requerido serán inútiles. Respecto a las condiciones en las que se han ejecutado las simulaciones, hay que destacar que durante las mismas, el transmisor transmite un ujo de tramas constante. En el momento de comenzar la transmisión del ujo de tramas todos los nodos ya han comenzado a funcionar y las rutas de DSDV se han estabilizado. 82 5.3 Evaluación experimental de M-DTSN 5.3. Evaluación experimental de M-DTSN En esta sección se presentan los resultados obtenidos de una batería de experimentos realizados barriendo varios parámetros relevantes del escenario para M-DTSN. Salvo que se indique lo contrario en la sección correspondiente, o que se use un parámetro determinado como variable de la simulación, la Tabla 5.1 incluye los valores de los parámetros utilizados por defecto. La elección de estos valores para los parámetros de la simulación se basa en dos principios: (i) elegir valores que sean lo más cercanos posibles a un escenario real, y (ii) elegir los valores de los parámetros que no queremos estudiar de manera que no perturben los resultados de la simulación. Así, por ejemplo, el tamaño de la ventana de DTSN se elige a 50 paquetes porque es un valor común para la capacidad de procesamiento y memoria de los nodos con que se trabaja, y además no se produce congestión de la ventana en ninguno de los escenarios tratados. Evaluación de la dependencia con el tamaño de trama El tamaño de trama S es el tamaño total de los datos multimedia que se desean transmitir en una trama. No incluye el tamaño de las cabeceras ni de otro tipo de tara. En la Figura 5.3 se muestran los resultados correspondientes a un barrido del tamaño de trama, S. A continuación se explica el signicado de los resultados de la Figura 5.3, tratando cada subgura por separado: 5.3(a) Como se observa, el PPTR obtenido por M-DTSN es notablemente superior al obtenido por DTSN y S-DTSN. Cabe destacar que, si bien a partir de S =35KB el PPIR desciende también para M- DTSN, éste se mantiene en un amplio rango en valores superior al 72 % en promedio. Este detalle explica por qué teniendo un PPTR inferior al 100 % pueden recuperarse todas las tramas, cómo se ve en la subgura 5.3(c) para 5.3(b) 35KB ≤ S ≤ 41KB . En esta subgura se muestra el histograma del PTR. Se trata de un histograma que muestra cuantas tramas están en cada intervalo de porcentaje transmitido. Con este histograma se pretende añadir información sobre el PTR que puede no ser completa conociendo sólamente el promedio del PTR, PPTR de la subgura 5.3(a). El histograma muestra cómo la mayoría de las tramas transmitidas por M-DTSN llegaron a tiempo al receptor en un porcentaje superior al 90 %. Unas pocas llegaron con un porcentaje entre el 80 % y el 90 %. La distribución para DTSN tiene un aspecto plano, lo que indica una aleatoriedad uniforme en el porcentaje de trama transmitido. En efecto, el fenómeno que se produce para DTSN en este escenario con S =35KB es que el porcentaje que se consigue enviar de una trama es directamente proporcional al tiempo de trama que resta tras terminar la transmisión de la trama anterior. A su vez este tiempo está distribuido aleatoriamente para DTSN, al depender de en qué instante se comienza a transmitir la trama y por el hecho de que DTSN no detiene la transmisión de la trama al agotarse todo el intervalo de trama 5.3(c) Para valores de tamaño de trama pequeños, S < 35KB I. las tres aproximaciones consiguen una proporción de tramas útiles máxima, igual a 1, lo que signica que las tres aproximaciones son capaces de hacer llegar todas las tramas a tiempo al receptor. Esto es así porque para estos tamaños Parámetro Valor por defecto Tamaño de ventana de DTSN 50 paquetes Tamaño de ventana de conrmación de DTSN 25 paquetes Temporizador de los EAR Intervalo de imagen, I Duración de la simulación Jitter permitido Umbral de recepción b 250 ms 5000 ms 500·I ms a 100 ms 5/7 (72 %) Tabla 5.1: Valores de los parámetros por defecto para las simulaciones de M-DTSN. a La duración de la simulación es 500 tramas, 500 · I , por lo tanto su duración en tiempo depende del valor de en cada simulación. b Porcentaje a partir del cual se considera la trama como útil. Ver Sección 2.2.1. 83 I usado 5.3 Evaluación experimental de M-DTSN 1 100 M−DTSN DTSN S−DTSN 0.9 0.8 Histograma del PTR PPTR 80 60 40 20 0 25 0.6 0.5 0.4 0.3 0.2 M−DTSN DTSN S−DTSN 30 0.7 0.1 35 40 Tamano de trama (KBytes) 0 45 0−10 10−20 20−30 30−40 40−50 50−60 60−70 70−80 80−90 90−100 Porcentaje de Trama Recibido, PTR (%) (a) (b) S=35 KB 1 Proporcion de bytes inutiles Proporcion de tramas utiles 1 0.8 0.6 0.4 0.2 0 25 M−DTSN DTSN S−DTSN 30 35 40 Tamano de trama (KBytes) 0.8 M−DTSN DTSN S−DTSN 0.6 0.4 0.2 0 25 45 30 35 40 Tamano de trama (KBytes) (c) 45 (d) Figura 5.3: Resultados experimentales de la dependencia con el tamaño de trama en M-DTSN. A=75 dB. (a) PPTR. (b) Histograma de la distribución de PTR para S =35 KB. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. de trama las tres aproximaciones tienen tiempo suciente para completar la transmisiones de una trama en menos de I segundos. Cuando aumenta el tamaño de trama para completar la transmisión de una trama empieza a sobrepasar I 35KB ≤ S el tiempo necesario segundos, lo que provoca que DTSN y S-DTSN tengan problemas para mantener la tasa de tramas útiles que se requiere, mientras que M-DTSN, gracias a su mecanismo de parada, es capaz de mantener la tasa de tramas útiles al máximo rendimiento hasta S = 41KB , momento a partir del cual empieza a descender la tasa de tramas útiles. 5.3(d) En este escenario la proporción de información inútil está bastante próxima al complementario de la proporción de tramas útiles (subgura 5.3(c)), aunque no es exactamente igual. Dependiendo del escenario ambas subguras estarán más o menos relacionadas. Como se observará en otras simulaciones ambas curvas no siempre están tan ligadas. A=0dB y un rango S. Las conclusiones que se pueden leer de los resultados de la En la Figura 5.4 se repite la misma simulación para una atenuación del canal de diferente de valores del tamaño de trama Figura 5.4 son análogos a los resultados de la interpretación de la Figura 5.3. Sólo destacar el hecho de que, a pesar de que en ambas Figuras en la subgura (a) se observa que el PPTR desciende a valores similares, en el caso de la Figura 5.3 la distribución de porcentajes de recepción de las tramas es más dispersa que en la Figura 5.4, puesto que la tasa de tramas útiles desciende y por tanto quiere decir que hay una cierta cantidad notable de tramas cuyo porcentaje de recepción ha descendido por debajo de 72 %, y por ende habrá otra cierta cantidad cuyo valor de recepción sea igualmente superior al PPTR de forma que en promedio se obtenga el PPTR. En la Figura 5.4 (b) la tasa de tramas útiles se mantiene constante a 1 y por tanto la distribución de los porcentajes de recepción de trama se mantiene poco dispersa entorno al PPTR. 84 5.3 Evaluación experimental de M-DTSN 1 100 M−DTSN DTSN S−DTSN 0.9 0.8 Histograma del PTR PPTR 80 60 40 20 0 40 0.6 0.5 0.4 0.3 0.2 M−DTSN DTSN S−DTSN 35 0.7 0.1 45 50 Tamano de trama (KBytes) 0 55 0−10 10−20 20−30 30−40 40−50 50−60 60−70 70−80 80−90 90−100 Porcentaje de Trama Recibido, PTR (%) (a) (b) 1 Proporcion de bytes inutiles Proporcion de tramas utiles 1 0.8 0.6 0.4 0.2 0 M−DTSN DTSN S−DTSN 35 40 45 50 Tamano de trama (KBytes) 0.8 0.6 0.4 0.2 0 55 M−DTSN DTSN S−DTSN 35 40 45 50 Tamano de trama (KBytes) (c) 55 (d) Figura 5.4: Resultados experimentales de la dependencia con el tamaño de trama en M-DTSN. (a) PPTR. (b) Histograma de la distribución de PTR para S =43KB. A=0 dB. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. Evaluación de la dependencia con la atenuación del canal En las Figuras 5.5 y 5.6 se muestran los resultados de las simulaciones variando la atenuación del canal entre los nodos. La atenuación del canal tiene una inuencia que puede en algún caso asemejarse a la del tamaño de trama, pero que en realidad es diferente. Así lo muestran los resultados de la Figura 5.5, que van a ser interpretados para cada subgura: 5.5(a) El PPTR es superior en M-DTSN que en DTSN y S-DTSN para todo el rango de valores de atenuación simulados. Sin embargo puede apreciarse que, en comparación con las guras anteriores (de la dependencia con el tamaño de trama), la brecha entre el PPTR de M-DTSN y DTSN es bastante más estrecha cuando variamos la atenuación del canal. Esto se debe a que el tamaño de trama S =10KB es relativamente pequeño. En las Figuras 5.3 y 5.4 se constata que, en efecto, cuanto menor es el tamaño de trama más parecidos son los resultados obtenidos por las tres estrategias, M-DTSN, DTSN y S-DTSN. 5.5(b) La mayoría de las tramas de S-DTSN no son vistas por el receptor para A=90 dB (subgura 5.5(a) ). Esto explica por qué en esta subgura todas las tramas de S-DTSN están en el rango de PTR menor que 10 %. Asimismo para DTSN y AM-DTSN existen algunas tramas que consiguen porcentajes mayores, pero son muy escasas las que superan el 70 %. 5.5(c) Por lo comentado de la subgura 5.5(b), en la subgura 5.5(c) se observa que la proporción de tramas inútiles para A=90 dB es prácticamente nula para las tres estrategias. Obsérvese que en este punto el PPTR de M-DTSN es algo superior. A pesar de ello, si éste no supera notablemente el 72 %, la proporción de tramas útiles será para M-DTSN prácticamente igual de baja que para 85 5.3 Evaluación experimental de M-DTSN 1 100 M−DTSN DTSN S−DTSN 0.9 0.8 Histograma del PTR PPTR 80 60 40 20 0 80 85 90 Atenuacion (dB) 95 0.6 0.5 0.4 0.3 0.2 M−DTSN DTSN S−DTSN 75 0.7 0.1 0 100 0−10 10−20 20−30 30−40 40−50 50−60 60−70 70−80 80−90 90−100 Porcentaje de Trama Recibido, PTR (%) (a) (b) A=90 dB 1 Proporcion de bytes inutiles Proporcion de tramas utiles 1 0.8 0.6 0.4 0.2 0 M−DTSN DTSN S−DTSN 75 80 85 90 Atenuacion (dB) 95 0.8 0.6 0.4 0.2 0 100 M−DTSN DTSN S−DTSN 75 80 85 90 Atenuacion (dB) (c) 95 100 (d) Figura 5.5: Resultados experimentales de la dependencia con la atenuación del canal en M-DTSN. S =10 KB. (a) PPTR. (b) Histograma de la distribución de PTR para A=90 dB. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. DTSN y S-DTSN. En este punto conviene señalar que AM-DTSN aprovecha esta situación. AMDTSN pensaría ya que no voy a obtener una tasa de tramas útiles superior a DTSN y S-DTSN, ¾por qué consumir recursos para aumentar el PPTR?. En la Figura 5.6, la brecha entre M-DTSN y DTSN y S-DTSN se ha abierto bastante con respecto a S =30 KB, es considerablemente mayor que S =10 KB y, por tanto, M-DTSN puede mostrar su superioridad, ya que el la Figura 5.5. Esto se debe a que ahora el tamaño de trama, en la Figura 5.5, donde valía tiempo necesario para la transmisión de la trama se hace más escaso en este escenario que en el anterior. A continuación se presenta una lectura de cada subgura de la Figura 5.6: 5.6(a) La caída de PPTR se hace más abrupta al variar la atenuación del canal, en contraste con la caida lineal al variar el tamaño de trama (Figuras 5.3 y 5.4). Esto se debe a que, jando todos los parámetros de un escenario y variando sólo el tamaño de trama, el rendimiento de la transmisión es 1 si el tamaño de trama es inferior a la velocidad de transmisión binaria vista por la capa de aplicación multiplicada por I. Sin embargo, al aproximarse el tamaño de trama S a esta cantidad el tiempo de transmisión empieza a no ser suciente y el porcentaje de trama que se consigue transmitir es inversamente proporcional al tamaño de la trama, ya que el tiempo para transmitir la trama I se mantiene constante pero en dicho intervalo de tiempo habrá más PTR cuanto menor sea el tamaño de la trama, 5.6(b) S. Al igual que en la Figura 5.5 el histograma muestra que M-DTSN consigue una cantidad de PTR bastante superior para muchas más tramas que DTSN y S-DTSN para una atenuación 5.6(c) A=80 dB. Sin embargo la proporción de tramas útiles que se reciben es igualmente nula para las tres estrategias, corroborando la necesidad de un protocolo que optimice esta situación, reduciendo el PTR 86 5.3 Evaluación experimental de M-DTSN 1 100 M−DTSN DTSN S−DTSN 0.9 0.8 Histograma del PTR PPTR 80 60 40 20 0 70 0.6 0.5 0.4 0.3 0.2 M−DTSN DTSN S−DTSN 65 0.7 0.1 75 80 85 Atenuacion (dB) 90 0 95 0−10 10−20 20−30 30−40 40−50 50−60 60−70 70−80 80−90 90−100 Porcentaje de Trama Recibido, PTR (%) (a) (b) 1 Proporcion de bytes inutiles Proporcion de tramas utiles 1 0.8 0.6 0.4 0.2 0 M−DTSN DTSN S−DTSN 65 70 75 80 85 Atenuacion (dB) 90 0.8 0.6 0.4 0.2 0 95 M−DTSN DTSN S−DTSN 65 70 75 (c) 80 85 Atenuacion (dB) 90 95 (d) Figura 5.6: Resultados experimentales de la dependencia con la atenuación del canal en M-DTSN. S =30 KB. (a) PPTR. (b) Histograma de la distribución de PTR para A=80 dB. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. cuando no sea de utilidad, motivo por el que surge AM-DTSN. Evaluación de la dependencia con el periodo de muestreo El periodo de muestreo no es más que el intervalo de trama I con el que se viene trabajando. En este sentido, el hecho de designarlo como periodo de muestreo viene de la relevancia que tiene este parámetro en un escenario de captura y transmisión de un ujo de datos multimedia. En la Figura 5.7 se ha realizado un barrido del periodo de muestreo entre 1500 y 3000 ms. Para valores del periodo de muestreo mayores 3500 ms el tiempo entre trama y trama es sucientemente grande para que se lleve a cabo la transmisión de las tramas sin problemas teniendo en cuenta el valor del tamaño de trama. Se ha elegido un valor del tamaño de trama S=15 KB, relativamente pequeño, para poder explorar qué sucede si se reduce el periodo de muestreo. Si eligiéramos un tamaño de trama S mayor, la caída sería más abrupta al reducir el periodo de muestreo y la gura proporcionaría poca información. 5.7(a) Para valores de I a partir de 2500 ms existe tiempo de sobra para la transmisión de S =15 KB de datos multimedia, y por tanto las tres aproximaciones obtienen un PPTR próximo al 100 % ya que consiguen transmitir a tiempo el 100 % de la trama. Sin embargo, para valores de I menores de 2500 ms el tiempo disponible para la transmisión de la trama es menor y por tanto ya no se consiguen enviar todas las tramas y el PPTR desciende. Este descenso es menor para M-DTSN que para DTSN y S-DTSN, lo que prueba su superioridad. Observesé que, a partir de estos datos podríamos acotar el valor de la tasa de transferencia binaria observada en la capa de aplicación. Dado que en 2500 ms se pueden transmitir 15 KB sin problemas, y que en 2000 ms ya no es así, el valor de la tasa binaria de transferencia de datos visto en la capa de aplicación debe estar en el rango 15KB 2500ms , 15KB 2000ms 87 = [49 152 , 61 440] bps. 5.3 Evaluación experimental de M-DTSN 1 100 M−DTSN DTSN S−DTSN 0.9 0.8 Histograma del PTR 80 PPTR 60 40 20 0 1500 0.6 0.5 0.4 0.3 0.2 M−DTSN DTSN S−DTSN 2000 2500 Periodo de muestreo (ms) 0.7 0.1 0 3000 0−10 10−20 20−30 30−40 40−50 50−60 60−70 70−80 80−90 90−100 Porcentaje de Trama Recibido, PTR (%) (a) (b) 1 Proporcion de bytes inutiles Proporcion de tramas utiles 1 0.8 0.6 0.4 0.2 0 1500 M−DTSN DTSN S−DTSN 2000 2500 Periodo de muestreo (ms) 0.8 0.6 0.4 0.2 0 1500 3000 M−DTSN DTSN S−DTSN 2000 2500 Periodo de muestreo (ms) (c) 3000 (d) Figura 5.7: Resultados experimentales de la dependencia con el periodo de muestreo en M-DTSN. KB. A=75 dB. (a) PPTR. (b) Histograma de la distribución de PTR I =2000 S =15 ms. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. 5.7(b) El histograma señala que M-DTSN mantiene la mayoría de sus tramas en un porcentaje superior al 70 %, si bien existe una minoría que está bajo el 70 %. Esta minoría de tramas que no llegan al porcentaje mínimo para ser útiles en el receptor (72 %) son las causantes de que para I =2000 ms la proporción de tramas útiles descienda ligeramente de 1 (subgura 5.7(c)). 5.7(c) Para los valores de I a partir de 2500 ms, se observa que la proporción de tramas útiles es 1, lo cual es coherente con la subgura 5.7(a) al mantenerse el PPTR muy superior al 72 %. Para valores de I inferiores a 2500 ms la tasa de tramas útiles desciende. Este descenso es mucho más brusco para DTSN y S-DTSN que para M-DTSN ya que para las estrategias de DTSN y S-DTSN el hecho de no conseguir transmitir una trama a tiempo les supone, no sólo la contribución a datos inútiles de esta trama, sino el hecho de que tendrán menos probabilidades de transmitir con éxito la siguiente trama. M-DTSN funciona en el mismo escenario, y por tanto puede agotársele el tiempo de trama I de igual manera que a DTSN y S-DTSN. Sin embargo, esto no afectará a la transmisión de las tramas sucesivas ya que M-DTSN detiene la transmisión cuando se agota el intervalo de trama. 5.7(d) La proporción de bytes inútiles es un espejo de la proporción de tramas útiles. En la Figura 5.8 la interpretación de los datos es análoga a la Figura 5.7. Cabe destacar el contraste entre las subguras 5.8(a) y 5.8(c). Mientras que el PPTR decrece linealmente con el intervalo de trama I, la proporción de tramas útiles decrece de manera no lineal, y para un valor 3500 ms ≤ I ≤ 4000 ms se produce una caída abrupta. Esto se debe al hecho de que una trama es útil si se recibe a tiempo más del 72 % de dicha trama, e inútil si se recibe menos. No existe un punto intermedio, o la trama se muestra en el receptor o se descarta por completo. En este punto surge la idea de que tendría sentido usar esquemas de codicación en los que la información de una trama fuera útil para las sucesivas tramas, de manera que la recepción de una trama al 88 5.3 1 100 M−DTSN DTSN S−DTSN M−DTSN DTSN S−DTSN 0.9 0.8 Histograma del PTR 80 PPTR Evaluación experimental de M-DTSN 60 40 0.7 0.6 0.5 0.4 0.3 0.2 20 0.1 0 2500 3000 3500 4000 Periodo de muestreo (ms) 4500 0 5000 0−10 10−20 20−30 30−40 40−50 50−60 60−70 70−80 80−90 90−100 Porcentaje de Trama Recibido, PTR (%) (a) (b) I =400 ms 0.8 1 M−DTSN DTSN S−DTSN Proporcion de bytes inutiles Proporcion de tramas utiles 1 0.6 0.4 0.2 0 2500 3000 3500 4000 Periodo de muestreo (ms) 4500 0.8 0.6 0.4 0.2 M−DTSN DTSN S−DTSN 0 2500 5000 3000 (c) 3500 4000 Periodo de muestreo (ms) 4500 5000 (d) Figura 5.8: Resultados experimentales de la dependencia con el periodo de muestreo en M-DTSN. S =35KB. A=75 dB. (a) PPTR. (b) Histograma de la distribución de PTR para I =4000 ms. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. 70 % no se pudiera presentar, pero implicara más posibilidades de presentar la siguiente trama al contener cierta información sobre esta. Evaluación de la dependencia con el número de saltos El comportamiento de la red en función del número de saltos es una pieza clave en las redes inalámbricas de sensores. Tal como se expuso en el Capítulo 1, las redes de sensores tienen como característica una comunicación multi-salto, y están formadas por una cantidad notable de nodos, teniendo por tanto exigencias de escalabilidad. En la práctica son pocas las situaciones en que la comunicación entre el sensor y el sumidero será directa. Normalmente existirán una serie de nodos intermedios. A n de evaluar el comportamiento de M-DTSN en función del número de saltos entre el transmisor y el receptor se muestran los resultados de dos simulaciones en las Figuras 5.9 y 5.10. Como se observa en la Figura 5.9 el número de saltos entre transmisor y receptor es un parámetro muy importante. Para un número de saltos igual a 2 la comunicación se establece sin problemas y la proporción de tramas útiles es 1, mientras que para tres saltos entre el transmisor y el receptor la proporción de tramas que se transmiten es 0, por lo que, en este escenario en concreto hay que tener muy en cuenta cual será el número de saltos. ¾Por qué tiene tanta inuencia el número de saltos? El aumento en 1 salto entre el transmisor y el receptor supone varios inconvenientes. Primero, la probabilidad de error en la transmisión aumenta exponencialmente. Si la probabilidad de error con un salto entre transmisor y receptor es p con N saltos será k=N X (N − k + 1) pk (1 − p) k=1 89 N −k (5.1) 5.3 Evaluación experimental de M-DTSN 1 100 M−DTSN DTSN S−DTSN 0.8 Histograma del PTR 80 M−DTSN DTSN S−DTSN 0.9 PPTR 60 40 20 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 2 3 Numero de saltos 0 4 0−10 10−20 20−30 30−40 40−50 50−60 60−70 70−80 80−90 90−100 Porcentaje de Trama Recibido, PTR (%) (a) (b) 3 saltos 1 M−DTSN DTSN S−DTSN 0.8 Proporcion de bytes inutiles Proporcion de tramas utiles 1 0.6 0.4 0.2 0 2 3 Numero de saltos 0.8 0.6 0.4 0.2 0 4 M−DTSN DTSN S−DTSN 2 (c) 3 Numero de saltos 4 (d) A=75 dB. S =15KB. (a) PPTR. (b) Histograma de la distribución de PTR para 3 saltos. (c) Proporción de tramas Figura 5.9: Resultados experimentales de la dependencia con el número de saltos en M-DTSN. útiles. (d) Proporción de bytes inútiles. ya que la probabilidad de error se incrementa por poder producirse en cualquiera de los saltos. Segundo, aumenta el retardo de la transmisión, y por tanto DTSN funcionará con más taras ya que se enviarán más retransmisiones, habrá más conrmaciones que se pierdan, etc. En la Figura 5.10 se muestran los resultados de la simulación de un escenario en el que el descenso del rendimiento es menos radical que en el anterior. Se debe principalmente al hecho de que en el escenario correspondiente a la Figura 5.9 la atenuación de los enlaces se estableció 75 dB y en el escenario correspondiente a la Figura 5.10 la atenuación de los enlaces se estableció a 0 dB. Esto tiene grandes implicaciones, ya que si se reduce la atenuación del canal, se reduce la probabilidad de error en un enlace y la Expresión (5.1) decrece considerablemente, de manera que el rendimiento total no decrece tan bruscamente. Por ello, se puede deducir que la calidad de los enlaces es clave a la hora de diseñar una red inalámbrica de sensores. Dependiendo de la calidad de los enlaces, (que depende de la distancia entre los nodos, ver Sección 2.1.4) la arquitectura de la red permitirá añadir más o menos saltos entre transmisor y receptor. En este escenario, para 5 saltos entre transmisor y receptor AM-DTSN consigue aún mantener una proporción de tramas útiles considerables, mientras que DTSN y S-DTSN obtienen un rendimiento notablemente menor, lo que prueba una vez más la superioridad de M-DTSN. Evaluación de la dependencia con el jitter A pesar de haber permitido un jitter de 100 ms durante todas las simulaciones, el valor de este parámetro no resulta muy relevante de cara a los resultados experimentales. Ello se puede constatar en la Figura 5.11. Como se aprecia, el valor del PPTR no cambia signicativamente al variar el valor del jitter, por lo que se puede considerar que en comparación con la inuencia del resto de parámetros que se estudian en este apartado, el jitter resulta prácticamente irrelevante en las condiciones de evaluación 90 5.3 Evaluación experimental de M-DTSN 1 100 M−DTSN DTSN S−DTSN 0.9 0.8 Histograma del PTR 80 PPTR 60 40 20 0 0.6 0.5 0.4 0.3 0.2 M−DTSN DTSN S−DTSN 4 0.7 0.1 5 Numero de saltos 0 6 0−10 10−20 20−30 30−40 40−50 50−60 60−70 70−80 80−90 90−100 Porcentaje de Trama Recibido, PTR (%) (a) (b) 5 saltos 1 Proporcion de bytes inutiles Proporcion de tramas utiles 1 0.8 0.6 0.4 0.2 0 M−DTSN DTSN S−DTSN 4 5 Numero de saltos 0.8 0.6 0.4 0.2 0 6 M−DTSN DTSN S−DTSN 4 5 Numero de saltos (c) 6 (d) Figura 5.10: Resultados experimentales de la dependencia con el número de saltos en M-DTSN. S =10KB. A=0 dB. (a) PPTR. (b) Histograma de la distribución de PTR para 5 saltos. (c) Proporción de tramas útiles. (d) Proporción de bytes inútiles. 100 80 60 PPTR PPTR 80 100 M−DTSN DTSN S−DTSN 60 M−DTSN 40 40 20 20 DTSN S−DTSN 0 0 100 200 300 Jitter (ms) 400 500 (a) 0 0 200 400 600 Jitter (ms) 800 1000 (b) Figura 5.11: Resultados experimentales de la dependencia con el jitter en M-DTSN. PPTR para (a) S =30KB, A=90 dB, (b) S =35KB, A=75 dB. impuestas en este trabajo. Evaluación de la dependencia con el tamaño de la ventana de DTSN A n de vericar que el tamaño de la ventana de DTSN elegido no está perturbando los experimentos, y que no existe congestión debido a la ventana, también se han realizado una serie de simulaciones para 91 5.4 Evaluación experimental de AM-DTSN 100 80 PPTR M−DTSN DTSN 60 S−DTSN 40 20 0 10 20 30 40 50 Tamaño de la ventana DTSN (paquetes) 60 Figura 5.12: Resultados experimentales de la dependencia con el tamaño de la ventana de DTSN en M-DTSN. PPTR para S =35KB, A=75 dB. diferentes escenarios. En particular, para las simulaciones se utiliza un tamaño de ventana de 50 paquetes. En la gura 5.12 se puede observar uno de los barridos del tamaño de ventana que se han realizado.Puede observarse que al incrementar el tamaño de ventana para valores mayores de 50 paquetes, el PPTR no crece signicativamente, por lo que al igual que el jitter, un tamaño de ventana de 50 paquetes no impone ninguna restricción. Asimismo es cierto que si el tamaño de la ventana de DTSN se eligiera más pequeño que 20 paquetes existiría una congestión de la ventana. 5.4. Evaluación experimental de AM-DTSN En esta sección se muestran los resultados de las simulaciones realizadas para AM-DTSN. Dado que en la Sección 5.3 se demostró la mejora notoria de M-DTSN sobre DTSN y S-DTSN, en esta sección se comparará AM-DTSN sólo con M-DTSN, dando por sentado que las prestaciones y eciencia de DTSN y S-DTSN son inferiores a las de M-DTSN. La Tabla 5.2 incluye los valores por defecto de los parámetros del escenario utilizados. Estos valores por defecto se modicarán para cada simulación en concreto, pero mientras no se indique explícitamente lo contrario para la simulación, los valores de los parámetros son los indicados en la Tabla 5.2. Nótese que estos valores son usados por todas las estrategías que participan en una misma simulación, de forma que se puedan comparar de manera justa los resultados de cada una de ellas. Aunque para las simulaciones de M-DTSN en la Sección 5.3 se haya exigido sólo el 72 % de la trama para considerarla útil, a la hora de comprar M-DTSN con AM-DTSN se le exige la misma cantidad transmitida (100 %) para Parámetro Valor por defecto Tamaño de ventana de DTSN 60 paquetes Tamaño de ventana de conrmación de DTSN 30 paquetes Temporizador de los EAR Intervalo de imagen, I 100 ms 5000 ms Duración de la simulación 2000·I ms Jitter permitido 0 ms Umbral de c recepción Sincronización Transmisor-Receptor a b 100 % Desactivada Tabla 5.2: Valores de los parámetros por defecto para las simulaciones de AM-DTSN a La duración de la simulación es 2000 tramas, 2000 · I segundos, por lo tanto su duración en tiempo depende del valor de I usado en cada simulación. En el método de los histogramas este tiempo corresponde únicamente a la fase de operación. La fase de inicialización se realiza con una duración de 2000 tramas adicionales. Ver la Sección 4.2.3. b Como se mostró en la Sección 5.3 este parámetro no inuye notablemente en los resultados, por lo que se hace 0 para simplicar. c Se exige la recepción completa de la trama para que sea útil en el receptor. 92 5.4 1 Proporcion de tramas utiles 100 PPTR 80 60 40 20 0.8 0.6 0.4 0.2 M−DTSN AM−DTSN M−DTSN AM−DTSN 0 Evaluación experimental de AM-DTSN 30 32 34 36 38 Tamano de trama (KBytes) 40 0 42 30 32 34 36 38 Tamano de trama (KBytes) Proporcion de datos inutiles 1 0.8 0.6 0.4 0.2 M−DTSN AM−DTSN 0 30 32 42 40 42 (b) 34 36 38 Tamano de trama (KBytes) 40 Datos inutiles enviados por trama (KB) (a) 40 42 M−DTSN AM−DTSN 30 25 20 15 10 5 0 30 32 34 36 38 Tamano de trama (KBytes) (c) (d) Figura 5.13: Resultados experimentales de la dependencia con el tamaño de trama en AM-DTSN con el método de los histogramas. S P=0.95. A=75 dB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. considerar la trama útil. Igual sucede con el resto de parámetros, de forma que la comparación se realice bajo las mismas condiciones. 5.4.1. Método de los histogramas Nótese que durante esta sección no se aplica el mecanismo de autoajuste entre transmisor y receptor descrito en la Sección 4.2.5. Por lo tanto el rendimiento de AM-DTSN sería en realidad superior. En la Figura 5.21 se hace una comparativa del rendimiento usando el mecanismo de autoajuste y sin usarlo. Evaluación de la dependencia con el tamaño de trama En la Figura 5.13 se muestran los resultados experimentales de una simulación de AM-DTSN mediante el método de los histogramas usando un valor SP=0.95. Los resultados obtenidos son bastante satisfactorios por dos razones: (i) AM-DTSN mantiene prácticamente el mismo rendimiento que M-DTSN (subgura 5.13(b)) y (ii) AM-DTSN reduce considerablemente la cantidad total de datos inútiles transmitidos (subgura 5.13(d)). A continuación se va a comentar más en detalle cada subgura de la Figura 5.13: 5.13(a) El PPTR obtenido por M-DTSN es el mismo ya mostrado en la Figura 5.3. Para AM-DTSN se observa que el PPTR decrece considerablemente para tamaños de trama superiores a 34 KB ¾Por qué? Esto sucede porque AM-DTSN está detectando que no es capaz de alcanzar el 100 % de PTR requerido para que las tramas sean útiles en el receptor, y por tanto decrementa el PTR que transmite ya que detiene la transmisión de las tramas prematuramente antes de consumir todo el intervalo de trama I, ahorrando por tanto tiempo de operación y energía de las baterías. Además 93 5.4 Evaluación experimental de AM-DTSN transmite menos datos para las tramas que prevé que no será capaz de transmitir a tiempo. También merece la pena señalar que cuando es posible alcanzar un PPTR de 100 % entonces AM-DTSN se comporta exactamente como M-DTSN ya que no hay necesidad de detener la transmisión de ninguna trama puesto que todas puede entregarse a tiempo. En efecto, esto queda reejado en la Figura 5.13(a) para tamaños de trama menores que 34 KB. 5.13(b) Normalmente esperaríamos que M-DTSN obtuviera las proporciones de tramas útiles más altas posibles. Y de hecho, esto sucede para un amplio rango de valores del tamaño de trama. Sin embargo, para algunos tamaños de trama AM-DTSN entrega una proporción de tramas útiles incluso más alta que M-DTSN. ¾Por qué sucede esto? Cuando AM-DTSN detiene la transmisión de una trama (que no hubiera podido transmitirse correctamente) aumenta sus probabilidades de transmitir correctamente la trama siguiente. Por otro lado, M-DTSN intenta transmitir la trama hasta el último momento, agotando completamente el intervalo de trama I. Esto propicia que, aunque no en la teoría pero sí en la práctica, la trama siguiente tenga menos probabilidades de ser transmitida a tiempo porque cuando se comienza a enviar la siguiente trama, tanto el transmisor como el receptor tienen datos en los búeres, y necesitan algunos milisegundos para detener la transmisión de una trama y comenzar la transmisión de la siguiente. En resumen, el hecho de que AM-DTSN detenga la transmisión de una trama prematuramente le da más tiempo para prepararse para la transmisión de la siguiente. Esto puede ser especialmente relevante cuando existen varios saltos en el camino entre los nodos. Puede inferirse que esta ligera mejora de la proporción de tramas útiles sobre M-DTSN sólo está presente cuando AM-DTSN está funcionando realmente, en los escenarios en los que se comporta de manera diferente a M-DTSN. Hay que señalar que AMDTSN obtiene esta proporción tan alta de tramas útiles porque el parámetro SP fue establecido con valor 0.95, que pretende garantizar una proporción de tramas útiles de al menos el 95 % de las obtenidas por M-DTSN en el mismo escenario. En la subgura 5.13(b) esta proporción de tramas útiles desciende. 5.13(c) El objetivo de AM-DTSN era reducir la cantidad de información transmitida inútil. En esta subgura, sin embargo, no parece haber una gran mejora. Esto es así porque la gráca muestra la proporción de datos inútiles respecto de la cantidad de datos útiles recibidos, no la cantidad real de datos inútiles. Por tanto, como se observa, la proporción de datos inútiles se reduce, lo cual es positivo. Pero, ¾qué sucede con la cantidad real de datos inútiles transmitido? Véase la sugura 5.13(d). 5.13(d) Esta subgura muestra la cantidad real de información inútil que se transmitió, normalizada por el número de tramas simuladas (2000 en este caso). El factor de normalización es el mismo para M-DTSN y AM-DTSN, ya que ambos son simulados durante 2000 tramas. Por tanto, la cantidad real de datos inútiles es directamente proporcional a la gráca mostrada en esta subgura, y el factor de proporcionalidad es el mismo para M-DTSN y AM-DTSN. Este comentario se hace para claricar que la gráca nos está dando información sobre la cantidad de información bruta e inútil transmitida, y que se puede comparar la curva de M-DTSN con la de AM-DTSN ya que están en la misma escala. Esta subgura es sin duda la más interesante de todas. En las subguras anteriores se observa que AM-DTSN mejora sobre M-DTSN, pero sólo ligeramente. En esta gráca, se observa cláramente una mejora notable de AM-DTSN sobre M-DTSN. A continuación se comentará por rango de valores del tamaño de trama S: 30 KB - 34 KB: en este rango ambos transmiten aproximadamente la misma cantidad de información inútil. Ya que esta cantidad es aún pequeña, AM-DTSN se está comportando como M-DTSN para obtener la proporción de tramas útiles más alta posible. El momento en que AM-DTSN comienza a comportarse de manera diferente depende del valor de SP. Cabe señalar simplemente que SP podría haberse elegido de manera que AM-DTSN comenzara a reducir la cantidad de información inútil transmitida antes (por ejemplo, para 32KB) y esto implicaría que la proporción de tramas útiles se decrementaría. En este rango de valores de S, AM-DTSN está pensando: hay muchas probabilidades de completar la transmisión de las tramas a tiempo, ½apostemos todos los bytes! 35 KB: AM-DTSN está comenzando a funcionar. Dado que la proporción de tramas útiles ha decrecido comparada con su valor en 34 KB, hay más tramas para las cuales AM-DTSN puede 94 5.4 Evaluación experimental de AM-DTSN detectar un transmisión fallida tempranamente, y por tanto existen más tramas para las cuales AM-DTSN tiene la posibilidad de mejorar sobre M-DTSN. AM-DTSN está pensando: Ahora no hay tantas probabilidades de completar las transmisiones a tiempo, entonces apostaré menos bytes que antes 36 KB - 40 KB: AM-DTSN muestra una gran mejora sobre M-DTSN. Esta mejora viene en dos formas. Menos cantidad de bytes inútiles que la red tiene que transportar, y menos duración del tiempo en el que el transmisor está funcionando, lo cual ahorra recursos energéticos. AMDTSN está pensando: No hay muchas posibilidades de transmitir a tiempo las tramas, así que apostaré pocos bytes a que soy capaz. Para valores del tamaño de trama menores que 37 KB la cantidad de datos inútiles transmitidos por trama por M-DTSN crece con el tamaño de trama. ¾Por qué? El hecho de que el tamaño de las tramas sea mayor provoca que (i) haya más tramas fallidas (ii) las tramas fallidas aporten más cantidad de datos inútiles. Sin embargo, para tamaños de trama mayores que 37 KB la cantidad de datos inútiles por trama se satura y no crece a pesar de aumentar el tamaño de trama. ¾Por qué? Esto es debido a que M-DTSN tiene un tiempo limitado para transmitir los datos de una trama. Si se agota el intervalo de trama I, a pesar de que el tamaño de trama sea mayor M-DTSN no continúa transmitiendo la trama. Lo que sucede es que para valores de trama superiores a 37 KB M-DTSN ya está transmitiendo todo el tiempo datos inútiles, y aunque se aumente el tamaño de trama M-DTSN no transmitirá más datos inútiles simplemente porque no tiene más tiempo físico para transmitir datos ya que está el 100 % del tiempo ocupado transmitiendo datos inútiles. Así pues, puede inferirse una estimación de la tasa de transmisión 37 KB 37 KB = 5000 I ms = 60 620 bps, que limita la cantidad de datos tanto inútiles como útiles que M-DTSN o AM-DTSN pueden transmitir. binaria observada por la capa de aplicación como Esta tasa binaria coincide con la inferida de la Figura 5.7. En resumen los resultados de la Figura 5.13 muestran que AM-DTSN reduce el consumo de recursos (información transmitida, tiempo de transmisión) para obtener, no sólo el mismo rendimiento que MDTSN, sino mejor. Por supuesto, estos son los resultados de un escenario en particular. Obsérvese qué sucede para el escenario de la Figura 5.14. En esta gura el valor de SP ha cambiado a SP=0.85, mientras que en la gura anterior se tenía SP=0.95. Esto signica que AM-DTSN debería comportarse de una manera más conservadora y detener prematuramente la transmisión de más tramas. En la Figura 5.14 se observa que el rendimiento se mantiene prácticamente igual al de M-DTSN (subgura 5.14(a)) y sin embargo la cantidad de datos inútiles transmitidos se mantiene más baja que en la Figura 5.13 (subgura 5.13(d)). Por lo tanto, esto apunta a que SP=0.85 sea un valor más óptimo que SP=0.95. Más tarde se discutirá sobre ello. A continuación se presentan varios comentarios para las subguras de la Figura 5.14: 5.14(a) Para tamaños de trama inferiores a 33KB el PPTR de ambas estrategias es el mismo. En este rango de valores AM-DTSN imita el comportamiento de M-DTSN ya que no existe una cantidad perceptible de tramas fallidas en las que AM-DTSN pueda realizar una detención prematura. Para tamaños de trama superiores el PPTR de AM-DTSN decrece en comparación con el de M-DTSN. Mientras que M-DTSN sigue intentando hacer llegar la máxima cantidad posible de datos de cada trama, AM-DTSN reduce su PPTR ya que no tiene sentido mantener un PPTR tan alto como MDTSN ya que para muchas tramas el envío de un porcentaje de datos de la trama alto contribuye a datos inútiles más que a datos útiles al no completarse a tiempo la transmisión de la trama. 5.14(b) Dado que ahora SP=0.85 la proporción de tramas útiles desciende ligeramente bajo la de M-DTSN y la de AM-DTSN en el escenario de los resultados de la Figura 5.13. La proporción de tramas útiles nunca desciende bajo 0.85. 5.14(c) La proporción de datos inútiles de AM-DTSN es igual o inferior a la de M-DTSN excepto para S=34 KB. Nótese que, si bien para S=34 KB la proporción de datos inútiles de AM-DTSN es menor, la cantidad total de datos inútiles transmitidos mostrada en la subgura 5.14(d) es menor. Esto quiere decir que a pesar de que en este punto concreto AM-DTSN transmite una proporción de datos inútiles sobre datos útiles mayor que M-DTSN, mantiene la cantidad de datos inútiles más pequeña. 95 5.4 Evaluación experimental de AM-DTSN 1 Proporcion de tramas utiles 100 PPTR 80 60 40 20 0.8 0.6 0.4 0.2 M−DTSN AM−DTSN M−DTSN AM−DTSN 0 30 32 34 36 Tamano de trama (KBytes) 38 0 40 30 32 34 36 Tamano de trama (KBytes) (a) Datos inutiles enviados por trama (KB) Proporcion de datos inutiles M−DTSN AM−DTSN 0.8 0.6 0.4 0.2 30 32 40 38 40 (b) 1 0 38 34 36 Tamano de trama (KBytes) 38 40 AM−DTSN M−DTSN 30 25 20 15 10 5 0 30 32 34 36 Tamano de trama (KBytes) (c) (d) Figura 5.14: Resultados experimentales de la dependencia con el tamaño de trama en AM-DTSN con el método de los histogramas. S P=0.85. A=75 dB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. 5.14(d) Para tamaños de trama mayores a 34 KB se observa que AM-DTSN ahorra una cantidad notable de datos inútiles, al igual que se sucedía en la subgura 5.13(d), sin embargo en este escenario la reducción de los datos inútiles comparada con los que transmite M-DTSN es mayor que en la subgura 5.13(d). Esto se debe a que el parámetro SP=0.85 hace que AM-DTSN sea más restrictivo a la hora de detener la transmisión de las tramas. Al usar AM-DTSN una trama tiene más probabilidades de ser detenida cuando SP=0.85 que cuando SP=0.95. Una de las consecuencias es que existirán más trama cuya transmisión iba a ser fallida y ahora se detienen prematuramente, y además se detienen en un subintervalo anterior a aquel en que lo hacían con SP=0.95, y por tanto estamos ahorrando la transmisión de datos inútiles para tamaños de trama superiores a 34 KB. Sin embargo existen otras consecuencias no deseadas. Dado que ahora es más probable que se detenga la transmisión de una trama, también se detendrán las transmisiones de tramas que habrían llegado a tiempo. Este hecho causa un ligero aumento de los datos inútiles transmitidos por AMDTSN en comparación con M-DTSN. Una manera de explicar este suceso es la siguiente: cuando se usa M-DTSN algunas transmisiones de tramas son exitosas y otras no. Cuando se usa AM-DTSN, se desearía que la transmisión de las tramas que van a ser fallidas se detecte tan pronto como sea posible y se detengan. También se desearía que la transmisión de las tramas que serían correctas en M-DTSN quedaran intactas. Sin embargo, en la práctica no sucede así. En las Expresiones (4.3) y (4.4) de la Sección 4.2 se describe matemáticamente la relación. Se puede calcular la cantidad de datos inútiles como la cantidad de datos inútiles obtenidos por M-DTSN menos la cantidad ahorrada de las tramas que fallarían y fueron detenidas por AM-DTSN más los datos inútiles provocados por la detención de tramas por parte de AM-DTSN que hubieran podido transmitirse correctamente en M-DTSN. Por tanto, si la cantidad de datos inútiles reducida por las detenciones de AM-DTSN es mayor que la cantidad de datos inútiles producidos por la detención de tramas 96 5.4 1 100 Proporcion de tramas utiles M−DTSN AM−DTSN 80 PPTR (%) Evaluación experimental de AM-DTSN 60 40 20 0.8 0.6 0.4 0.2 M−DTSN AM−DTSN 0 0.1 0.2 0.3 0.4 0.5 0.6 SP 0.7 0.8 0 0.1 0.9 0.2 0.3 0.4 Proporcion de datos inutiles 1 0.8 0.6 0.4 0.2 M−DTSN AM−DTSN 0 0.1 0.2 0.3 0.4 0.5 0.6 SP 0.7 0.8 0.9 (b) 0.7 0.8 0.9 Datos inutiles enviados por trama (KB) (a) 0.5 0.6 SP 25 20 15 10 5 M−DTSN AM−DTSN 0 0.1 0.2 0.3 0.4 (c) 0.5 0.6 SP 0.7 0.8 0.9 (d) Figura 5.15: Resultados experimentales de la dependencia con SP en AM-DTSN con el método de los histogramas. S =35 KB. A=75 dB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. cuya transmisión sería exitosa, se está ahorrando la transmisión de datos inútiles. En caso contrario se está consumiendo más datos inútiles de los que se consumiría en M-DTSN. Evaluación de la dependencia con SP A contnuación se muestran los resultados de las simulaciones variando el parámetro SP. En especial se intenta profundizar en qué propiedades tiene cada rango de valores de este parámetro así como el valor óptimo según las características de la transmisión deseadas. En la Figura 5.15 se repite la simulación de un mismo escenario con distintos valores de SP, para poder estudiar cómo se comporta AM-DTSN con distintos valores de dicho parámetro. El escenario de la Figura 5.15 se trata en realidad de un escenario de condiciones adversas. M-DTSN sólo consigue obtener una proporción de tramas útiles de 0.25. En este escenario AM-DTSN tiene mucho trabajo que hacer ya que el 75 % de las tramas pueden ser detenidas prematuramente, y las probabilidades de acertar de AM-DTSN son altas. Ténganse en cuenta algunos comentarios sobre cada subgura: 5.15(a) El PPTR de AM-DTSN es siempre inferior al de M-DTSN ¾Por qué? Dado que el 75 % de las transmisiones no tienen tiempo para completarse, AM-DTSN detendrá prematuramente una cantidad elevada de tramas, y por tanto para cualquier valor de SP AM-DTSN detiene una cantidad de tramas que hace que su PPTR quede siempre por debajo del de M-DTSN. En este sentido AMDTSN obtiene un PPTR más bajo porque se arriesga poco a transmitir datos inútiles dado que las probabilidades de que la transmisión de la trama se realice con éxito son escasas. 5.15(b) Según la descripción de SP dada en la Sección 4.2.6 se esperaría que la proporción de tramas útiles de AM-DTSN estuviera siempre por encima de SP veces la proporción de tramas útiles de M-DTSN. Sin embargo, como se aprecia en el gráco, esto no es cierto. 97 5.4 Evaluación experimental de AM-DTSN Existen varias explicaciones para esto. Inexactitudes en el cálculo de los umbrales al redondear (se usaron números enteros), el hecho de aproximar las curvas mediante la media y varianza también aporta cierta imprecisión, la asunción de que, para un punto de monitorización dado las tramas que fueron exitosas fueron aquellas cuyo porcentaje de transmisión en dicho subintervalo era más elevado, la inestabilidad en el canal, y sobre todo la imprecisión inherente a estar trabajando con un conjunto nito de muestras de una variable aleatoria para construir el histograma. Por otro lado, el gráco muestra cuánto rendimiento de tramas útiles se está perdiendo respecto a M-DTSN para cada valor de SP. Podría argumentarse que el valor más interesante de SP es 0.8 ya que es el valor que reduce más la cantidad de datos inútiles respecto a M-DTSN manteniendo la misma proporción de tramas útiles. Pero, por ejemplo, si se está dispuesto a reducir la proporción de tramas útiles, un valor más pequeño incluso de SP podría elegirse, de manera que se pueda reducir aún más la cantidad de datos inútiles transmitidos. 5.15(c) Esta subgura contiene alguna información que puede ayudar a obtener un valor de SP adecuado. Se podría argumentar que, incluso si no se conoce el valor exacto de SP que optimiza la transmisión, se sabe que debe tener un valor mayor que 0.75, de forma que ya se puede determinar alguna directriz para obtener el valor de SP. La razón es obvia, pues si se eligiera un valor de SP<0.75 la proporción de datos inútiles que se obtiene es mayor que la que se obtendría con M-DTSN, lo cual no mejora la eciencia. Esta información, por otro lado, no puede extraerse de la subgura 5.15(d), por lo que la información que contiene la subgura 5.15(c) es de gran valor. 5.15(d) Existen varios detalles interesante en esta subgura. Para empezar hay un salto importante al pasar de SP=0.75 a SP=0.8. Podría argumentarse que el punto interesante es SP=0.75 ya que se ahorra mucha más cantidad de datos que para SP=0.8, y se puede aprovechar del gran escalón. Evidentemente existe un inconveniente, que se traduce en una reducción notable de la proporción de tramas útiles como puede observarse en la subgura 5.15(b). Cabe destacar que para todo el rango de valores de SP la cantidad de datos inútiles transmitidos por AM-DTSN es notablemente menor a los transmitidos para AM-DTSN. Esto está claro para los rangos de valores en los que la proporción de tramas útiles y datos útiles transmitidos por AM-DTSN es superior a M-DTSN, pero incluso donde estos valores son inferiores la cantidad de datos inútiles enviada por AM-DTSN se mantiene debajo de la de M-DTSN. ¾Por qué? El hecho de que M-DTSN presente una proporción de tramas útiles baja hace que en la mayoría de las tramas que detiene AM-DTSN acierte. En algún sentido, este escenario es un escenario ventajoso para AM-DTSN. En la Figura 5.16 se muestran los resultados de un escenario en el que AM-DTSN es de poca utilidad ya que M-DTSN es capaz de entregar casi todas las tramas a tiempo sin problemas, y por tanto no existe necesidad de realizar detenciones prematuras de tramas. De hecho, la detención prematura de tramas implica un gran descenso del rendimiento y la eciencia. Este escenario contrasta con el que se mostró en la Figura 5.15, ya que en aquel AM-DTSN tenía la posibilidad de mejorar mucho sobre M-DTSN mientras que en éste no se requieren los servicios de AM-DTSN, y por tanto en el primer escenario AM-DTSN obtiene facilmente una cantidad total de información inútil inferior a M-DTSN, mientras que sucede la contrario para el escenario de la Figura 5.16. Veánse en detalle los comentarios sobre las subguras: 5.16(a) El PPTR es prácticamente 100 % para M-DTSN. Esto signica que M-DTSN es capaz de entregar a tiempo el 100 % de las tramas. Por tanto, si bien el PPTR inferior al 100 % de AM-DTSN para SP<0.85 informa sobre una cantidad menor de datos transmitidos, este ahorro no tiene ninguna utilidad, ya que en la subgura 5.16(c) y 5.16(d) se constata que la eciencia no mejora, en cualquier caso es la misma que M-DTSN. 5.16(b) Para AM-DTSN en este escenario interesaría un valor alto de SP, ya que si nos jamos en la subgura 5.16(b) cualquier valor por debajo de SP=0.9 decrementa la proporción de tramas útiles signicativamente, sin conseguir ninguna mejora en la cantidad de datos inútiles transmitidos (subgura 5.16(d)). 5.16(c) La proporción de datos inútiles se mantiene más alta para AM-DTSN que para M-DTSN cuanto menor es el PPTR (subgura 5.16(a)). Esto se debe a que, si bien al reducir el PPTR se transmiten menos datos, la proporción de esos datos que corresponde a datos inútiles es mayor. La razón es 98 5.4 1 Proporcion de tramas utiles 100 80 PPTR (%) Evaluación experimental de AM-DTSN 60 40 20 0.8 0.6 0.4 0.2 M−DTSN AM−DTSN M−DTSN AM−DTSN 0 0.1 0.2 0.3 0.4 0.5 0.6 SP 0.7 0.8 0 0.1 0.9 0.2 0.3 0.4 1 Proporcion de datos inutiles M−DTSN AM−DTSN 0.8 0.6 0.4 0.2 0 0.1 0.2 0.3 0.4 0.7 0.8 0.9 (b) 0.5 0.6 SP 0.7 0.8 0.9 Datos inutiles enviados por trama (KB) (a) 0.5 0.6 SP 9 8 7 6 5 4 3 2 M−DTSN AM−DTSN 1 0 0.1 0.2 0.3 0.4 (c) 0.5 0.6 SP 0.7 0.8 0.9 (d) Figura 5.16: Resultados experimentales de la dependencia con SP en AM-DTSN con el método de los histogramas. S =33 KB. A=75 dB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. que la reducción del PPTR se debe a la detención de tramas que en realidad sería útiles si no se detuviera su transmisión, y esta detención supone un incremento de la proporción de datos inútiles sobre la de M-DTSN, que es relativamente baja. 5.16(d) La cantidad de datos inútiles enviados no mejora en AM-DTSN respecto M-DTSN, cómo se observa en la subgura 5.16(d). En realidad no mejora porque es prácticamente imposible mejorar ya que existen pocas transmisiones fallidas en M-DTSN en las que AM-DTSN podría actuar para reducir la cantidad de datos inútiles transmitidos. 5.4.2. Método auto-regresivo A continuación se evalúa el rendimiento y eciencia de AM-DTSN usando el método auto-regresivo, comparándolo con M-DTSN al igual que se ha hecho para el método de los histogramas en la Sección 5.4.1. Evaluación de la dependencia con la atenuación del canal En la Figura 5.17 se ha realizado una simulación para estudiar el comportamiento del protocolo en función de la atenuación del canal. El valor del parámetro congurado como de α α = 0,75. α es muy relevante, y en este escenario se ha Se puede destacar el hecho de que AM-DTSN auto-regresivo con este valor obtiene un rendimiento menor que M-DTSN. Deben hacerse los siguientes comentarios en relación a cada una de las guras: 5.17(a) Como era de esperar el PPTR en AM-DTSN con el método auto-regresivo es inferior al de M-DTSN 99 5.4 Evaluación experimental de AM-DTSN 1 Proporcion de tramas utiles 100 PPTR (%) 80 60 40 20 0.8 0.6 0.4 0.2 AM−DTSN AR M−DTSN AM−DTSN AR M−DTSN 0 60 65 70 75 80 Atenuacion (dB) 85 0 90 60 65 70 Proporcion de datos inutiles 1 0.8 0.6 0.4 0.2 AM−DTSN AR M−DTSN 0 60 65 70 85 90 85 90 (b) 75 80 Atenuacion (dB) 85 90 Datos inutiles enviados por trama (KB) (a) 75 80 Atenuacion (dB) 16 AM−DTSN AR M−DTSN 14 12 10 8 6 4 2 0 60 (c) 65 70 75 80 Atenuacion (dB) (d) Figura 5.17: Resultados experimentales de la dependencia con la atenuación del canal en AM-DTSN con el método auto-regresivo. S =30KB. α=0.75. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. puesto que AM-DTSN transmite una menor cantidad de datos que M-DTSN por el hecho de realizar las interrupciones prematuras de tramas. 5.17(b) La curva de la proporción de tramas útiles de AM-DTSN con el método auto-regresivo tiene el mismo aspecto que la de M-DTSN pero desplazada en el eje X (atenuación). De esta forma, aunque la proporción de tramas útiles obtenidas por AM-DTSN es inferior, se puede considerar muy próxima a la de M-DTSN, en el sentido de que la proporción de tramas útiles obtenidas por AM-DTSN con método auto-regresivo en este escenario es la que obtiene M-DTSN con 1 dB más de atenuación. 5.17(c) La proporción de datos inútiles obtenidos por AM-DTSN con el método autoregresivo es inferior a la obtenida por M-DTSN excepto en el rango de atenuaciones de 78-79 dB aproximadamente. Obsérvese que a pesar de ser mayor la proporción de datos inútiles, la cantidad real de datos inútiles transmitidos por AM-DTSN es siempre menor, incluso cuando la proporción es mayor. 5.17(d) En todo el rango de atenuaciones la cantidad de datos inútiles transmitidos por AM-DTSN es menor, sin ninguna excepción. En particular cuando crece la atenuación hasta 90 dB la cantidad de datos inútiles transmitidos por AM-DTSN es prácticamente 0, mientras que M-DTSN sigue transmitiendo 6 KB por trama sin ningún benecio o utilidad porque la proporción de tramas útiles es 0. En la Figura 5.18 se muestran los resultados experimentales del mismo escenario anterior pero usando el parámetro α=0.5. Como se puede observar, en este caso se reduce un poco más el rendimiento (subgura 5.18(b)), pero también se reduce notablemente la cantidad de información inútil transmitida (subgura5.18(d)). De esta forma puede verse que existe un compromiso entre la cantidad de información inútil que se transmite y el rendimiento en número de tramas útiles/s. Además, este compromiso puede controlarse a través del parámetro α. 100 5.4 1 Proporcion de tramas utiles 100 PPTR (%) 80 60 40 20 0.8 0.6 0.4 0.2 AM−DTSN AR M−DTSN AM−DTSN AR M−DTSN 0 Evaluación experimental de AM-DTSN 60 65 70 75 80 Atenuacion (dB) 85 0 90 60 65 70 (a) Datos inutiles enviados por trama (KB) Proporcion de datos inutiles 0.8 0.6 0.4 0.2 AM−DTSN AR M−DTSN 60 65 70 85 90 85 90 (b) 1 0 75 80 Atenuacion (dB) 75 80 Atenuacion (dB) 85 90 16 14 12 10 8 6 4 2 0 AM−DTSN AR M−DTSN 60 65 (c) 70 75 80 Atenuacion (dB) (d) Figura 5.18: Resultados experimentales de la dependencia con la atenuación del canal en AM-DTSN con el método auto-regresivo. S =30 KB. α=0.5. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. Evaluación de la dependencia con el número de saltos En la Figura 5.19 se estudia la dependencia con el número de saltos. En la subgura 5.19(d) se constata que la cantidad de información inútil transmitida por AM-DTSN es muy inferior a la transmitida por M-DTSN. Cabe destacar el hecho de que, para 4 saltos la cantidad de información inútil transmitida por M-DTSN desciende considerablemente respecto a la transmitida para 3 saltos. Esto se debe a que el hecho de aumentar el número de saltos reduce también la velocidad de transmisión, y por tanto también se reduce la cantidad de datos inútiles que pueden transmitirse. En la gura 5.19(b) se constata que el rendimiento de ambas estrategias se mantiene igual. 5.4.3. Comparativa En la Figura 5.20 se compara M-DTSN con la estrategia AM-DTSN con el método de los histogramas (llamado simplemente AM-DTSN en la leyenda) y con AM-DTSN con el método auto-regresivo (llamado AM-DTSN AR por simplicidad). Algunos comentarios interesantes acerca de esta gura: 5.20(a) El PPTR de AM-DTSN es inferior al de M-DTSN para los dos métodos, histogramas y autoregresivo. El método auto-regresivo es más sensible a escenarios distintos. Para una variación de algunos KB ya presenta un PPTR bastante más inferior, mientras que el método de los histogramas varía más lentamente su PPTR porque es más insensible a los cambios del escenario porque efectúa un promediado más signicativo estadísticamente. 5.20(b) El rendimiento de las tres estrategias puede considerarse a efectos prácticos como el mismo en este escenario. 101 5.4 Evaluación experimental de AM-DTSN 1 100 AM−DTSN AR M−DTSN Proporcion de tramas utiles AM−DTSN AR M−DTSN PPTR (%) 80 60 40 20 0 2 3 Numero de saltos 0.8 0.6 0.4 0.2 0 4 2 3 Numero de saltos (b) Proporcion de datos inutiles 1 0.8 0.6 0.4 0.2 AM−DTSN AR M−DTSN 0 2 3 Numero de saltos Datos inutiles enviados por trama (KB) (a) 4 4 12 10 8 6 4 2 0 AM−DTSN AR M−DTSN 2 3 Numero de saltos (c) 4 (d) Figura 5.19: Resultados experimentales de la dependencia con el número de saltos en AM-DTSN con el método auto-regresivo. S =25 KB. A=60 dB. α=0.8. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. 5.20(c) De manera similar, la proporción de datos inútiles es la misma prácticamente en las tres estrategias. Sólo cabe destacar una pequeña superioridad de AM-DTSN entorno a S=41 KB. 5.20(d) En esta subgura se complementa lo dicho para la subgura 5.20(d). En efecto AM-DTSN demuestra que es capaz de transmitir menos cantidad de datos inútiles que M-DTSN para todo el rango de valores de tamaño de trama barridos. Además, esto lo hace sin sacricar el rendimiento (subgura 5.20(a)). Nótese que, cómo se digo para la subgura 5.20(a) AM-DTSN con el método auto-regresivo se adapta mejor a pequeños cambios en el escenario. Al pasar de S=40 KB a S=41 KB consigue reducir ya la cantidad de datos inútiles que transmite, mientras que AM-DTSN con el método de los histogramas no reduce considerablemente la cantidad de datos inútiles transmitidos hasta 43 KB. Por otro lado, a partir de dichos tamaños de trama el método de los histogramas obtiene una cantidad de datos inútiles transmitidos notablemente inferior a la que obtiene el método autoregresivo. Esto se debe al hecho inherente de que el método de los histogramas tiene en su poder información estadística más completa que el método auto-regresivo. Conviene también realizar una comparación entre AM-DTSN usando el mecanismo de sincronización entre receptor y transmisor y sin usarlo. En la Figura 5.21 se muestran los resultados de una simulación en los que se varía la atenuación del canal y se prueba en cada escenario AM-DTSN con el método de los histogramas usando la sincronización entre transmisor y receptor y sin usarla. Estos resultados merecen ser comentados para cada una de las subguras: 5.21(a) Para bajas atenuaciones del canal las tres estrategias tienen el mismo PPTR ya que todas las tramas pueden entregarse fácilmente a tiempo. Para atenuaciones a partir de 75 dB tanto AM-DTSN con sincronización entre transmisor y receptor como sin la sincronización tienen un PPTR inferior a 102 5.4 1 Proporcion de tramas utiles 100 PPTR (%) 80 60 40 20 0 Evaluación experimental de AM-DTSN AM−DTSN AR AM−DTSN M−DTSN 32 34 36 38 40 42 44 Tamano de trama (KBytes) 46 0.8 0.6 0.4 0.2 0 48 AM−DTSN AR AM−DTSN M−DTSN 32 34 36 38 40 42 44 Tamano de trama (KBytes) (a) 40 Datos inutiles enviados por trama (KB) Proporcion de datos inutiles AM−DTSN AR AM−DTSN M−DTSN 0.6 0.4 0.2 0 32 34 36 38 40 42 44 Tamano de trama (KBytes) 48 46 48 (b) 1 0.8 46 46 48 AM−DTSN AR AM−DTSN M−DTSN 35 30 25 20 15 10 5 0 (c) 32 34 36 38 40 42 44 Tamano de trama (KBytes) (d) Figura 5.20: Resultados experimentales de la dependencia con el tamaño de trama. Comparativa:MDTSN, AM-DTSN con el método de los histogramas, SP=1.0 y AM-DTSN con el método auto-regresivo, α=0.75. A=70 dB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. M-DTSN, lo que llegado este punto no sorprende después de todas las simulaciones realizadas a lo largo de esta sección. Lo que sí hay que señalar es que AM-DTSN con sincronización entre transmisor y receptor tiene un PPTR inferior a AM-DTSN sin sincronización. Este detalle ya está dando ya la idea de que AM-DTSN con sincronización transmite menos información que AM-DTSN sin sincronización. 5.21(b) El rendimiento obtenido por las tres estrategias en términos de proporción de tramas útiles es prácticamente el mismo. Si cabe, el rendimiento de AM-DTSN son sincronización es muy ligeramente superior al de AM-DTSN sin sincronización y M-DTSN. La explicación de este fenómeno es la misma que se dió para la Figura 5.13. 5.21(c) Mientras que AM-DTSN sin sincronización y M-DTSN obtienen la misma proporción de datos inútiles, AM-DTSN con sincronización obtiene una proporción de datos inútiles menor en el rango de 76 a 80 dB. Este hecho ya deja ver que el comportamiento de AM-DTSN con sincronización entre transmisor y receptor es diferente de sin la sincronización, y que es más eciente. 5.21(d) Si unimos el hecho de que la subgura 5.21(a) nos dice que AM-DTSN con sincronización transmite menos datos que AM-DTSN sin sincronización, y que además, la subgura 5.21(c) dice que la proporción de datos inútiles que transmite AM-DTSN con sincronización es menor que sin sincronización, cabe esperar que la cantidad total de datos inútiles que transmita AM-DTSN con sincronización sea menor que sin sincronización. Y efectivamente, así sucede. Para valores de atenuación menor que 75 dB ninguna de las estrategías produce una cantidad signicativa de datos inútiles ya que todas las tramas pueden entregarse fácilmente. Sería el escenario típico en el que AM-DTSN no tiene gran 103 5.4 Evaluación experimental de AM-DTSN 1 Proporcion de tramas utiles 100 PPTR (%) 80 60 40 20 0 AM−DTSN T−R AM−DTSN M−DTSN 60 65 70 75 80 Atenuacion (dB) 85 0.8 0.6 0.4 0.2 0 90 AM−DTSN T−R AM−DTSN M−DTSN 60 65 70 (a) Datos inutiles enviados por trama (KB) Proporcion de datos inutiles AM−DTSN T−R AM−DTSN M−DTSN 0.6 0.4 0.2 0 60 65 70 75 80 Atenuacion (dB) 85 90 85 90 (b) 1 0.8 75 80 Atenuacion (dB) 85 90 AM−DTSN T−R AM−DTSN M−DTSN 18 16 14 12 10 8 6 4 2 0 60 65 70 (c) 75 80 Atenuacion (dB) (d) Figura 5.21: Resultados experimentales de la dependencia con la atenuación del canal. Comparativa:MDTSN, AM-DTSN con el método de los histogramas con sincronización entre transmisor y receptor (AMDTSN T-R), SP=1.0 y AM-DTSN con el método de los histogramas sin sincronización entre transmisor y receptor (AM-DTSN). S=25 KB. (a) PPTR. (b) Proporción de tramas útiles. (c) Proporción de datos inútiles. (d) Datos inútiles enviados por trama. utilidad. Sin embargo, obsérvese qué sucede a partir de 75 dB en adelante. La atenuación del canal crece, haciendo más complicada la ransmisión de las tramas a tiempo. En esta situación las tres estrategías producen una cierta cantidad de datos inútiles. Sin embargo, AM-DTSN con sincronización entre transmisior y receptor mantiene una cantidad notablemente menor de datos inútiles no sólo en comparación con M-DTSN sino con AM-DTSN sin sincronización transmisor-receptor. El hecho de que la cantidad de datos inútiles crezca con la atenuación y después decrezca tiene una explicación. El crecimiento se debe a que las condiciones del canal empeoran y por tanto existen tramas cuya transmisión se hace incompleta y por tanto se producen datos inútiles. Sin embargo, llega un punto a partir del cuál (79 u 80 dB) a partir del cuál la atenuación reduce la cantidad de información que el nodo es capaz de transmitir. De esta forma, el hecho de reducir la cantidad de información que el nodo es capaz de transmitir también reduce la cantidad de información inútil que el nodo puede transmitir, resultando en la caida que se observa en esta subgura para valores altos de atenuación. Hay que señalar el contraste entre esta subgura 5.21(d) y las que se obtienen cuando crece el tamaño de trama. Al aumentar el tamaño de trama no decrece la cantidad de datos inútiles sino que se mantiene constante saturada. La razón es que las condiciones del canal, en términos de atenuación se mantienen jas y por tanto en la transmisión de cada trama puede transmitirse en promedio la misma cantidad de información. En resumen, los resultados obtenidos de la Figura 5.21 prueban la mejora de AM-DTSN al incluir un mecanismo de sincronización entre receptor y transmisor, tanto en un rendimiento igual o ligeramente superior (subgura 5.21(a)) cómo en términos de eciencia, considerando la eciencia la cantidad total de datos inútiles transmitdos (subgura 5.21(d)). 104 Capítulo 6. Conclusiones Durante el desarrollo de este proyecto se han obtenido las siguientes conclusiones: La transmisión de datos multimedia en tiempo real sobre redes inalámbricas de sensores sin protocolos o mecanismos especializados para este tipo de datos es ineciente, de bajo rendimiento (QoS) y, por tanto, consume de manera innecesaria recursos energéticos y computacionales de los nodos y la red de sensores inalámbrica, aún siendo estos un recurso muy escaso en estos entornos. Hasta el momento han sido desarrollados ciertos mecanismos para mejorar la transmisión de datos multimedia en redes inalámbricas de sensores, pero además de escasas, estas soluciones se han enfocado hacia mejoras en la capa física y capa de enlace, dejando olvidada la capa de transporte que, bien entendido, juega un papel decisivo en la transmisión. En este proyecto se presentaron dos soluciones para la transmisión de ujos contínuos de datos multimedia en tiempo real en redes inalámbricas de sensores. La primera de estas estrategías, M-DTSN es una aproximación intuitiva y simple que pretende aumentar la tasa de tramas útiles por segundo recibidas en el receptor (lo que aumenta el QoS) al tiempo que decrementa la proporción de datos inútiles recibidos (aumenta la eciencia de la transmisión y ahorra recursos del nodo y de la red en general). Se sitúa entre una capa de transporte able y una capa de aplicación y permite que las aplicaciones que desean transmitir datos multimedia con restricciones temporales puedan hacerlo de manera más inteligente al aumentar tanto rendimiento como eciencia. Su estrategia se basa en detener la transmisión de una trama cuando se agota el tiempo máximo para que el receptor considere los datos útiles (en tiempo real). La segunda estrategia, AM-DTSN, es un protocolo de transmisión más complejo que pretende reducir la cantidad total de datos inútiles transmitidos por M-DTSN al tiempo que mantiene un rendimiento similar, en términos de tasa de tramas útiles recibidas/s. Su estrategia se basa en la detención prematura de la transmisión de una trama si se estima que no va a poder completarse dicha transmisión exitosamente. Asimismo se describen dos mecanismos diferentes para estimar si una trama va a ser fallida. También se aporta un mecanismo de sincronización entre transmisor y receptor de forma que el transmisor pueda conocer con una cierta precisión el porcentaje de transmisión de una trama por parte del receptor en un momento dado y se dan detalles sobre la calibración de un parámetro para controlar el compromiso entre rendimiento y eciencia. Se ha demostrado mediante experimentación en un entorno simulado que tanto M-DTSN como AM-DTSN obtienen una mejora en el rendimiento (en términos de tasa de tramas útiles/s) y una eciencia superior (en términos de cantidad de información transmitida) a la que se obtiene si se usa un protocolo de transporte genérico. Asimismo se demostró que la efectividad de AM-DTSN sobre M-DTSN es muy superior cuando las condiciones del escenario son desfavorables, mientras que en escenarios en los que las transmisiones de las tramas se consiguen fácilmente AM-DTSN y M-DTSN obtienen los mismos resultados. 105 5.4 Evaluación experimental de AM-DTSN Los protocolos desarrollados pueden servir en un futuro muy cercano para aplicaciones reales de transmisión de vídeo para cámaras de seguridad, además de otras muchas aplicaciones que podrían surgir aunando la investigación de este proyecto con otras futuras que permitieran aumentar aún más la eciencia y rendimiento de la transmisión multimedia en redes de sensores inalámbricas. Trabajo futuro En en el plano técnico aún quedan algunos aspectos a tratar en profundidad: inicialización en el método de los histogramas de AMinicialización ? Una vez se decida hacer ¾Cuanto deben durar? Duración y periodicidad de la fase de DTSN. ¾Cuando ejecutar la fase de Probablemente una solución sería basarse en los resultados de las transmisiones, por ejemplo, si la tasa de tramas útiles/s recibidas desciende bajo un umbral o un porcentaje determinado se interpreta que las condiciones del escenario han cambiado y se repite la fase de inicialización. A pesar de que AM-DTSN consigue reducir la cantidad de datos inútiles transmitidos sobre MDTSN cuando las condiciones del escenario no son favorables a la transmisión, existe un rango de parámetros en los cuales la tasa de tramas útiles/s es prácticamente 0 y AM-DTSN continúa transmitiendo una cantidad notable de datos inútiles. Sería deseable que en estos escenarios AMDTSN redujera la cantidad de datos inútiles transmitidos a cantidades mínimas. Las simulaciones realizadas muestran los resultados en un amplio rango de conguraciones, pero es necesario conocer el impacto que puede tener pasar a realizar la evaluación del protocolo en una red real. Por ello un paso siguiente sería pasar a probar los protocolos en una red inalámbrica de sensores real. Diseñar un mecanismo que permita la calibración del parámetro α de una forma dinámica en el método auto-regresivo de AM-DTSN. La idea es que a partir de los datos estadísticos de las transmisiones se estime cómo de inestable es el canal. A más inestabilidad se elegirá un parámetro α que se adapte más rápido a las condiciones del canal, y viceversa. 106 Referencias [1] BACnet Website. A Data Communication Protocol for Building Automation and Control Networks. www.bacnet.org/ [2] KNX association. Worldwide standard for home and building control. http://www.knx.org [3] RFID Journal. www.rdjournal.com [4] Chai-Keong Toh. Ad hoc Mobile Wireless Networks: protocols and systems. Prentice Hall PTR, Upper Saddle River, NJ, ISBN-10: 0130078174, 2002. [5] Charles E. Perkins. Ad hoc Networking. Addison-Wesley, Upper Saddle River, NJ. ISBN-10: 0201309769. Enero de 2001. [6] Numerosos autores. Editor I. Stojmenovic. Handbook of Wireless Networks and Mobile Computing. Wiley ISBN-10: 0471419028, 2002. [7] Atif Sharif, Vidyasagar Potdar, Elizabeth Chang A Survey. . Wireless Multimedia Sensor Network Technology: Digital Ecosystems and Business Intelligence Institute, Curtin University of Technology, Perth, Western Australia. [8] I.F. Akyildiz, T. Melodia, and K.R. Chowdhury, A Survey on wireless multimedia sensor networks, Computer Networks (Elsevier) J., vol. 51, pp. 921-960, 2007. [9] M. Perillo, W. Heinzelman, Sensor management policies to provide application QoS, Ad Hoc Networks, (Elsevier) (23),03,235246. [10] C. Y. Wan, A. T. Campbell, and L. Krishnamurthy, PSFQ: a reliable transport protocol for wireless sensor networks, in Proc. ACM WSNA 2002, pp. 1-11, Sept. 2002. [11] D. Ganesan, D. Estrin, A. Woo, D. Culler, B. Krishnamachari, and S.Wicker. Complex behavior at scale: An experimental study of lowpower wireless sensor networks. In Technical Report CS TR 02-0013, UCLA, 2002. [12] Vinton G. Cerf, Robert E. Kahn, A Protocol for Packet Network Intercommunication, IEEE Transactions on Communications, Vol. 22, No. 5. 637-648. RFC 1323, TCP Extensions for High Performance, Section 2.2 RFC 2018, TCP Selective Acknowledgement Options, Section 2 RFC 2018, TCP Selective Acknowledgement Options, Section 3 RFC 1323, TCP Extensions for High Performance, Section 3.2 RFC 1146, TCP Alternate Checksum Options May 1974 pp. [13] Michael R. Garey and David S. Johnson. Computers and Intractability; A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1990. [14] F. Stann, J. Heidemann, RMST: Reliable data transport in sensor networks, in: Proc. of IEEE Sensor Net Protocols and App (SNPA), Anchorage, Alaska, USA, pp. 102112. 2003. [15] S. Park, R. Vedantham, R. Sivakumar, and I.F. Akyildiz. A Scalable Approach for Reliable Downstream Data Delivery in Wireless Sensor Networks. In Proc. of ACM MobiHoc, pages 78 89, Roppongi Hills, Tokyo, Japan, May 2004. [16] Y.G. Iyer, S. Gandham, S. Venkatesan, STCP: a Generic Transport Layer Protocol for Wireless Sensor Networks, in: Proc. of IEEE Intl. Conf. on Computer Communications and Networks (ICCCN), USA, pp. 449454. 2005. [17] Felemban, E.; Lee, C.G.; Ekici, E. MMSPEED: Multipath multi-SPEED protocol for QoS guarantee of reliability and timeliness in wireless sensor networks, IEEE Trans. Mobile Comput. 5(6), 738754. 2006. 107 [18] W. Ye, J. Heidemann, D. Estrin, Medium access control with coordinated, adaptive sleeping for wireless sensor networks, IEEE Trans. Network. 12 (3) 493506. Junio de 2004. [19] Tian He, John A Stankovic, Chenyang Lu, and Tarek Abdelzaher. SPEED: A Stateless Protocol for Real-Time Communication in Sensor Networks. In Proc. of ICDCS, Providence, Rhode Island, USA, Mayo de 2003. [20] Y. Sankarasubramaniam, O.B. Akan, and I.F. Akyildiz. ESRT: Event-to-Sink Reliable Transport in Wireless Sensor Networks. In Proc. of ACM MobiHoc, pages 177188, USA, 2003. [21] Akkaya, K.; Younis, M. An energy-aware QoS routing protocol for wireless sensor networks. In Proceedings of the International Conference on Distributed Computing Systemps Workshops. 2003. [22] Hu, F.; Kumar, S. Multimedia query with QoS considerations for wireless sensor networks in telemedicine. In Proceedings of Society of Photo-Optical Instrumentation Engineers International Conference on Internet Multimedia Management Systems, USA, Septiembre de 2003. [23] Suh, C.; Mir, Z.H.; Ko, Y.B. Design and Implementation of Enhanced IEEE 802.15.4 for Supporting Multimedia Service in Wireless Sensor Networks. Elsevier Comp Net, 2008. [24] T.V. Dam, K. Langendoen, An adaptive energy-ecient MAC protocol for wireless sensor networks, in: Proc. of the ACM Conf. on Embedded Networked Sensor Systems (SenSys), Los Angeles, CA, USA, Noviembre de 2003. [25] H. Gong, M. Liu, Y. Mao, L. Chen, L. Xi. Trac Adaptive MAC Protocol for Wireless Sensor Network - Networking and Mobile Computing, Springer, 2005. [26] Cheng Li; Pu Wang; Hsiao-Hwa Chen; Guizani, M., A Cluster Based On-demand Multi-Channel MAC Protocol for Wireless Multimedia Sensor Networks Communications, ICC apos;08. IEEE International Conference on Vol , Issue , 19-23, pp. 2371 2376. Mayo de 2008. [27] T. W. J. Moorhead, T. D. Binnie. Smart CMOS Camera for Machine Vision Applications in Proc. Of the IEE Conference on Image Processing and its Applications, UK, pp. 865869. July 1999. [28] W. Wolf, B. Ozer, and T. Lv. Smart Cameras as Embedded Systems IEEE Computer, vol. 35, no. 9, pp. 4853, Sept. 2002. [29] M. Bramberger, J. Brunner, B. Rinner, and H. Schwabach, Real-time Video Analysis on an Embedded Smart Camera for Trac Surveillance, en Proceeding de 10th IEEE Real-Time and Embedded Technology and Applications Symposium , pp.174181, 2004. [30] IEEE Standard for Information technology Telecommunications and information exchange between systems Local and metropolitan area networks Specic requirements Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specications for Low-Rate Wireless Personal Area Networks (WPANs). IEEE Computer Society, IEEE Standard 802.15.4d-2009. 17 de Abril de 2009. [31] TinyOS. http://www.tinyos.net/tinyos-2.x/doc/. TinyOS Alliance. [32] Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computers. Charles E. Perkins IBM, T.J. Watson Research Center Hawthorne, NY 10562. Pravin Bhagwat Computer Science Department University of Maryland College Park, MD 20742. SIGCOM páginas: 234 - 244, 1994. [33] B. Marchi, A. Grilo, and M. Nunes, DTSN: Distributed Transport for Sensor Networks, 2007 IEEE Symposium on Computers and Communications, Santiago, Portugal: 2007, pp. 165-172. [34] Richard Bellman: On a Routing Problem in Quarterly of Applied Mathematics, 16(1), pp.87-90, 1958. [35] M. Abolhasan, B. Hagelstein, J. C.-P. Wang. Real-world performance of current proactive multihop mesh protocols. Communications. APCC 2009. 15th Asia-Pacic Conference. pp. 44-47. 10 de octubre de 2009. 108 [36] Charles E. Perkins, Elizabeth M. Royer, "Ad-hoc On-Demand Distance Vector Routing," WMCSA, pp.90, Second IEEE Workshop on Mobile Computer Systems and Applications, New Orleans, Louisiana, 1999. [37] D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. The nesC Language: A Holistic Approach to Networked Embedded Systems. Proceedings of ACM SIGPLAN Conference on Programing Language Design and Implementation. pp. 1-11. ACM Press, 2003. [38] Holger Karl, Andreas Willing. Protocols and Architectures for Wireless Sensor Networks. ISBN-10: 0470519231. pp. 40-60 [39] TOSSIM: A Simulator for TinyOS Networks Philip Levis and Nelson Lee [email protected] [40] Y. Liu, K. Contractor, and Y. Kang (2007), Path Loss For Short Range Telemetry, in S. Leonhardt, T. Falck, and P. Mahonen (Eds.) 4th International Workshop on Wearable and Implantable Body Sensor Networks (BSN 2007). RWTH Aachen University, Germany; p.70-74, doi:10.1007/978-3-54070994-7_12. , 26 - 28 de Marzo de 2007. [41] Hyung Lee, Stanford University, Stanford, CA, Alberto Cerpa, UC Merced, Merced, CA, Philip Levis. Improving Wireless Simulation through Noise Modeling. Proceedings of the 6th international conference on Information processing in sensor networks. Cambridge, Massachusetts, USA. 2007. [42] T. Nguyen and A. Zakhor, Distributed Video Streaming with Forward Error Correction , Packet Video Workshop, Pittsburgh, Abril de 2002. [43] X. Zhang, and X.-H. Peng, A testbed of erasure coding on video streaming system over lossy networks, in Proc. IEEE 7th International Symposium on Communications and Information Technologies (ISCIT), Octubre de 2007. [44] S. Lin and D. J. Costello, Error Control Coding: Fundamentals and Applications , Englewood Clis, New Jersey: Prentice Hall. ISBN-10: 013283796X. 1983. [45] Chalermek Intanagonwiwat, Ramesh Govindan, Deborah Estrin. Directed diusion: A scalable and robust communication paradigm for sensor networks. Proceedings of the 6th annual international conference on Mobile computing and networking. Boston, Massachusetts, United States Pages: 56 67, 2000. [46] Lyx Document Processor - www.lyx.org [47] GeAny Text Editor - IDE - www.geany.org [48] Editor de grácos vectoriales Inkscape - www.inkscape.org 109