Memoria del proyecto - Departamento de Teoría de la Señal

Anuncio
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
Descargar