Gestión de redes MANET con agentes inteligentes, redes neuronales y teoría de juegos
De Computacion
Redes Neuronales y Teoría de Juegos en Redes Móviles Ad Hoc María José Lazo, Ing. Rommel Torres rovitor@utpl.edu.ec Resumen—Debido a la movilidad que presentan las MANET, la gestión de sus recursos y la calidad de servicio que necesitan este tipo de redes es fundamental , es por eso que en la actualidad existen diversas maneras en que ayudan en algunos aspectos a mejorar la Gestión de Redes Móviles Ad Hoc, pero ninguna se fusiona en conjunto con el fin de ayudar a mejorar la fiabilidad, disponibilidad, ancho de banda, retardo de paquetes, variación de retardo, tasa de errores y tasa de pérdida de paquetes con el fin de garantizar la calidad y servicio, es por eso que en este documento se presenta una solución innovadora mediante la implementación de Técnicas Redes Neuronales y Teoría de Juegos para evitar el desgaste de batería en los nodos determinando quienes son nodos egoístas dentro del clustering para de esta manera aislarlos o incluirlos en la conformación de la red, además poder determinar si un nodo es egoísta ya sea por falta de recursos o simplemente por evitar el desgaste de batería.
Palabras Clave—Redes Neuronales, Teoría de Juegos, Redes Móviles Ad Hoc.
I. INTRODUCCIÓN En la actualidad existen varios modelos de gestión de redes inalámbricas Ad Hoc, pero ninguno de estos ha alcanzado a cubrir de manera eficiente las necesidades que presentan dicho tipo de redes. Las deficiencias notables de estos modelos han llevado a que se cree un nuevo modelo para la gestión de este tipo de redes, con el fin de cubrir gran parte de las necesidades que presentan. En la propuesta que se presentará más adelante se ha tratado de unificar las técnicas de clustering [18] y algunas soluciones basadas en redes neuronales y teoría de Juegos. Dentro de la definición del marco de trabajo se tiene en consideración algunos aspectos para la gestión de los nodos como por ejemplo que tienen funcionalidades y capacidades heterogéneas, además que estos nodos móviles pueden ser laptops, PCs, celulares, etc. [6] Dentro de las técnicas de clustering se tiene en consideración algunas características en los nodos para que puedan ser jefes debido a que no todos los nodos que forman parte de una red Ad Hoc tienen las capacidades optimas para realizar tareas que solo las puede realizar un nodo jefe clúster (JC). La elección del jefe cluster se la realiza a través del algoritmo WCA [16]. Independientemente de quien sea el JC todos los nodos del clúster cumplirán un rol en la gestión de acuerdo a sus capacidades de almacenamiento, procesamiento y energía. Además el uso de equipos de respaldo tanto para el JC de cada clúster y del servidor administrador (SA) ayudará a mejorar la eficiencia y la disponibilidad de los recursos en una red. Esto es complementado con la implementación un modelo que permita gestionar las redes móviles ad hoc, este modelo se basa en técnicas de clustering para controlar la movilidad y el cambio de topología debido a la entrada y salida de equipos en la red. La aplicación de redes neuronales feedforward que es una herramienta de inteligencia artificial para mejorar la transmisión de paquetes en tiempo real de extremo a extremo a través de la implementación de un kernel que tiene en su interior varias operaciones básicas donde tiene mucho que ver la priorización de los nodos dentro de una cola lo cual el resultado de estas operaciones se complementa con un plan de aprendizaje automático el cuál ayuda a tomar la mejor decisión para el siguiente salto sin necesidad de buscar la ruta, mejorando así la calidad de servicio en las transmisiones, y la implementación de teoría de juegos en el control de nodos egoístas existentes en la red, esto a través del dilema del prisionero, todas estas técnicas innovadoras se aplican en una de las interfaces propuestas en el modelo que se puede apreciar en la Figura 1. Basándonos en el modelo SWAN [8] se pretende implementar en la interfaz uno del modelo (Figura 2), redes neuronales y teoría de juegos. Teoría de juegos se implementar implementa dentro de la fase de control de admisión con el fin de controlar el comportamiento de un nodo, si es egoísta o no para evitar el desgaste de la batería de los nodos y obtener mejores resultados manteniendo la red por más tiempo evitando el desgaste de recursos, esto se realiza a través de la implementación de un modelo de confianza que permita decidir a los nodos con que nodo cooperar y con cuál no con lo cual se mejora la operatividad de la red consumiendo menos energía.
II. PANORAMA GENERAL Se basa en el modelo propuesto en [18], el cual se basa en la aplicación de algoritmos de clustering con el fin de segmentar la red, facilitar la gestión y permitir la asignación de roles a los dispositivos o nodos, esto a través del algoritmo de clustering WCA. Lo que se plantea es adherir la implementación de redes neuronales feedforward con el fin de mejorar la calidad de servicio en el envío de paquetes entre los nodos tomando decisiones adecuadas por si mismos de acuerdo a su conocimiento adquirido gracias a que contiene en la capa oculta un plan de aprendizaje donde se implementa inteligencia artificial, y controla la existencia de nodos egoístas a través de técnicas de teoría de juegos mediante el conocido “dilema del prisionero”. A. Arquitectura basada en Técnicas de Clustering [18] Con el objetivo de cumplir el propósito de las redes Ad Hoc como es asegurar la escalabilidad y establecer esquemas de enrutamiento apropiados es necesario implementar una topología jerárquica. La Figura 1, muestra el esquema del marco de trabajo basado en técnicas de clustering, donde se puede observar la forma en que está dividida la red en clusters. El marco de trabajo contiene los siguientes elementos: servidor de administración (SA), servidor de administración respaldo (SAR), jefe clúster (JC), jefe de clúster respaldo (JCR), nodo manejado (NM), base de información, protocolos de gestión (AODV, WCA, DMAC, MobDhop).
Figura 1. Esquema de una red ad hoc dividida en clusters
[18]
Como podemos observar en la Figura 1, cada clúster tiene un nodo JC y varios NM. Cada nodo tiene un rol específico dentro de la red, uno de sus principales elementos es el SA central que será elegido de entre todos los JC siempre y cuando este sea el más óptimo de entre todos.
El uso de equipos de respaldo para el jefe de cada clúster y del servidor administrador en un sistema de gestión de red aplicados en redes móviles ad hoc, mejora la eficiencia y la disponibilidad de los recursos en una red.
Figura 2. Interfaces de comunicaciones
En la Figura 2, se muestran cinco interfaces de comunicación: Interfaz 1 es la comunicación existente entre nodo manejado a nodo manejado. Interfaz 2 es la comunicación entre nodo manejado y JC. Interfaz 3 es la comunicación entre JC y JCR con el fin de mantenerse sincronizados. Interfaz 4 es la comunicación entre JC y SA Interfaz 5 es la comunicación entre SA y el SAR para mantenerse sincronizado entre ellos. B. Arquitectura basada en Redes Neuronales Partiendo de la arquitectura basada en técnicas de clustering se pretende implementar dentro de una de sus interfaces herramientas de inteligencia artificial como redes neuronales feedforward. El objetivo principal que se pretende conseguir a través de la implementación de redes neuronales feedforward es reducir al mínimo el retardo del tráfico de extremo a extremo en tiempo real utilizando clases de múltiple servicio con el fin de mejorar la calidad y servicio en la entrega de datos dentro de la red, esto basándose en basándose en el modelo SWAN con el que se garantiza diferentes operaciones básicas como tareas de enrutamiento y control de apoyo de calidad y servicio. El modelo SWAN es complementado con una capa de aprendizaje inteligente, la cual aprende a través de las diferentes operaciones realizadas por las funcionalidades básicas a través de una red neuronal multicapa feedforward de acuerdo a las necesidades del usuario y estado de la red.
Figura 3. Modelo de redes neuronales con soporte multimedia [4]
Se efectúan dos planes de gestión dentro de este modelo con el fin de mejorar la calidad de entrega de datos en la red. 1. Primer plan, se basa en las clases de múltiples servicios para brindar calidad de servicio en el flujo de extremo a extremo.
2. Segundo plan, es el de aprendizaje inteligente en cual permite una adaptación dinámica de la red a las condiciones de tráfico a través de una herramienta inteligente de redes neuronales.
En la Figura 4, se muestra las principales funciones del modelo como SWAN: el esquema de enrutamiento el cual permite descubrir las rutas existentes entre el origen y destino. El plan de control de soporte de calidad de servicio, es responsable de proporcionar garantías de calidad de servicio a las necesidades de los usuarios en términos de diferentes restricciones como: ancho de banda, retardo y número de saltos. Es por eso que las funcionalidades requeridas como reserva de recursos y control de admisión, corren a cargo de este plan. Los intervalos de garantía de las clases de servicio (GISC) son un conjunto de intervalos que representan el estado de la red en términos de diferente métrica. GISC permite una selección de la ruta adecuada de conformidad con los requisitos de flujo. La actualización de la GISC se efectuará ante cualquier variación de los recursos de la red o la recuperación de violación de calidad del servicio. La detección y recuperación de calidad del servicio están garantizadas por violación dos nuevas técnicas que se desarrollan e integran en el kernel. Con el objetivo de verificar el nivel de aprendizaje, las redes neuronales realizan la fase de entrenamiento de las operaciones del kernel y la prueba del conjunto de requisitos de calidad. Luego que se alcanza la fase de entrenamiento, las fases de la prueba y validación se realizarán. Una vez alcanzado el nivel de aprendizaje, un nodo es capaz de seleccionar el próximo salto para el encaminamiento de los paquetes de datos recibidos sin realizar ningún otro procedimiento, como el descubrimiento de ruta. Definición de los componentes del modelo SWAN: • Control de admisión: estima el ancho de banda local disponible en cada nodo, y proporciona información precisa sobre el estado de ancho de banda, retardo de extremo a extremo y número de saltos de las rutas descubiertas entre la fuente y el destino. La decisión de admitir a un nuevo flujo se realiza por este mecanismo. • Esquema de enrutamiento: realiza el descubrimiento de rutas y reserva de recursos. • Clasificador: es capaz de diferenciar entre los flujos en términos de requisitos de calidad del servicio como: retardo, ancho de banda y flujos de mejor esfuerzo. • Priorización de cola: se utiliza para regularizar el tráfico en la red, las clases de menor prioridad se regulan y no pertenecen a clases de mayor prioridad. • Intervalos de garantía: se ajustan dinámicamente de acuerdo con la información de retroalimentación recibida por el nodo sobre el estado de la red.
Figura 4. Modelo del kernel basado en SWAN [8]
Una vez que se realizan las operaciones del kernel se procede a realizar las operaciones que van dentro del plan de aprendizaje inteligente, las cuales se encuentran representadas en la Figura 5. El plan de aprendizaje inteligente se realiza a través de Las redes neuronales multicapa (MFNN) o feedforward son las más optimas para la decisión del kernel y manejar las reglas de decisión basadas de acuerdo al cambio del medio y estado del sistema, debido a que su arquitectura es paralela.
Figura 5. Diagrama de operaciones [4]
Los componentes de procesamiento de MFNN se llaman neuronas. Las neuronas están interconectadas entre sí por medio modificable llamado peso que representa la fuerza de enlace de peso [24].
División de la red en capas: • Capa de entrada: se compone de las entradas a la red • Capa oculta: consta de un número de neuronas colocadas en paralelo, cada neurona realiza una suma ponderada de las entradas. • Capa de salida: a través de esta capa se genera transferencias de las funciones de salida. Proceso de aprendizaje de la red neuronal: • Se inicia con la capacitación de la red que es el proceso de estimación de los pesos de conexión, minimizando algunas medidas de error global, utilizando el algoritmo de retropropagación BP (Back Propagation). • Las neuronas de la entrada y las capas ocultas utilizan la función de transferencia tan-sigmoid. La neurona de la última capa tiene la función de transferencia lineal. • Las dimensiones de los patrones de entrada que representan a los requisitos de QoS (retardo, ancho de banda y número de saltos requeridos por el usuario) especifica el número de nodos de entrada. • De acuerdo con la teoría de Kolmogorov, en cuanto al número de nodos en su capa oculta, si el número de nodos de entrada es N, entonces 2N+1 un nodo oculto puede ser utilizado. • Los nodos de salida se determinan por el número de categorías que se clasifican. Se pueden clasificar en tres categorías: tráfico con limitación retraso, al tráfico con limitación de ancho de banda y al tráfico de mejor esfuerzo. • Para cada categoría, MFNN da el siguiente salto para el encaminamiento del tráfico recibido. • Se realiza una clasificación binaria, entonces cada bit de una salida deseada presenta el estado 1 o el estado 0: estado 1 significa "pertenecer a" y el estado 0 significa "no pertenece a" una categoría determinada. • Los pesos de cada unidad se deben ajustar para que el error entre la salida deseada y la producción real se reduzca con el fin de capacitar a una red neuronal para realizar alguna tarea. Esto requiere que la red neuronal calcule el error derivado de los pesos.
El BP es un método utilizado para determinar este error llamado MSE (error cuadrático medio). Se calcula como la diferencia media cuadrática entre la salida deseada y la producción real. Dado que buscamos minimizar el error para cada peso por separado, el error global puede aumentar. Luego, debemos calcular el error de salida total después de cada adaptación, cuando el error es mayor que el error rechazado anteriormente, después de que calculamos las nuevas tasas de aprendizaje. La modificación de los pesos continúa hasta que la producción real se aproxima a la respuesta deseada. El problema de la convergencia de mucho tiempo de BP se resuelve mediante la incorporación de la expresión dinámica del peso de la BP. La Figura 5, muestra el diagrama esquemático de las operaciones NNMS basado en SWAN. El mismo muestra la relación entre las operaciones del kernel y su proceso de aprendizaje mediante redes neuronales. Las operaciones es decir las funcionalidades descritas en la Figura 4 y Figura 5, tales como control de admisión, etc., están representados por cuadrados, y la comprobación del éxito de las operaciones está representado por rombos ('Y' y 'N' significan, respectivamente, el éxito y el fracaso de la operación). Fases de aplicación de la red neuronal multicapa: 1. Formación de la red neuronal con los datos de un conjunto de entrenamiento y las pruebas después del entrenamiento. 2. Predicción y la selección de la clase de servicio y del siguiente salto para reenviar los paquetes de datos.
Como se muestra en la Figura 5, la etapa de entrenamiento de la red se realiza después de varios escenarios de ejecución de las operaciones del kernel basado en SWAN, operaciones como: proceso de descubrimiento, proceso de reserva, adaptación del tráfico a través de priorización en las colas, detección y recuperación de violación QoS, etc. Una vez que la etapa de formación del kernel se logra, se inicia la operación de las pruebas sobre escenarios adicionales para probar la exactitud del resultado de la primera etapa. El éxito de aprendizaje de la red es capaz de satisfacer las necesidades de flujo sin realizar las operaciones requeridas por el núcleo. C. Arquitectura basada en Teoría de Juegos La determinación de los nodos egoístas dentro de la conformación de las redes Ad Hoc es tarea de la teoría de Juegos, ahora bien se pretende determinar cuando un nodo es egoísta en la interfaz 1 en el modelo propuesto en la Figura 2. Lo que se puede aportar adicional en este tema además del modelo es determinar si un nodo es egoísta ya sea por falta de recursos o simplemente porque no quiere colaborar con el resto de los nodos en la conformación de la red. Es primordial la cooperación entre los nodos de una red ad hoc y dentro de la formación del clúster, esto para determinar que rol cumple el nodo dentro de la red y para retransmitir los paquetes entre ellos. Debido a que son dispositivos móviles los que conforman una red Ad Hoc es importante considerar la gran cantidad de energía que se consume al transmitir un paquete lo cual hace difícil tomar la decisión de que un nodo colabore o no para la transmisión del mismo. Teniendo en cuenta esto es probable que un nodo adopte un comportamiento egoísta, lo cual hace necesario desarrollar un modelo de confianza que permita a los nodos decidir con quién cooperar y con quien no, para maximizar así la operatividad de la red con el menor consumo de energía posible, aislando a los nodos egoístas y estimulando la cooperación entre los nodos que estén dispuestos a cooperar. Con el fin de cumplir este propósito, consideramos la toma de decisiones desde el punto de vista de la teoría de juegos: Cooperar para ganar confianza de los nodos que después se necesitará, o no coopero para evitar desperdiciar energía atendiendo nodos que no cooperarán. Una versión simplificada de este modelo corresponde al famoso dilema del prisionero, como muestra la Figura 6.
Figura 6. NM1 y NM2 necesitan cooperar entre ellos para llevar información a su destino [1]
El dilema del prisionero consiste en que los nodos no pueden estar dispuestos a cooperar para transmitir un paquete, inclusive si esto sea de interés para ambas partes. Utilizando el dilema del prisionero la cooperación entre los nodos se puede obtener como un resultado de equilibrio. Ya que el juego se repite reiteradamente, se ofrece a cada nodo la oportunidad de castigar al otro por la no cooperación en juegos o transmisiones anteriores. En la Figura 6, se puede observar el inicio del juego el nodo NM1 necesita llegar al destino NMB para lo cual necesita la colaboración del nodo NM2, el cual a su vez necesita de NM1 para llegar a su destino NMA. Es importante que los paquetes lleguen a su destino por lo que ganan X pesos cada vez que suceda esto. El inconveniente de transmitir un paquete es costoso en términos de energía y por eso pierden Y pesos con cada transmisión. En el caso de que ambos nodos cooperen el uno con el otro obtendrán un premio P = X – 2Y, X porque logró que su paquete llegara al destino, -Y por haber transmitido su propio paquete, y –Y por haber retransmitido el paquete del otro nodo. También puede ocurrir que NM1 no colabore para ahorrarse los Y pesos que cuesta cooperar con el nodo NM2 pues, si el nodo NM2 coopera con NM1, la ganancia de NM1 será T = X – Y, mientras que el nodo NM2, sólo recibirá M = -2Y. Y si ambos deciden no cooperar, obtendrán un pago en castigo que corresponde a C = –Y: sólo transmiten su propio paquete que, como es descartado por el otro nodo, no logra llegar a su destino. D. Unificación de la Arquitectura basada en Técnicas de Clustering, Redes Neuronales y Teoría de Juegos
Partiendo de las arquitecturas planteadas anteriormente se propone unificar estas arquitecturas con el fin de mejorar la calidad de servicio en la comunicación extremo a extremo y alargar la supervivencia de la red con la incrementación del ahorro de energía y así dicha comunicación sea más estable y duradera. Las condiciones previas a la propuesta es que es una red que tiene una movilidad media es decir no es muy inestable, sus nodos tienen de baja a media movilidad dentro de la red. Además se debe utilizar tecnología WIFI con un alcance a través de antena de hasta 100m, todos los nodos deben ser capaces de soportar SNMP, el protocolo de transporte que utilizarán es UDP, el algoritmo que utiliza para la formación del cluster es WCA, utiliza redes neuronales a partir del modelo SWAN, y en la determinación de nodos egoístas utiliza teoría de juegos específicamente la técnica del dilema del prisionero. Dentro del modelo planteado en [18] se propone aplicar esta solución en la formación del cluster.
Figura 7. Protocolos en un nodo de la red Ad Hoc
En la Figura 7, podemos observar como estaría conformado un nodo de la red Ad Hoc. De acuerdo con el algoritmo WCA se puede elegir al JC de acuerdo a la capacidad de los nodos que puede manejar, movilidad, potencia de transmisión y capacidad de batería. Una vez que se tiene conocimiento de las características de los recursos de cada nodo a través de WCA como se aprecia en la Figura 8, se puede determinar si un nodo es egoísta o no para luego aplicar teoría de juegos aplicando el dilema del prisionero en cada nodo. Un nodo puede ser egoísta por no poseer los recursos necesarios para colaborar dentro de la red o por el simple hecho de ahorrar energía.
Figura 8. Determinación de nodos egoístas
Siguiendo con la explicación de la Figura 7, se parte del modelo SWAN el cual utiliza una capa MAC best-effort, además que es capaz de distinguir entre el tráfico de tiempo real y best-effort.
El objetivo principal de unificar redes neuronales con el modelo de calidad y servicio en mejorar la gestión de la misma ayudando a que esta sea fiable y eficaz.
Como se había especificado en la sección basada en redes neuronales el proceso de control de admisión se realizar luego de clasificar los paquetes.
En el nodo jefe de cluster de activa SWAN en conjunto con el plan de aprendizaje inteligente de tal manera que este podrá obtener la información necesaria de los nodos para saber cuál es el siguiente salto que un nodo deberá realizar esto siguiendo el proceso que se presenta en la Figura 5.
III. MODELACIÓN MATEMÁTICA
La modelación a través de redes neuronales se basa en dos planes:
• El primer plan se basa en las clases de servicios múltiples que brindan por el flujo de la calidad de extremo a extremo de servicios de apoyo.
• El plan de aprendizaje inteligente permite una adaptación dinámica de la red a las condiciones de tráfico que utiliza una herramienta inteligente de redes neuronales.
Primero a partir de las operaciones que se realizan en el modelo SWAN que se lo toma como kernel que se aprecia en la Figura 4 para luego a partir de los resultados obtenidos en estas operaciones se aplica redes neuronales multicapa para la adquisición del aprendizaje Figura 5. Una de las ventajas del kernel (núcleo) es que los recursos asignados durante la fase de reserva se eliminan automáticamente de forma independiente y totalmente distribuidos cuando cambia de trayectoria del flujo debido a la topología dinámica. Además, la violación de la calidad de servicio causada por la topología dinámica de la movilidad media y baja se recupera y varias capas de la red neuronal feedforward (MFNN) permite un rápido aprendizaje de las distintas operaciones realizadas por el núcleo y una mejor selección de clase de tráfico y la entrega de acuerdo a las necesidades de flujo. Los intervalos de garantía de las clases de servicio (GISC) son un conjunto de intervalos que representan el estado de la red en términos de métrica diferente. GISC permite una selección de la ruta adecuada de conformidad con los requisitos de flujo. Las redes neuronales realizan el entrenamiento de las operaciones del núcleo y la prueba de un conjunto de requisitos de calidad del servicio a fin de verificar el nivel de aprendizaje de las operaciones realizadas en el núcleo. Una vez que se logra la fase de entrenamiento, se efectuarán las fases de prueba y validación. A. Kernel o Modelo SWAN
El kernel o núcleo del modelo proporciona funciones básicas de enrutamiento y control de calidad de servicio como: descubrimiento del trayecto y reserva de recursos, control de admisión, la adaptación de tráfico, detección, control de admisión, la adaptación de tráfico, detección y recuperación de violación de calidad de servicio. En la Figura 4, se muestra el diagrama esquemático del kernel basado en SWAN. Como se puede observar está compuesto por: el control de admisión de múltiples criterios de eficacia estima el ancho de banda disponible local en cada nodo, determina si un nodo es egoísta o está dispuesto a colaborar con la transmisión de paquetes con sus nodos vecinos, y proporciona información precisa sobre el estado de ancho de banda y la existencia de nodos egoístas para el aislamiento, retardo de extremo a extremo y número de saltos de las rutas descubiertas entre la fuente y el destino. La decisión de admitir a un nuevo flujo se realiza por este mecanismo. El esquema de enrutamiento realiza el descubrimiento de rutas y la reserva de los recursos. El clasificador es capaz de diferenciar entre los flujos en términos de requisitos de calidad del servicio: retardo, ancho de banda y mejores flujos de esfuerzo. Con el fin de regular el tráfico, se utiliza la priorización de tráfico a través de una cola, las clases de menor prioridad se regulan de forma más agresiva que las clases que no pertenezcan a las clases de mayor prioridad. Los intervalos de garantía se ajustan dinámicamente de acuerdo con la información de retroalimentación recibida por el nodo sobre el estado de la red.
1. Esquema de Enrutamiento
Las principales operaciones del sistema de enrutamiento son el descubrimiento ruta de acceso y reserva de recursos. Proceso de descubrimiento de ruta: Este proceso se realiza antes de la fuente S realmente transmite los paquetes de datos hasta el destino D. El descubrimiento de caminos empieza transmitiendo una demanda de la ruta (RREQ) de mensajes cortos por S a sus vecinos. Como se propaga la petición de S a D, que lleva la información sobre el estado de flujo que sirve para calcular el retardo de extremo a extremo, ancho de banda y número de saltos para una ruta dada. El nodo intermedio lleva a cabo la política de control de admisión en el momento de recibir los paquetes RREQ (Figura 9). Si el RREQ es aceptada, se agregue al nodo una entrada de ruta en su tabla de enrutamiento con el estado de verificado y retransmite la solicitud al siguiente salto, esto es válido por un periodo corto de tiempo. Si no llega a tiempo ningún paquete de respuesta a este nodo, la entrada de la ruta se eliminarán en el nodo y los paquetes de respuesta que viene después de este tiempo será ignorado. Cada RREQ es identificado por el (source_addr, secuencia, Broadcast_ID). Los campos hop_rep, del_req, y band_req indican respectivamente la cuenta de saltos requerida, el retraso y ancho de banda. Estos campos son útiles para el proceso de control de admisión basado en número de saltos y / o retardo de extremo a extremo y / o ancho de banda disponible y/o nodos egoístas. Los RREQs ya procesados son desechados por el nodo haciendo un seguimiento de identificador de RREQ. Con el fin de limitar la duración y la longitud de descubrimiento de ruta, en términos de número de saltos, variable time_to_live (TTL), se decremento en cada salto. Si la cuenta es atrás hasta cero, el RREQ se ha caído y no serán tratados posteriormente.
Figura 9. Formato RREQ[4]
Proceso de Reserva de Rutas: El nodo de destino inicia el proceso de reserva después de recibir el primer RREQ generando una reproducción de ruta (RREP) de mensajes cortos. RREP es entonces unicasted en el origen de la ruta inversa. Un nodo intermedio que recibe un RREP (Figura 10), comprueba su disponibilidad de recursos y actualiza su estado de la ruta de reserva si el paquete es aceptado. Los campos hop_rep, del_rep y band_rep correspondientes a los criterios de calidad del servicio se inicializan al comienzo del proceso de reserva, y se actualiza cuando un nodo intermedio recibe RREP. Por lo tanto, el nodo de origen se detiene en la recepción de RREP, una vista sobre el estado de la red que le permite tomar una decisión acerca de la transmisión.
Figura 10. Formato RREP[4]
2. La Política De Control De Admisión De Multi-Criterios
Control de ancho de banda: El control ancho de banda es de gran utilidad para la optimización de los recursos utilizando. β es el ancho de banda disponible en un nodo i es función de la capacidad de ancho de banda nodo BCi y el tráfico en este nodo Ti. Se define el dominio de ancho de banda φ (i) de un nodo i como el dominio que abarca la primera y la segunda proximidades de i:
Cuando ω (i, j), ω (ω (i, k), j) son las relaciones de vecinos definen como: ω (i, j) = (i tiene un enlace con j) El ancho de banda disponible en el nodo βi me viene dado por (1):
(1)
Por lo tanto, el ancho de banda disponible en el nodo i depende del tráfico generado en este nodo, el tráfico que viaja a través de este nodo, y el tráfico generado en los nodos vecinos. Usamos (1) para determinar la ruta que ofrece el ancho de banda posible entre los caminos n. Suponiendo que Nlβk es el ancho de banda en el nodo k en el camino l, entonces (2) da el ancho de banda mínimo disponible dentro de cada ruta.
(2) (3)
Donde δ_B1 denota el ancho de banda de la ruta que estamos buscando. Que band_rep ser el valor del ancho de banda requerido en el mensaje RREQ llegar al nodo k en el camino de l. Durante el viaje de los RREQ lo largo de una ruta de acceso l, cada nodo k calcula MIN (band_req, Nl βk) y toma una decisión que transmita RREQ si el ancho de banda solicitada está disponible, de lo contrario la solicitud se descarta. Al recibir cada RREQ, el destino se inicializará el azar band_rep campo a un valor superior al valor de ancho de banda. A continuación, un RREP se genera y envía de nuevo a la fuente. Tan pronto como RREP es recibido por un nodo k intermediario en l ruta, el cálculo del MIN (band_rep, Nl βk) se realiza y se almacena en el nodo de enrutamiento de mesa y luego se puso a una recién generada RREP. Al recibir el primer RREP por el nodo de origen, un algoritmo de ordenación para calcular el ancho de banda máximo se activa, y se realiza en la recepción de otros paquetes de la ruta de respuesta. es el valor máximo de ancho de banda entre los RREPs n recibida. puntos P1 a cabo la ruta de acceso asociados. Ahora se identifica la clase de servicio de garantía intervalo (GISC). Para tal fin, se extrae el segundo de ancho de banda posible usando (4).
(4) Es el primer intervalo de garantía para la restricción de ancho de banda, el camino viable asociados se observa P1. Del mismo modo, identificamos la segunda GSIC: (5) Representa el segundo intervalo de garantía, con el P2 es el camino viable asociados. Podemos calcular otros intervalos de garantía de la siguiente manera: (6)
y Pk es la ruta generada por , será la ruta de acceso asociados a GI( ). La utilidad de estos intervalos de garantía se describe en la Sección IV.C Control de Retardo extremo a extremo: En este esquema de control, buscamos las rutas que ofrece un retardo mínimo entre S y D. Suponga que Nidj es la demora en el nodo j en la ruta i, que es el tiempo requerido por la j para recibir y procesar los paquetes que se detallan en (7). A continuación, el plazo mínimo de extremo a extremo entre S y D es MIN ( ), y la ruta asociada será la ruta óptima en términos de retraso.
(7)
Al recibir una petición de ruta por el nodo j, y antes de enviarlo al nodo j +1, el cálculo (del_req - Nidj)) se lleva a cabo, y se almacena en el nodo de la tabla de enrutamiento. A continuación, se pone en una recién generada RREQ que será enviado al siguiente nodo (del_req es el retraso solicitado). Tenga en cuenta que este cálculo es útil y necesaria para el nodo para tomar una decisión sobre la satisfacción de las necesidades demora. Si (del del_req - Nidj)) <0, entonces la petición de ruta se descarta. Una vez que D recibe una solicitud, se inicializa el cálculo ruta de acceso donde se pone del_rep = 0, y luego (del_req + Nidj)) se calcula en cada nodo k intermedios en el camino de vuelta a S i, almacenado en el nodo de la tabla de enrutamiento, se envía a una Repetir nueva ruta. El mínimo de demora ruta se determina en el nodo fuente, usando un algoritmo de clasificación que hemos implementado en el kernel NNMS. Entre algunos del_rep n recibidos, la selección se realiza en el menor plazo posible, señaló , el segundo retraso mínimo , la tercera , etc En (8) MINk da un mínimo de orden k.
(8) es el menor plazo posible, teniendo en P1 como la ruta de acceso asociados.
Los mínimos otras se determinan como sigue:
(9) define el intervalo de garantía primera para la restricción de demora, y la ruta de acceso asociado es P1.
Del mismo modo, se identifican otros intervalos de garantía:
(10)
Donde la ruta de acceso generados por , Pk, se asocia con la GI(Dk-1) definido por (11):
(11)
Control de cuenta de saltos: El cálculo de los caminos viables basadas en número de saltos y sus intervalos de garantía correspondiente es similar al cálculo del retardo de extremo a extremo, porque el control de número de saltos es también una métrica aditivo que ha de ser mínimo. Control Garantía De Intervalos Los intervalos de garantía de las clases de servicio (GISC) es usada por el nodo de origen para seleccionar el ad hoc (adecuado) rutas de acceso para transmisión de datos. GISC se componen de los valores de intervalo y sus caminos viables asociados. Si la calidad de servicio requerida se encuentra dentro del intervalo de GISC, a continuación, esta clase se consideran adecuadas y también para ser el mejor. De lo contrario, si los requisitos de flujo es menor que el valor inferior del intervalo de algunas clases de servicios disponibles, a continuación, todas estas clases se consideran adecuados, y el protocolo selecciona una clase de servicio forman las adecuadas sobre la base de algunos criterios. Los criterios pueden ser, por ejemplo, a) la categoría adecuada con el mayor intervalo de valor inferior, b) la clase adecuada con el menor intervalo de menor valor, o c) simplemente una clase adecuada al azar. Teorema: Sea considerar A1, A2, …, An, ser los caminos confiar nodo fuente S al nodo de destino D y fm(A1), fm(A2),…, fm(An) el correspondiente las funciones de medición en términos de calidad de servicio métricas m. Entonces, el problema de determinar el camino que ofrece un mejor rendimiento dentro de métricas de garantía intervalo de [α, β] es un problema solucionable.
Prueba: decimos Aj tiene mejor rendimiento que Ai para el m métricas con parámetro S si fm(Ai) < fm(Aj): es la derivada de fm(Ai) durante el intervalo [α, β]. Entonces, la comparación de la calidad del servicio y la satisfacción de Ai Aj más de [α, β] viene dada por la ecuación (12):
(12)
Aj ofrece mejor rendimiento que Ai si:
Permitir
Entonces, Ai tiene mejor rendimiento que si Aj if: Ω(Ai)> Ω(Aj) Ai tiene menos rendimiento que si Aj if: Ω(Ai)< Ω(Aj) Ai tiene el mismo rendimiento que si Aj if: Ω(Ai)= Ω(Aj)
3. Prioridad haciendo cola
En el modelo utiliza una cola simple de prioridad para garantizar que los paquetes de alta prioridad se procesan antes que los de baja prioridad. El modelo implementa una cola separada para cada clase. Los partícipes GISC un espacio de búfer, cuando el buffer no está ocupada por una clase de servicio, se le asignan a otras clases si es necesario. Mediante el uso de colas de prioridad, la predicción y la prevención de la congestión se hace posible a nivel de nodo: antes de ocupar todo el espacio de búfer, el nodo informa a sus vecinos para frenar el tráfico de la hora de enviar paquetes ACK (la recepción de los paquetes ACK se recibió con éxito). La disminución de las tasas (RD) del tráfico se calcula de acuerdo a la prioridad de cola del Estado (pequeños o grandes congestión) del nodo con el envío de ACK. En consecuencia, la tasa de nuevos tráficos (NT) de transmisión sería: NT = OT - (OT * RD) / 100, donde OT es la tasa de tráfico de edad. Por lo tanto, el tráfico se adapta, según el estado de la red.
4. Plan de Aprendizaje Inteligente El plan de aprendizaje inteligente realiza el aprendizaje de las operaciones del kernel (Figura 4). Una de las características funcionales principales de las redes neuronales es su capacidad de distribución debido a su arquitectura especial paralelo. Se posee muchas entradas y trata el problema en forma paralela. Uso de la forma adecuada de los datos de formación hace que el tiempo de procesamiento independiente de la carga de tráfico en la red. Las redes neuronales multicapa feedforward se utiliza para la optimización de la decisión del kernel adaptativa según el estado de la red. El Feedforward multicapa de redes neuronales (MFNN) y su aplicación a NNMS MFNN es considerado como uno de los modelos de redes neuronales más utilizados en la práctica debido a su arquitectura simple y varios campos de aplicaciones. Los componentes de procesamiento de MFNN se llaman neuronas. Las neuronas están interconectadas entre sí por medio modificable llamado peso que representa la fuerza de enlace de peso [24]. La red está dividida en capas: capa de entrada se compone de las entradas a la red; capa oculta constará del número de neuronas colocadas en paralelo, en cada neurona realiza una suma ponderada de las entradas, y genera a través de transferencia de funciones de salida a través de la capa de salida. Aplicación de MFNN a NNMS Un diagrama esquemático de las operaciones NNMS se presenta en la Figura 5. Se muestra la relación entre las operaciones del kernel (modelo SWAN) y su proceso de aprendizaje mediante redes neuronales. La aplicación MFNN sobre gestión de calidad y servicio se divide en dos fases. La primera fase es la formación de la red neuronal con los datos de conjunto de entrenamiento y la prueba de la que después del entrenamiento. La segunda fase es la predicción y la selección de la clase de servicio y del siguiente salto para reenviar los paquetes de datos. Este problema fue resuelto por el algoritmo siguiente: I. La creación de la red neuronal. II. La división de los datos de entrenamiento en grupos al azar III. La formación de la red neuronal con cada conjunto de datos y en consecuencia que recibimos la salida de la predicción. IV. La prueba de cada salida de predicción por el conjunto de datos experimental y la selección de la salida que tiene el máximo nivel de exactitud. V. La predicción de la clase de servicio potencial y el siguiente salto para reenviar los paquetes de datos de las pruebas de conjunto de datos por la mejor salida. Los pasos consisten en 1-4 de la primera fase, el paso 5 es la etapa de fase. Una vez que la red se aprende (pasos 1-4) con los datos ofrecidos por los mecanismos del núcleo, sería posible seleccionar el servicio adecuado y próximo salto (paso 5) con el fin de satisfacer las necesidades de flujo. Como se muestra en la Figura 5, la etapa de entrenamiento de la red se realiza después de varios escenarios de la ejecución de las operaciones del núcleo, como proceso de descubrimiento, el proceso de reserva, la adaptación del tráfico a través de colas de prioridad, la detección y recuperación de violación QoS, etc. Una vez que la etapa de formación del kernel se logra, NNMS inicia la operación de las pruebas sobre escenarios adicionales para probar la exactitud del resultado de la primera etapa. El éxito de la red de aprendizaje sería capaz de satisfacer las necesidades de flujo sin realizar las operaciones requeridas por el núcleo. IV. CONCLUSIONES Con la unificación de técnicas como teoría de juegos y redes neuronales se logra mejorar la calidad de servicio dentro de las redes Ad Hoc al momento de elegir el siguiente salto un nodo este lo realizará de manera inteligente. La determinación de un nodo egoísta debido al ahorro o falta de recursos a través de teoría de juegos ayuda a mejorar la estabilidad de la red debido al ahorro de energía que se presenta en los nodos. La implementación de un plan de aprendizaje inteligente ayuda a tomar las mejores decisiones a un nodo para tomar el siguiente salto. REFERENCIAS [1] Alzate Marco, M. A. (2009). Ingenieria de sistemas complejos aplicada a redes de comunicación: Emergencia de cooperación en redes móviles Ad Hoc. Bogota. [2] BASU, P., & KHAN, N. y. (2001). A mobility metric for clustering in mobile ad hoc networks. Arizona, USA: IEEE . [3] BETTSTETTER, C. (2004). The cluster density of a distributed clustering algorithm in Ad Hoc networks. IEEE. Paris, France. [4] Cherkaoui, L. K. (2009). Toward Neural Networks Solutios for Multimedia Support in Mobile Ad Hoc Networks. Recuperado el 8 de 03 de 2010 [5] Chien-Chung Shen, C. J. (s.f.). The Guerrilla Management Architecture for Ad Hoc Networks. Recuperado el 28 de 01 de 2010, de http://eprints.kfupm.edu.sa/23709/1/23709.pdf [6] Cisco. (04 de 03 de 2010). Network Management Basics. http://www.cisco.com/en/US/docs/internetworking/technology/handbook/NM-Basics.pdf. [7] David J. Hughes, W. Z. (s.f.). Minerva: An event based model for extensible network management. Australia. [8] Domingo Mari. (2005). Diferenciación de servicios y mejora de la supevivencia en redes ad hoc conectadas a redes fijas. [9] E, I. (01 de 03 de 2010). Remote Monitoring. Network Cisco. [10] EUMED. (s.f.). Recuperado el 12 de 07 de 2010, de http://www.eumed.net/cursecon/juegos/index.htm [11] Francisco, R. (Diciembre de 2004). Interconexión a Internet para Redes Móviles Ad Hoc Híbridas. Murcia. [12] Gerla, M. y. (s.f.). Multicluster, mobile, multimedia radio network. USA. [13] Guerrero, M. (09 de 05 de 2007). Securing and Enhancing Routing Protocols for Mobile Ad Hoc Networks. [14] Inteligencia en Telecomunicaciones. (2010). Recuperado el 01 de 04 de 2010, de http://www.teleco.com.br/tutoriais/tutorialprotocolo/pagina_2.asp [15] Juan, B. R. (s.f.). ECPUNR. Recuperado el 29 de 07 de 2010, de Teoría de Juegos: http://www.ecpunr.com.ar/Docs/Teoria_de_Juegos%20II.pdf [16] Mainak Chatterjee, S.D. WCA: A Weighted Clustering Algorithm for Mobile Ad Hoc Networks. [17] Marti, J. G. (s.f.). Arquitectura de gestión de res basada en políticas para un ambiente Integrado 3G-WLAN. Barcelona. [18] Raquel Solano, R. T. (2010). Contribución a la Gestión de Redes Ad Hoc. Loja: UTPL. [19] Raspeño, J. B. (29 de 07 de 2010). Teoría de Juegos. Obtenido de http://www.ecpunr.com.ar/Docs/Teoria_de_Juegos%20II.pdf [20] Ritu Chadha, Y.-H. C.-W. (s.f.). POLICY-BASED MOBILE AD-HOC NETWORK MANAGEMENT FOR DRAMA. Recuperado el 20 de 02 de 2010, de http://www.ece.osu.edu/medhoc04/medhocnetfiles/papers/S10.5.pdf [21] Royer, E. (21 de 02 de 2010). A Review of Cyrrent Routing Protocolos for AdHoc Mobile Wireless Networks. [22] SEAH, W. (2004). Mobility-based d-hop clustering algorithm for mobile ad hoc networks. Atlanta, Georgia, USA. [23] SIVAVAKEESAR, S. y. (Septiembre de 2002). A prediction-Based Clustering Algorithm to achieve Quality of Service in Multihop Ad Hoc Networks. . Londres. [24] Stuart Russell, P. N. (2006). Inteligencia Artificial. España: Pearson. [25] Subiela, R. (30 de 04 de 2007). Simulación de Protocolos de encaminamiento en redes móviles Ad Hoc. [26] uni.lu. (19 de 01 de 2006). Cluster-Head Gateway Switch Routing Protocol. Recuperado el 02 de 03 de 2010, de http://wiki.uni.lu/secan-lab/Cluster-Head+Gateway+Switch+Routing+Protocol.html [27] Victor Garcia, F. G. (2009). Secure Address Range Autoconfiguration Protocol for MANET. Recuperado el 04 de 02 de 2010, de http://eprints.ucm.es/9444/1/Memoria_SS.II._2008_2009_-_Protocolo_SARA.pdf [28] Wenli Chen, N. J. (2010). Ad Hoc Network Management Protocol. Recuperado el 01 de 04 de 2010, de http://www.cs.pdx.edu/~singh/ftp/anmp.ps.gz
