MXPA03008242A - Aprendizaje de trayectoria eficiente en una red. - Google Patents

Aprendizaje de trayectoria eficiente en una red.

Info

Publication number
MXPA03008242A
MXPA03008242A MXPA03008242A MXPA03008242A MXPA03008242A MX PA03008242 A MXPA03008242 A MX PA03008242A MX PA03008242 A MXPA03008242 A MX PA03008242A MX PA03008242 A MXPA03008242 A MX PA03008242A MX PA03008242 A MXPA03008242 A MX PA03008242A
Authority
MX
Mexico
Prior art keywords
node
nodes
path
network
communication
Prior art date
Application number
MXPA03008242A
Other languages
English (en)
Inventor
Chaffee Donald
Original Assignee
Telephonics Wireless Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telephonics Wireless Corp filed Critical Telephonics Wireless Corp
Publication of MXPA03008242A publication Critical patent/MXPA03008242A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/12Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/26Connectivity information management, e.g. connectivity discovery or connectivity update for hybrid routing by combining proactive and reactive routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/34Modification of an existing route
    • H04W40/38Modification of an existing route adapting due to varying relative distances between nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

La presente invencion se refiere a nodos de red que se interconectan mediante enlaces de comunicacion. Cada nodo es capaz de determinar las trayectorias o rutas de comunicacion a partir de si mismo hacia tantos otros nodos como sea posible, ya sea directamente o retransmitiendo a traves de otros nodos, a fin de completar la red. Estas trayectorias se evaluan como nueva informacion concerniente a una ruta que se genera, de acuerdo a criterios seleccionados, de manera que las mejores trayectorias se identifican, se recuerdan y utilizan cuando se realiza la comunicacion. Esta invencion se relaciona con la determinacion de las mejores trayectorias a traves de una red y el mantenimiento de estas trayectorias como condiciones de comunicacion y cambios de poblacion de los nodos.

Description

APRENDIZAJE DE TRAYECTORIA EFICIENTE EN UNA RED Campo De la Invención La presente invención se refiere a un método y aparato para investigar las mejores trayectorias para ei flujo de mensajes a través de una red comprendida de nodos, e interconectar los enlaces de comunicación y, más particularmente, a una técnica que permite a estos nodos determinar eficientemente las mejores trayectorias y pasar la información necesaria a nodos vecinos de manera que también puedan determinar las mejores trayectorias desde sus individuales puntos de vista.
Descripción de la Técnica Anterior Las redes inalámbricas convencionales típicamente permiten a los nodos comunicarse solamente si se encuentran dentro de un rango entre ellos. Las construcciones y las características geográficas tales como colinas y valles pueden afectar el rango de varios nodos en una red inalámbrica. Además, las diferentes cantidades de tráfico en cada nodo así como otros factores pueden crear problemas de asignación de tráfico entre los nodos. Estos problemas de tráfico no sólo se encuentran en redes inalámbricas sino también en otros tipos de redes. Se requieren típicamente sofisticados protocolos de software para controlar el tráfico de mensajes para permitir la comunicación de una célula a otra. Tales protocolos típicamente agregan sobrecarga substancial a las comunicaciones en red. También, para proporcionar suficiente rango de comunicaciones, tales sistemas típicamente requieren que cada nodo tenga transmisores relativamente poderosos para comunicarse con todos los nodos en la red. Sin embargo, aún cuando se utilicen transmisores relativamente poderosos, las comunicaciones pueden interrumpirse cuando falla el nodo fuente, el nodo de destino o el enlace de comunicación. Además tales sistemas se limitan por la distancia y la dirección hacia el nodo de destino desde el nodo fuente, y, como resultado, debe transmitirse periódicamente complicada información de enrutamiento hacia todos los nodos en la red. Se apreciará que en donde la información de enrutamiento que se está transmitiendo se refiere a todos los nodos en una red, la cantidad de esta información puede ser más bien mayor, dejando mediante esto menos recursos de la red disponibles para esta responsabilidad primaria de comunicaciones de transmisión. Ha existido una gran cantidad de trabajo en el campo de los protocolos de enrutamiento en las redes inalámbricas. Los sistemas convencionales tratan el problema de los protocolos de enrutamiento desde pequeñas hasta grandes redes en las cuales los nodos no se conocen previamente, identificando solamente los nodos identificados por sus "IP adresses" (direcciones del procesamiento de la información). Los protocolos de enrutamiento asociados intentan obtener una trayectoria desde la fuente hasta el destino para la comunicación de paquetes. Tales redes inalámbricas pueden clasificarse bajo dos amplias categorías: red celular y red ad hoc (adecuada). La mayor parte de las tecnologías de interconexión de redes inalámbricas en desarrollo o en el proceso de estandarización, actualmente se proponen para proporcionar dispositivos inalámbricos con acceso a grandes redes, con frecuencia cableadas. Estos diseños proporcionarán los beneficios de la libertad inalámbrica y seguimiento a los usuarios que deseen acceder a redes públicas, tales como la Internet, y redes privadas. Como tal, se prevé una jerarquía de dispositivos en donde la terminal inalámbrica se visualiza como una extensión de una red cableada. En una red celular existen unos cuantos nodos especiales (comúnmente referidos como estaciones base) difundidos sobre un área. Estos "nodos especiales" pueden comunicarse entre ellos mismos a través de la red cableada, un satélite, mayor energía de transmisión, etc. Los usuarios que normalmente tienen menor energía de transmisión se comunican con uno de estos nodos especiales. Si existe una necesidad para comunicarse con otros nodos inalámbricos, entonces se intercambian datos de mensaje a través de otros nodos especiales. Sin embargo, existen varios protocolos para mantener el canal, tal como el de, en dónde están los nodos y qué sucede cuando los nodos se mueven de una célula a otra. Las normas, tales como la norma LAN inalámbrica IEEE 802.11 , define puntos de acceso que tienen la responsabilidad de comunicar la información recibida desde terminales inalámbricas hacia otros tipos de redes de transporte, cableadas, inalámbricas u ópticas. Estos puntos de acceso suponen la responsabilidad de administrar las terminales inalámbricas en su área y controlar la admisión a la red y también gobernar la sincronización de las transmisiones locales. El punto de acceso debe estar en comunicación directa con cada terminal inalámbrica en su área y opera un tanto similar a la Estación Base en una red celular. Por otra parte, en una red ad hoc no existen nodos especiales conocidos. Estas redes no requieren específicamente el soporte de una red adicional, pero en su lugar requieren la interconexión de un grupo de dispositivos inalámbricos que desean comunicarse entre ellos mismos. Los datos que se van a comunicar pueden originarse en uno o más de los dispositivos o pueden provenir de otra red conectada a la red inalámbrica a través de uno o más nodos. La red entre los nodos tiene que establecerse primero por sí misma. Los nodos intercambian mensajes para encontrar vecinos y otra información acerca de los vecinos. Algunos protocolos requieren intercambios frecuentes de posiciones de nodos, enlaces, etc. Y en base a esa información, todos los nodos intenten mantener trayectorias actualizadas optimizadas hacia todos los otros nodos en la red. Otros conjuntos de protocolos no mantienen información actualizada de la trayectoria, pero cuando un nodo fuente necesita comunicarse con un destino específico, el nodo de destino la buscará. La mayoría de los protocolos se basan en minimizar ya sea ei número de relés a lo largo de una trayectoria o la demora a lo largo de la trayectoria. Estos protocolos adolecen del hecho que en redes con enlaces de comunicación no confiables la mejor trayectoria con frecuencia no es la trayectoria más corta. Típicamente las trayectorias más cortas seleccionan los enlaces de comunicación únicos más largos los cuales son comúnmente el menos confiable y sujeto a numerosas retransmisiones a fin de enviar de manera confiable un paquete desde un nodo hacia el nodo siguiente.
Objetivos de la Invención Se desea proporcionar un sistema de comunicaciones con protocolos de software simples para controlar el tráfico de mensajes que sean lo suficientemente concisos sin agregar sobrecarga significativa al sistema de comunicaciones. Tales protocolos también deben permitir las comunicaciones ad hoc entre los nodos en una red inalámbrica ad hoc sin tomar en consideración la proximidad de los otros miembros de la red, particularmente los nodos de destino. Esta invención permite que la selección de trayectoria se base en un número de parámetros, los cuales proporcionan significativamente mejores resultados que el método de selección de trayectoria que se basa solamente en la minimización del número de relés o el retardo de la trayectoria al evaluar los costos totales de la comunicación desde la fuente hasta el destino. En redes de la técnica anterior, cada nodo intenta obtener información acerca de cada otro nodo en la red. El volumen de esta información puede colocar cargas sobre los recursos del sistema. Cuando se agregan nodos adicionales o parámetros adicionales a la red el volumen de la información que cada nodo procesa se incrementa exponencialmente. Este incremento exponencial en la información se elimina en la presente invención y la adición de nuevos nodos o parámetros adicionales crean solamente un incremento lineal en la información requerida.
Sumario de la Invención La presente invención se refiere a una red, preferentemente a una red auto-organizada de nodos de red que se interconectan mediante enlaces de comunicación. No es necesario para todos los nodos ser capaces de la comunicación directa con todos los otros nodos. Más bien, cada nodo es capaz de determinar las trayectorias de comunicación o rutas desde sí mismos hacia tantos otros nodos como sea posible, ya sea directamente o retransmitiendo a través de otros nodos, a fin de completar la red. Estas trayectorias se evalúan como nueva información concerniente a la ruta que se genera, de acuerdo con los criterios seleccionados, de manera que se las mejores trayectorias se identifican, se recuerdan y utilizan cuando se realiza la comunicación. Esta invención se relaciona con la determinación de las mejores trayectorias a través de una red y al mantenimiento de esas trayectorias como condiciones de comunicación y cambios de población de los nodos. El método para determinar la mejor trayectoria emplea dentro de cada nodo un algoritmo común que resuelve el problema de enrutamiento desde el punto de vista de cada nodo individual. Cuando se emplean numerosos nodos, comúnmente existirán mucho mayores posibles trayectorias a través de la red desde un nodo hasta algunos nodos distantes. La selección de la mejor, la segunda mejor, la tercera mejor, etc. trayectoria a través de la red se hace de acuerdo con esta invención al seleccionar la trayectoria que minimice la función de costo seleccionada. La función de costo se compone de un número arbitrario de métricas que se definen por los objetivos de la red particular. Estas métricas pueden incluir, pero no se limitan a tales parámetros como el número de nodos que un mensaje debe pasar antes de alcanzar el nodo de destino, la posibilidad de la transmisión exitosa a través de una ruta, la peor posibilidad de transmisión exitosa en un segmento de la ruta, la carga de tráfico en nodos individuales en la red, etc. Esta invención puede generalmente emplear dos tipos de métricas y variaciones de las mismas que dependen de la selección del usuario, la importancia valorada de los diversos parámetros en el tipo de transmisión. Por ejemplo, un conjunto de parámetros puede ser más importante para determinar la mejor trayectoria para comunicaciones de voz y otro conjunto de parámetros son más pertinentes para comunicaciones de datos. El primer tipo de métrica evalúa una trayectoria al seleccionar un parámetro y basando la decisión en si una ruta dada, es la mejor ruta para la transmisión en base al único más débil o el único mejor punto a lo largo de la trayectoria. El segundo tipo evalúa una trayectoria al determinar una medida de calidad de la trayectoria completa desde la fuente hasta el destino final y en base a la decisión sobre la ruta que tiene el mejor valor total para la transmisión. Un ejemplo del primer tipo de métrica sería la determinación del nodo más congestionado a lo largo de la trayectoria o la más alta probabilidad de una transmisión exitosa. Un ejemplo del segundo tipo sería el cálculo del número de relés a lo largo de la trayectoria. Otro ejemplo del segundo tipo sería en donde se determina un valor para cada uno de un grupo de parámetros seleccionado y se basa en que se hace un cómputo valorado sobre el valor relativo de cada parámetro para determinar la mejor ruta a lo largo de la trayectoria. Se apreciará por los expertos en la técnica que el parámetro o parámetros seleccionados pueden variar según el valor dado a cada parámetro al determinar la mejor trayectoria en cualquier momento dado. No importa que métrica o variación de la misma se emplee, toda la información necesaria para seleccionar la mejor trayectoria desde un nodo fuente hasta un nodo de destino final se aprende preferentemente sólo de los nodos que se encuentran en comunicación directa con el nodo fuente. Esto se debe comúnmente, a que la única capacidad que cualquier nodo tiene, actuando como una fuente, es comunicarse con sus vecinos. Así, un nodo fuente original debe seleccionar el nodo vecino en la mejor trayectoria hacia el destino final. La determinación de la mejor trayectoria se basa en los parámetros seleccionados. La selección del primer nodo en la cadena hacia el destino depende de los datos generados por cada nodo al calcular la mejor trayectoria para cada uno de los otros nodos en la red en base a la información recibida desde los nodos adyacentes. Una vez que el mensaje se pasa, el nodo fuente original no puede proporcionar influencia adicional sobre la trayectoria del mensaje. En este punto el vecino seleccionado se vuelve la nueva fuente para el mensaje mientras el destino final permanece siendo el mismo. El vecino repite el proceso de selección de trayectoria como fue realizado por el fuente original. Este proceso se repite hasta que el mensaje alcanza el nodo de destino final. Aprendida la información que se utiliza para la selección de trayectoria es preferible mantenerla en una tabla en cada nodo. Cada fila en la tabla se indexa por un destino final y cada columna contiene ese cómputo de nodo de una métrica específica para la trayectoria hacia ese destino. La información que se coloca en una tabla de nodo se determina al procesar la información de cada tabla del vecino. Un ejemplo de este proceso de acuerdo con la invención es como sigue. Se supone que el costo de una trayectoria se compone de dos métricas, el número de mensajes esperando para su transmisión en el nodo más congestionado en la trayectoria y el número de relés desde la fuente hasta el destino. Estas métricas se comunicarían desde un nodo hacia un vecino al definir el destino final de la trayectoria, el máximo de (la métrica de conteo del mensaje para la trayectoria O su propio conteo de mensaje), y el número de relés en su mejor trayectoria hasta el destino final. El nodo receptor incrementaría el número de relés por uno para incluir el vecino como un relé adicional y computar el costo de la comunicación hasta el destino final a través de este vecino utilizando las dos métricas. Esto se compararía al costo de la mejor trayectoria almacenada para ese destino y la tabla se actualizaría con la nueva mejor trayectoria seleccionada. Las métricas pueden enviarse a (os nodos vecinos como una transmisión separada o mediante concatenación con el tráfico de mensajes normal. Cuando las métricas se envían en un mensaje separado (tal como cuando se encuentra disponible un canal de transmisión) ios mensajes de usuario se comunican con sobrecarga típicamente limitada a la fuente de red o al nodo de origen de la comunicación, la fuente del enlace y el destino del enlace de la comunicación y el destino de la red para la comunicación. También pueden enviarse en mensajes específicos durante tiempos de baja actividad de mensajes o cuando específicamente se requiera por un vecino. Cuando se envían métricas a un vecino de acuerdo con la invención, una o más filas de la tabla se colocan en un mensaje. Las filas seleccionadas se priorizan preferentemente de acuerdo con el tiempo de su última actualización desde su última transmisión. Esto agiliza el flujo de la nueva información a través de la red. Los mensajes pueden dirigirse a un vecino específico pero pueden visualizarse por todos los vecinos simultáneamente. Todos los vecinos aceptan preferentemente la información de las filas de la tabla como información de transmisión y la procesan de conformidad sin importar el vecino designado como el siguiente destino para el resto del mensaje. Utilizando los métodos de la invención, un nodo selecciona el mejor nodo vecino al cual enviar un mensaje que va hacia algún destino final. El nodo ha seleccionado este primer relé en base a toda la información disponible. El problema del envío del mensaje cae ahora en el vecino seleccionado y el proceso se repite. Obviamente las pequeñas trayectorias se encuentran resueltas. Para las grandes trayectorias que implican numerosos relés y enlaces de comunicación no confiables la trayectoria puede cambiar a medida que progresa el mensaje. Esto es importante para el nodo de origen ya que esta información no se encuentra disponible. Lo que es importante es que el mensaje se inicie en la dirección correcta y su trayectoria se optimizará continuamente a medida que progresa a través de la red. Para cuando llegue a las inmediaciones del nodo de destino final, los nodos en la trayectoria que el mensaje ha pasado habrán aprendido y actualizado sus trayectorias hacia ese nodo de destino.
Breve Descripción de los Dibujos La Figura 1 es un ejemplo de trayectorias a través de la red. La Figura 2 es una comparación gráfica de varias funciones de costo del enlace. La Figura 3 muestra información de enrutamiento de comunicación entre vecinos. La Figura 4 es una representación del 'Cross' Scenario (Escenario Cruzado). La Figura 5 es un diagrama de flujo que muestra un ejemplo de ias etapas empleadas por los nodos en la determinación de la mejor trayectoria. La Figura 6 es un diagrama de flujo que muestra un ejemplo de la actualización de una tabla de enrutamiento para un nodo en base a la información recibida desde alguno de sus nodos vecinos.
DESCRIPCIÓN DETALLADA DE LA MODALIDAD PREFERIDA Nodos de la Red La red de la presente invención puede incluir cualquier red como tal término se utiliza en la materia incluyendo pero sin limitarse a LAN, WAN, la Internet, un sistema de comunicación por satélite, un sistema de comunicación terrestre, etc. El término nodo como se utiliza en la presente puede incluir pero no se limita a un teléfono celular, una estación base, una estación base militar etc. El nodo de la presente invención debe tener capacidad informática, memoria y una capacidad para comunicarse con uno o más de otros nodos. Una de las ventajas de la presente invención es que la capacidad informática de los nodos no tiene que ser muy grande. En muchos casos aún en procesadores de 8 bits proporcionará suficiente capacidad de cómputo para la práctica de la presente invención. La capacidad para comunicarse puede ser mediante cualquier medio que incluya pero no se limite a la radio, una red de fibra óptica, cableado, etc. En la red definida en la presente, un nodo puede realizar una función similar a la de una conmutación de paquetes y preferentemente establecerá y mantendrá de manera automática una red de comunicación de paquetes. Cada nodo puede tener varios canales de entrada y varios canales de salida que pueden definirse, por ejemplo, mediante frecuencia, ranura de tiempo o código de difusión. Los nodos mantendrán canales de entrada y salida hacia otros nodos a través de enlaces de comunicación. Ya que los paquetes no se transmiten necesariamente como se reciben, pueden tener que almacenarse al menos hasta el siguiente tiempo de transmisión disponible. Típicamente se acumularán en una cola de espera. Además, ya que los enlaces de comunicación no son 100% confiables, puede existir la necesidad de la retransmisión de los paquetes que fallan en alcanzar el siguiente nodo. Estos paquetes se almacenarán en, por ejemplo, una cola de retransmisión. Si se desea, se mantienen preferentemente dos colas separadas de manera que los paquetes que esperan la retransmisión puedan tratarse de manera diferente a la de los nuevos paquetes. Comúnmente, no se hacen asignaciones de identificación entre las colas y canales de salida. Cualquier paquete puede competir por cualquier canal en el proceso de selección de paquetes. Los nodos de la presente invención también tienen preferentemente una cola de espera y una cola de retransmisión. Cualquier nodo que sea capaz de recibir las transmisiones de otro nodo se considera ser un vecino de ese nodo o un nodo adyacente. La Figura 1 muestra un ejemplo de una colección de nodos que se disponen geográficamente alrededor de algún área. Los nodos se ilustran con círculos. Los enlaces de comunicación se muestran utilizando líneas con dos flechas direccionales que representan la comunicación bi-direccional. Los enlaces de comunicación débiles u ocasionales se muestran con líneas punteadas. En este ejemplo, el Nodo F tiene un conjunto vecino que consiste de los Nodos B, C, E, G, I, y J. El número de nodos en una red puede permanecer estático o puede variar a través del tiempo. Los nodos pueden moverse físicamente dentro y fuera del área, pueden perder potencia debido a, por ejemplo, batería baja o inoperante, pueden tener un enlace perdido de radio hacia otro nodo debido a la interferencia de estructuras, características geográficas u otras cosas, etc. Cuando los nodos se mueven físicamente a través de un área o según cambian las condiciones de comunicación, cambiará la lista de vecinos del nodo. Los nodos pueden solamente comunicarse con nodos fuera de sus conjuntos vecinos al enviar un mensaje a través de uno o más miembros de su conjunto vecino. La propagación de la comunicación hacia cualquier número de nodos fuera de un conjunto vecino puede llevarse a cabo de esta manera. La primer etapa en la selección de trayectoria para un nodo dado es aprender acerca de la composición de su conjunto vecino y las capacidades de comunicación de sus miembros. Una vez que esto se ha llevado a cabo, cualquier nodo en el sistema puede direccionarse al transmitir un mensaje hacia - el nodo vecino apropiado, el cual retransmitirá el mensaje hacia el destino final o hacia otro nodo a lo largo de la trayectoria hacia el destino final. La Figura 1 ilustra las diversas trayectorias que se encuentran potencialmente disponibles de un nodo hacia otro. La Figura ilustra además las trayectorias que pueden ser de diferente longitud (número de relés) y de diferente calidad (probabilidad de comunicación exitosa hacia el destino). Cada nodo puede aprender las diversas trayectorias a través de la red y valorar la calidad de las trayectorias en base a los criterios seleccionados de manera que la mejor trayectoria pueda seleccionarse para cada comunicación. Por ejemplo, se supone que un Nodo H necesita enviar un mensaje hacia el Nodo . El mensaje puede enviarse directamente o puede retransmitirse a través del Nodo K. El procedimiento de retransmisión requeriría el uso de más enlaces de comunicación pero, ya que estos enlaces son de mayor calidad, es posible que la probabilidad de éxito sea mayor. Para algunas aplicaciones en donde la mayor calidad del enlace es importante tal como por ejemplo, comunicaciones de dataos, la ruta a través del Nodo K es el mejor nodo. Para otras comunicaciones en donde la calidad del enlace no es importante, la ruta directa del Nodo H hacia el Nodo M puede ser la mejor. Un ejemplo de en donde la calidad del enlace no es tan importante sino los pocos relés es lo importante, es en el área de comunicación de voz. Si se desea la comunicación de voz debido a su mínima latencia, típicamente se prefieren los pocos relés. La comunicación de la información necesaria para soportar el aprendizaje y las decisiones de enrutamiento es una función de sobrecarga de la red. Ya que cada nodo preferentemente sólo tiene información acerca de sus nodos vecinos, se utiliza menos de los recursos de sobrecarga de la red. Autoenrutamiento La mejor trayectoria de comunicación se determina mediante un autoenrutador, el cual puede estar en la forma de un software (programas) o firmware (programas inalterables). Preferentemente se encuentra presente un autoenrutador en cada nodo. El autoenrutador determina la mejor trayectoria a través de una red desde cualquier nodo dado hacia un nodo vecino y finalmente hacia un nodo de destino en base a la información recibida desde los nodos vecinos del nodo. La mejor trayectoria se define mediante esta invención como la trayectoria que minimiza el costo total de la comunicación. Este costo puede tener varios componentes. Aunque se ilustran varios componentes, los expertos en la materia apreciarán que existen otros componentes que pueden utilizarse dependiendo del tipo de comunicación. Además, el valor dado a cada uno de los componentes puede variar dependiendo de la aplicación y puede variar ocasionalmente aún en las mismas aplicaciones. El costo de comunicar un mensaje en un enlace simple a lo largo de la trayectoria se mostrará proporcional al número promedio de transmisiones de mensajes realizadas en ese nodo antes de pasar exitosamente el mensaje hacia el nodo siguiente. El autoenrutador determina el costo total de la comunicación de la trayectoria completa en base a la información recibida desde los nodos vecinos. El costo del mensaje es un medio de enrutar automáticamente mensajes lejos de los nodos en donde muchos mensajes se encuentran actualmente en tránsito a través de la red y se vuelve deseable evitar estos nodos ocupados. El costo del mensaje proporciona un estimado de que tan alto será el costo de la comunicación en el futuro cercano para pasar el mensaje actualmente almacenado en el nodo a lo largo de los diversos siguientes nodos. El autoenrutador evalúa este parámetro para la trayectoria completa desde el nodo particular hacía el nodo de destino final en base a la información recibida desde los nodos vecinos o el nodo de destino en donde el nodo de destino es un nodo vecino. El uso de la memoria y el costo de la carga del procesador proporciona medios para evitar que estos nodos tengan tareas que impongan un uso gravoso inusual de la memoria disponible o la capacidad computacional del procesador. El parámetro de uso de la memoria determina el porcentaje de la memoria disponible que se requiere para soportar las tareas computacionales y de comunicaciones. La carga del procesador se basa en el tiempo computacional requerido para las tareas actualmente activas en el nodo. El conteo del mensaje y los parámetros del conteo del mensaje de prioridad proporcionan una medición directa del número total de mensajes y un conteo separado de los mensajes de prioridad en una trayectoria. Estos parámetros dan una indicación de que tan ocupados estarán los nodos de la trayectoria en el futuro cercano en el proceso de mover mensajes hacia un siguiente nodo. Otro elemento del costo es el retardo de la trayectoria, el cual se incorpora en el parámetro del conteo del enlace. Este parámetro es un conteo del número de enlaces de comunicación individuales requeridos para mover el mensaje desde el nodo actual hacia el nodo final. El autoenrutador de la red utiliza los parámetros del nodo individual para determinar el costo total de cada trayectoria. La mejor trayectoria desde el nodo actual hacia el nodo de destino se selecciona entonces como la trayectoria con costo mínimo. El concepto central requerido para elaborar un autoenrutador efectivo es que cada nodo pueda obtener la información necesaria para hacer esta determinación a partir de sus nodos vecinos. Así, un nodo debe solamente determinar el mejor siguiente nodo en la trayectoria óptima y después pasar el mensaje hacia el nodo en donde se repetirá el mismo proceso. Este concepto releva a cualquier nodo del requerimiento de conocer la identidad de todos los nodos en la mejor trayectoria hacia el nodo de destino liberando así típicamente a los recursos del sistema para otros usos. Como se trató anteriormente, la evaluación de cualquier trayectoria de la red puede hacerse mediante uno de dos métodos básicos. Un método evalúa los parámetros al combinar los parámetros similares de todos los nodos en la trayectoria. El segundo método evalúa la trayectoria en base al peor nodo o el mejor nodo en la trayectoria para un parámetro dado. Así, el primer método evalúa las capacidades de la trayectoria completa mientras el segundo método evalúa la trayectoria en base a su más débil o su mejor enlace. El costo de la comunicación puede evaluarse para una trayectoria en base al primer método. Esto se debe a que el parámetro que se estima representa el costo total en la red de mover un mensaje desde el origen hasta el destino. Cada nodo estima el costo de pasar un mensaje desde sí mismo hacia el siguiente nodo en la trayectoria. El costo total de comunicar este mensaje se define como la suma de los costos de comunicación en cada enlace de la trayectoria. A fin de determinar este parámetro para cada trayectoria desde un origen hasta un destino solamente es necesario para todos los nodos que comuniquen a sus vecinos el costo de ellos mismos hacia cada posible nodo de destino. A media que estos valores se comunican a través de toda la red, los costos de la trayectoria total se actualizan con nueva información hasta que todos los nodos conocen el valor del parámetro para todas las trayectorias. Así, si B es un vecino de A y el nodo Z es el destino final, entonces B debe pasar a A el costo de la comunicación desde B hacia Z. A conoce el costo de la comunicación desde A hacia B y agregaría ese costo al costo de la comunicación desde B hasta Z para determinar el costo de la comunicación desde A hasta Z a través del nodo B. El parámetro del conteo de enlace se acumularía de una manera idéntica. La selección de la mejor trayectoria final se basaría en la suma ponderada de todos los elementos de costo individuales. La valoración de cada uno de los parámetros se determina por el usuario al tomar en consideración la importancia de cada uno de los parámetros en la comunicación. El costo del mensaje es un parámetro que determina el costo de la comunicación en un nodo, en el que se incurrirá mediante la transmisión de todos los mensajes actualmente almacenados en ese nodo. Como tal, este parámetro es un medio para determinar un nodo indeseable para transmitir mensajes. Así, el segundo método también puede utilizarse para evaluar el costo del mensaje para una trayectoria. El costo del mensaje en la trayectoria total en este caso puede definirse como el valor máximo de los costos de mensaje en cada nodo en la trayectoria. Así, un nodo recibiría desde un vecino el costo del mensaje para la trayectoria a través de ese vecino. El costo total del mensaje para la trayectoria puede computarse en el vecino debido a que este tiene todo el conocimiento para evaluar el costo del mensaje en la trayectoria. Utilizando el ejemplo A-Z anterior, B es el vecino que conoce el máximo de todos los costos del mensaje a lo largo de la trayectoria desde B hasta Z. B también conoce el costo del mensaje en el nodo B. Así, B puede determinar el máximo de los costos del mensaje de los nodos para todos los nodos desde B hasta Z incluyendo B, el cual es el costo del mensaje desde A hasta Z. Ya que A es el punto de inicio en la trayectoria bajo consideración, su costo de mensaje no necesita considerarse en las decisiones de enrutamiento para las trayectorias desde la A. De manera similar, ya que Z es la terminal de la comunicación, el costo del mensajes de Z tampoco es un factor en la determinación para este parámetro. De una manera similar al costo del mensaje, la carga del procesador, el uso de la memoria y los parámetros de conteo del mensaje se evalúan para las diversas trayectorias de la red. El costo total de una trayectoria se computaría entonces como la suma ponderada de estos costos individuales de trayectoria. Cada nodo recordaría entonces varias trayectorias hacia todos los nodos de destino posibles como las trayectorias con mínimos costos totales. Varias trayectorias proporcionan opciones para evitar futuras fallas de enlaces o nodos. El autoenrutador de la presente invención se desempeña significativamente mejor que el algoritmo típico de la trayectoria más corta de la técnica anterior. Como un ejemplo, se supone que solamente el costo de la comunicación se utiliza en la selección de la trayectoria. Consistentemente ocurre un significativo problema en el algoritmo de la trayectoria más corta (tal como la descrita en US6130881 y US5142531 ) en donde se selecciona la trayectoria con el último número de enlaces. Si A pudiera comunicarse a B con un enlace y B pudiera comunicarse a C con un enlace, ambos con solamente una transmisión, pero A pudiera comunicarse a C con típicamente tres transmisiones, el algoritmo de la trayectoria más corta siempre trataría de ir directamente desde A hasta C. El algoritmo de mejor trayectoria de la presente invención evaluaría la trayectoria A-C como 3 y la trayectoria A-B-C como 2 y seleccionaría la trayectoria A-B-C debido a que se necesitan pocas transmisiones. Esto claramente resuelve el problema de extender todos los enlaces hasta el punto de rompimiento, lo cual es un problema típico cuando se utiliza el algoritmo de la trayectoria más corta.
Algoritmo de Autoenrutamiento en la Mejor Trayectoria Una red de almacenamiento y retransmisión tiene muchos diferentes procesos en curso simultáneamente. Pueden existir varios nodos realizando la comunicación en diferentes puntos a través de toda la red mientras otros nodos se encuentran recolectando datos o se encuentran implicados en el procesamiento numéricamente intensivo. Un algoritmo de mejor trayectoria para enrutar automáticamente mensajes a través de la red debe considerar el status de los enlaces de comunicación y el status de los nodos de la red. Los diversos parámetros de la red necesitan valorarse al hacer las decisiones de enrutamiento. El algoritmo de mejor trayectoria se define como la trayectoria desde el nodo de origen hasta el nodo de destino que representa el mínimo costo de la red en base a los valores relativos colocados en cada parámetro por la red. El proceso de la mejor trayectoria del algoritmo es una función de cómo se definen los costos de la red. Los resultados de la optimización son una función de cómo se valoran los diferentes elementos de costo de la red.
Costos de la Red El costo total de la red de comunicar un mensaje desde el origen hasta el destino puede dividirse comúnmente en cuatro principales componentes. Sin embargo, los expertos en la técnica apreciarán que en algunas aplicaciones puede desearse componentes adicionales o pocos componentes. En este ejemplo, los cuatro componentes son el costo de comunicación, la carga de la red de tráfico de mensajes incrementado, los costos de almacenamiento de memoria de mensajes adicionales en un nodo y el costo del retardo de mensajes a través de nodos o enlaces ocupados.
Se requiere el costo de la comunicación a través de una trayectoria completa desde el origen hasta el destino en una red de paquete de almacenamiento y retransmisión, a fin de seleccionar la trayectoria óptima para un mensaje a través de la red. La evaluación del costo de la red debe llevarse a cabo de una manera relativamente simple a fin de crear una red práctica. Como se trata más adelante, existen métodos prácticos para estimar los parámetros de! enlace y del nodo necesarios para computar los costos de la red. Después, se identifica el algoritmo preferido que determina los costos de la red de las diversas trayectorias de los costos del enlace individual y el nodo. Es importante notar a través de toda la siguiente exposición que la evaluación de los costos de la red se hace en cada nodo y que la información comunicada y la información almacenada es específica en cada nodo. El algoritmo resultante se distribuye completamente a través de toda la red en el autoenrutador en cada nodo. Cada nodo recuerda que necesita hacer su trabajo y no más. Comúnmente ningún nodo conocerá la trayectoria completa que cualquier mensaje a través de la red tomará (excepto para las trayectorias con solamente un enlace).
Costo de la Comunicación La energía requerida para transmitir un mensaje desde cualquier nodo, j, es el costo de comunicar en cualquier momento que se envíe un mensaje. Este costo es una función de la longitud del mensaje y se denotará c¡{M). Cuando el mensaje se recibe de manera apropiada en el nodo de destino propuesto k, ese nodo transmitirá un mensaje de reconocimiento. El costo es una función de la longitud del mensaje de reconocimiento y se denotará ck(A). El costo de la red de esta única transmisión de mensaje a través del enlace entre j y k es en donde la explícita dependencia del costo de la longitud del mensaje se ha omitido por simplicidad de la anotación.
El costo de la red se incrementará si el mensaje o el reconocimiento no se reciben de manera apropiada. En cualquier momento que esto suceda, el ciclo transmisión-reconocimiento se repetirá. La probabilidad de que un ciclo de transmisión reconocimiento sea exitoso en el enlace de j hacia k se denotará P . La probabilidad de que el ciclo no sea exitoso y tenga que repetirse es entonces 1 - P¡k. El costo promedio total de transmitir un mensaje desde j hasta k puede entonces escribirse como Cjk = cJk + (l-PJh)cjk + (l- PJk}cjk + (i- PjJ + )> + {l-Pjk -Xcjk En donde N es el número de intentos para comunicarse a través del enlace j-k antes de que se abandone el curso a favor de otra acción. Si el costo de la acción adicional se denota A¡k, entonces el costo promedio en la red de los intentos, exitosos o no para comunicarse de j a k es C, = ? (l - ,t )" c, + (l - ^ )^i¾ La cual puede ser re-escrita en la forma simplificada Una suposición razonable a cerca del valor del costo adicional de la acción requerida cuando los intentos de comunicación N fallan es Ajk = C,¾. Esta suposición básicamente es que el nodo j se recuperará al tratar de pasar el mensaje hacia un nodo diferente a k. El enlace hacia este otro nodo puede ser mejor o peor que el enlace hacia el nodo k pero este probablemente se promediará a través del largo plazo. Con esta suposición, el costo de la red para la transmisión de enlace puede escribirse como Esta ecuación se referirá como la ecuación del costo de enlace. La Figura 2 presenta cuatro curvas cuya relación ilustrará los conceptos involucrados en la derivación de la ecuación del costo del enlace. El costo, Cjk, se toma como unidad por simplicidad. La ecuación del costo de enlace parece ser un enlace superior en las otras tres curvas mostradas. Estas curvas se grafican de la ecuación que representa el costo de la red de la comunicación a través del enlace exitoso y no incluye costos adicionales para la acción correctiva. Las curvas se muestran para tres valores de N. Cuando la probabilidad de éxito del enlace es elevada, las tres curvas son idénticas debido a que es elevada la probabilidad de la comunicación exitosa con muy pocas transmisiones repetidas. Cuando la probabilidad del enlace cae por debajo de aproximadamente 0.5, entonces la curva para N=5 inicia para declinar lejos de las otras debido a que la probabilidad de fallar con cinco intentos se vuelve significativa y no existe costo de falla en esta curva. Sucede el mismo efecto para las curvas N=10 y N=20 para probabilidades de enlace más pequeñas. La Figura 2 ilustra los Valores de la probabilidad de enlace en donde la falla se vuelve un importante problema de costo. Se supone que el valor de N=5 se utilizará en la lógica de enlace. Con este valor, la falla comienza a volverse significativa en las probabilidades de éxito del enlace por debajo de 0.5. La probabilidad de falla en este punto es de aproximadamente 0.03.
Costos del Mensaje Los nodos a lo largo de las trayectorias con frecuencia tienen un conjunto de mensajes que se almacenan hasta que pueden transmitirse. Estos pueden ser mensajes que se generaron por tareas en el nodo o pueden ser mensajes que se encuentran utilizando el nodo como un relé a lo largo de alguna - - trayectoria. La capacidad de la red para manejar de manera eficiente las comunicaciones puede degradarse si los mensajes no se distribuyen a través de todos los diversos nodos. La cantidad de mensajes almacenados en un nodo debe afectar la selección de las trayectorias que pasan a través del nodo. El costo de la red de transmitir todos los mensajes almacenados en un nodo puede determinarse como sigue. Dejar al nodo j tener M mensajes almacenados en su memoria esperando su transmisión. Para cada mensaje, determinar la probabilidad de éxito en el enlace para la transmisión hacia el siguiente nodo en su trayectoria. El costo asociado con cada una de estas transmisiones se determina por la ecuación del costo del enlace. Se asumirá que los costos de la transmisión son independientes de la longitud del mensaje y de la longitud del reconocimiento. Así, el numerador en la ecuación del costo del enlace es una constante y puede establecerse en la unidad. El costo del mensaje puede entonces escribirse como la cual se referirá como la ecuación del costo del mensaje. Esta ecuación proporciona un estimado del costo de la comunicación para comunicar los mensajes almacenados actualmente en los nodos. Este costo es una función directa de la cantidad de tiempo que el nodo espera emplear en la transmisión a corto plazo de sus mensajes almacenados. Así, la ecuación del costo del mensaje proporciona una indicación de la carga de trabajo de comunicación a corto plazo de los nodos. El costo del mensaje se definirá para ser de 0 si no existen mensajes pendientes en un nodo. De otra manera, el costo del mensaje será un número que es al menos tan grande como el número de mensajes almacenados en el nodo. El costo del mensaje es un solo parámetro que se aplica a un nodo. Cuando el tráfico de mensajes es ligero el valor de este parámetro puede cambiar rápidamente con cada mensaje entrante. Es benéfico igualar los parámetros del costo del mensaje para evitar rápidas fluctuaciones en este valor. Esto tiene el beneficio adicional de incorporar alguna historia pasada en el parámetro. De esta manera, los nodos con una historia reciente de carga de trabajo de comunicación excesiva pueden difundir mensajes adicionales en el corto término. Ya que el costo del mensaje se disminuye limitado por el número de mensajes, esta cantidad puede ser bastante grande. El parámetro actual preferido calculado para la transmisión hacia los vecinos es el costo promedio del mensaje. El costo del mensaje puede determinarse al multiplicar el costo promedio las veces del número de los mensajes almacenados lo cual puede ser otro parámetro del status del nodo transmitido.
Costos de la Carga de Trabajo Los nodos que tienen excesiva carga computacional o que se encuentran ejecutando tareas que requieren grandes cantidades de memoria debe dárseles una menor carga de comunicación cuando sea posible. Un parámetro, llamado Complejidad, se asocia con cada tipo de tarea del procesador. La Complejidad es significativa al especificar la carga computacional de la tarea a fin de estimar la carga del procesador en un nodo dado. Este parámetro se determinaría por la persona que programa el código de tareas y puede ser una función de otros parámetros de tareas. El autoenrutador tiene un sistema operativo que se encuentra presente en cada nodo que explorará las tareas activas a fin de determinar cual ejecutar a continuación. Durante esta operación, el autoenrutador utilizando el sistema operativo acumulará estos valores de complejidad. Una vez acumulados, la suma proporciona un estimado a corto plazo de la carga del procesador. Este valor puede igualarse para retirar las fluctuaciones rápidas. El resultado es un estimado de la carga del procesador y se utiliza como parte del estimado del costo de la carga de trabajo. El uso de la memoria puede determinarse al contar el número de registros utilizados en las colas. El resultado será un estimado del uso de la cola.
- - La igualación de estos valores a través del tiempo produce un estimado del porcentaje de uso de la cola que será suficientemente exacto para propósitos de enrutamiento de mensajes.
Costos del Retardo Las trayectorias de mensaje necesitan relacionarse al retardo total de la trayectoria. Puede seleccionarse una trayectoria indirecta solamente para evitar un nodo ocupado lo cual puede dar como resultado la duplicación del tiempo requerido para el envío de mensajes a su destino. Para algunos mensajes esto sería bastante aceptable pero existen muchos casos, tales como mensajes de prioridad, cuando esto sería completamente inaceptable. Los costos del retardo se considerarán solamente para mensajes por arriba de la más baja prioridad. Así, los mensajes de más baja prioridad se permitirán, si no se promueven a moverse lejos del flujo de tráfico de mensajes en la corriente principal en cualquier momento que sea posible. Los dos componentes del costo del retardo son el número de enlaces en la trayectoria desde el origen hasta el destino y el número de mensajes de prioridad actualmente almacenados en los nodos en esa trayectoria. Esto proporciona una indicación un tanto proporcional al tiempo que se requeriría para comunicar el mensaje a su destino final. El número de enlaces en una trayectoria se determina a partir de la información del vecino. El parámetro del enlace se acumula y pasa junto con las comunicaciones normales. El número de mensajes de prioridad se determina de una manera idéntica al número de enlaces. Ambos son parámetros de una trayectoria y reflejan el retardo que un mensaje de prioridad debe esperar en esa trayectoria.
Costo Total de la Red El costo total de la red de comunicar a través de una trayectoria P, desde el nodo j hacia el nodo m se expresa como la suma ponderada de los componentes del costo descritos anteriormente. Este costo puede escribirse como NP = aj?~ + bmaxiMj)+ cmax (bJ )+ dmax{Gj )+ e L + f? cj Lj i ri j j i ¡ en donde I varía sobre los enlaces L en la trayectoria P j varía sobre los nodos en la trayectoria P Bj es la carga computacional en el nodo j Gj es el uso de memoria en le nodo j y Cj es el número de mensajes de prioridad en el nodo j Un mensaje se enruta mediante un nodo a través de la trayectoria disponible con un mínimo Np. La suma ponderada para el costo de la red de la trayectoria P es una estructura que permite ya sea a la red o al usuario o a ambos, manipular la influencia de los diversos parámetros de trayectoria, enlace y nodo al controlar los valores de a hasta f. Estos valores pueden hacerse dinámicos de manera que la lógica mediante la cual se seleccionan las trayectorias puede cambiarse con el tiempo a medida que las condiciones de la red cambian. También los valores pueden ser diferentes en diferentes nodos. Ya que existen diferentes nodos en áreas en donde los problemas de comunicación pueden ser diferentes, cada nodo puede optimizar la lógica de selección de la trayectoria de una manera más adecuada a su situación. Así, los valores de a hasta f pueden depender del tiempo y del nodo.
Evaluación del Costo de la Red La 'mejor trayectoria' para que un mensaje se lleve a través de una red hasta su destino final, puede seleccionarse al escoger la trayectoria que minimiza el Costo Total de la Red, Np. El ajuste de la valoración de los coeficientes determina el significado del término 'Mejor' para cualquier situación particular. Por ejemplo, cuando una red se forma inicialmente no existirá uso significativo de la memoria del nodo ni acumulación de mensajes en las colas del nodo. La 'Mejor Trayectoria' será la que minimice el costo de la comunicación. Después de que la red haya estado en operación por un tiempo, pueden asignarse algunos nodos a cargas computacionales pesadas y algunos nodos pueden volverse cuellos de botella de los mensajes. En este caso, minimizar los costos de la comunicación puede no ser tan importante como evitar a los nodos que se cargan pesadamente por una razón u otra. Este simple ejemplo ilustra que la 'Mejor Trayectoria' de la red depende de la situación actual y por tanto, las 'Mejores Trayectorias' varían con el tiempo. Esto implica que la red debe adaptarse continuamente a los cambios en las condiciones en cada nodo. Por lo tanto, no es posible resolver la ecuación del Costo Total de la Red para todos los nodos y trayectorias y después distribuir las soluciones a todos los nodos y declarar resuelto el problema. Considerando que las condiciones en cada nodo se cambian continuamente y que esto implica que el conjunto de "Mejores Trayectorias" a través de la red también cambie continuamente, entonces se requiere un método para aprender y actualizar las "Mejores Trayectorias" almacenadas en cada nodo, a fin de crear una implementación práctica de red. A fin de desarrollar un algoritmo de Mejor Trayectoria, considérese una red que se construye de N nodos. Examinando un nodo típico, j, es claro que el nodo j tiene vecinos m en donde 0 <m<N y un vecino es cualquier nodo en donde es posible la comunicación directa desde el nodo j. Si el nodo seleccionado tiene m=0, entonces se encuentra aislado de la red y no puede comunicarse con ningún otro nodo. Si el nodo seleccionado tiene m=1 , entonces toda su comunicación debe pasar a través del vecino disponible a fin de alcanzar cualquier nodo de destino. Considerando que estos conceptos pueden verse triviales, señalan el hecho que la capacidad de comunicación de cualquier nodo se controla totalmente por las capacidades de sus vecinos. De hecho, la selección de una "Mejor Trayectoria" a partir de nuestro nodo a cualquier otro nodo no es más que seleccionar el vecino - - que se encuentra en la "Mejor Trayectoria" y transferir entonces el mensaje a ese vecino. El vecino evaluará entonces todas las trayectorias a partir de su punto de vista y determinará cual de sus vecinos se encuentra en la "Mejor Trayectoria" hacia el destino final. Así, la "Mejor Trayectoria" determinada desde el nodo de origen puede no ser la misma trayectoria cuando se evalúa por el primer vecino debido a que las condiciones pueden haber cambiado y aún no se comunican al nodo de origen. El nodo de origen selecciona la "Mejor Trayectoria" desde su punto de vista y, por lo tanto, hace una decisión de enrutamiento óptimo en base a todo el conocimiento disponible. La misma operación ocurrirá en cada nodo a lo largo de la trayectoria del mensaje actual. Si la red es estática y toda la información de todos los nodos es actual, entonces la decisión de la "Mejor Trayectoria" hecha en el nodo de origen será la trayectoria real utilizada. En aplicaciones reales este no necesariamente será el caso, pero no importa. La decisión hecha en cada nodo será la misma sin considerar las decisiones que se harán posteriormente a lo largo de la trayectoria. Así, el nodo, que es el que selecciona el vecino que es el siguiente nodo en la "Mejor Trayectoria" hacia el destino final no tiene la necesidad de conocer la trayectoria real del mensaje. Preferentemente, el nodo hará su decisión en base a una valoración de las trayectorias que emanan de cada uno de sus nodos vecinos hacía e! destino del mensaje. La información que se requiere para que un nodo determine el vecino que se encuentra en la "Mejor Trayectoria" hacia un destino, consiste de dos partes distintas. Primero es la evaluación del enlace de comunicación desde el nodo hacia su vecino. Segundo es la evaluación de la trayectoria desde el vecino hacia el destino final. El algoritmo de aprendizaje se refiere a la comunicación y procesamiento de información de enrutamiento que permite a cada nodo seleccionar el vecino en la "Mejor Trayectoria" hacia cualquier destino deseado. Este algoritmo puede derivarse al asumir que toda la información requerida por cualquier nodo existe en las memorias de sus vecinos. Considerando que esta información puede no ser totalmente actual, es la mejor disponible y se actualizará a medida que ocurre el aprendizaje en cada nodo. A medida que ocurre el aprendizaje en cada nodo, el algoritmo se re-ejecuta para actualizar la información en la Tabla de Enrutamiento. El algoritmo de aprendizaje se muestra, por ejemplo, utilizando el parámetro de costos de comunicación. Todos los otros parámetros en la ecuación de Costo Total de la Red pueden intercambiarse de manera similar. En este ejemplo de aprendizaje, el costo de comunicación del enlace desde el nodo k hasta su nodo vecino j se denotará (¾. El costo de comunicación promedio (suma de todos los costos de enlace en la trayectoria divididos entre el número de enlaces en la trayectoria) desde el nodo j hasta el nodo N se denotará Aj¡N y el número de enlaces entre el nodo j y el nodo N se denotará LjiN. Si el nodo k conoce el costo de comunicación del enlace hacia su vecino j y también conoce el costo de comunicación desde j hasta un nodo de destino N, entonces el nodo puede evaluar el costo de comunicación desde si mismo hasta N utilizando la ecuación en donde se observa que el costo de comunicación de k a N es la suma del costo del enlace hacia el vecino, Ckj, y el costo de comunicación del vecino hacia el destino N. La Figura 3 ilustra una red ejemplificativa en donde un nodo N de destino se encuentra en alguna ubicación desconocida en la red. El nodo i es un vecino del nodo j y tiene una evaluación de la trayectoria al nodo N. La evaluación se encuentra en la forma del costo de comunicación promedio por enlace, A¡¡N, y el número de enlaces, L,¡N, y se pasa al nodo j. El nodo j utiliza esta información y su evaluación del costo de comunicación al nodo i para determinar los parámetros de evaluación para la trayectoria de j a N. El nodo j comunica los parámetros de evaluación de la trayectoria a los nodos k y m. Estos nodos se encuentran evaluando constantemente el costo de comunicación para el nodo j. Así, en cualquier momento, estos nodos pueden computar el costo de comunicación para el nodo N a través del nodo j. El nodo k - - también comunicará su evaluación de la trayectoria al nodo N, al el nodo m (m hará lo mismo y la enviará a k pero este no se muestra por simplificación, Figura 3). Así, en cualquier momento que el nodo m necesite enviar un mensaje al nodo N puede evaluar el costo de comunicación de la "Mejor Trayectoria" a través del nodo j y la "Mejor Trayectoria" a través de k y seleccionar que nodo se encuentra en la "Mejor Trayectoria" en el momento. Este ejemplo ha mostrado que la "Mejor Trayectoria" puede determinarse en un nodo en base al conocimiento ganado únicamente a partir de sus vecinos y que la trayectoria puede seleccionarse en base al más reciente conocimiento a cerca del enlace hacia el vecino. Una vez que el vecino se ha seleccionado y el mensaje se ha pasado, entonces el problema del transporte de mensaje se pasa también al vecino y el vecino debe repetir la determinación de "Mejor Trayectoria" utilizando el conocimiento obtenido a partir de sus vecinos.
Tabla de Enrutamiento Se construye preferentemente una sola tabla de enrutamiento en cada nodo en la red. Sin embargo, a veces puede ser deseable tener una segunda tabla generada por cada nodo. Esta segunda tabla contendría información para una trayectoria de respaldo. Una tabla contiene una fila para cada nodo en la red. El índice de la fila (o número de la fila) podría ser la dirección del nodo de destino final. Opcionalmente, la dirección del nodo de destino final podría ser arbitraria pero única para cada nodo en la red y el índice de la tabla podría determinarse a partir de la dirección del nodo. Las columnas de cualquier fila contienen la dirección de destino final y un número arbitrario de la siguiente dirección de nodo dependiendo del número deseado de trayectorias de respaldo a guardarse. Para cada siguiente nodo se almacena en la tabla un conjunto completo de métricas de costo. Este diseño permite que se reciban métricas individuales para actualizarse como nueva información, seguidas por el nuevo cálculo del costo de trayectoria y la re-determinación de la mejor trayectoria hacia el nodo de destino final.
En la fila que corresponde al nodo que contiene la tabla particular, el nodo mantiene métricas sobre su propia condición. Por ejemplo, el número de mensajes que esperan la transmisión o el estimado de la carga actual del procesador. Las variables que se mantienen en el ejemplo de la Tabla de Enrutamiento se muestran en la Tabla 1. La Tabla de Enrutamiento tiene un parámetro, Número_Trayectorias que es una constante del diseño del sistema.
Tabla 1 : Composición de un ejemplo de la Tabla de Enrutamiento Enrutamiento Tipo Público_Tabla Destino Como Entero 'Dirección del Nodo de Destino Dirección Como Cadena 'Dirección Arbitraria del Nodo Primero_Nodo(Número_Trayectorias) Como 'Dirección del primer nodo en Entero esta trayectoria Costo Total(Número Trayectorias) Como Simple 'Costo de la Trayectoria Computada Trayectoria_Longitud(Número_Trayectorias) Como 'Longitud de trayectoria según Entero el número de enlaces Trayectoria_Costo(Número_Trayectorias) Como 'Estimado del costo de Entero trayectoria/número de enlaces Mensaje_Costo(Número_Trayectorias) Como 'Costo de mensaje de Entero trayectoria Procesador_Carga(Número_Trayectorias) Como 'Carga del procesador de Entero trayectoria Memoria_Uso(Número_Trayectorias) Como Entero 'Uso de memoria de trayectoria Prioridad_Mensaje_Cuenta(Número_Trayectorias) 'Número de mensajes de Como Enteros prioridad en la trayectoria Mensaje_Cuenta(Número_Trayectorias) Como 'Número de mensajes en la - - Entero trayectoria Cambiado Como Booleana 'La fila ha cambiado desde la última transmisión Tipo Fin El Número_Trayectorías se refiere al número de distintas trayectorias posibles hacia el Destino que son para recordarse, trayectorias de respaldo de la mejor trayectoria y Número_Trayectorias - 1. Cada una de tales trayectorias podría tener un único Primer Nodo.
Tabla 2: Campos para soportar el Aprendizaje de la Red Campos de bytes Aprendizaje XID 2 Esta Direc. del Transmisor del Enlace N 1 Número de Fila de la Tabla del Enrutador DID 2 Dirección de Destino Final APC 1 Costo Promedio de Trayectoria PLN 1 Longitud de Trayectoria PMC 1 Costo de Mensaje de Trayectoria PPB 1 Carga del Procesador de Trayectoria PMU 1 Uso de Memoria de Trayectoria PMG 1 Contador de Mensaje de Prioridad Sobrecarga de Mensaje Cuando se transmite un mensaje, típicamente contendrá campos de sobrecarga adicional para proporcionar aprendizaje de dirección de trayectoria y red de soporte. Un ejemplo de los campos adicionales para aprendizaje de red de soporte se muestra en la Tabla 2. Este conjunto de campo contiene la identidad del nodo de transmisión (XID) y la información para soportar la función de aprendizaje. Un nodo seleccionará varias trayectorias de destino a partir de su - - Tabla de Enrutamiento y transmitirá la información que ha adquirido acerca de las trayectorias hacia sus vecinos para soportar el aprendizaje de los vecinos. Así, la información consiste de conjuntos de campos idénticos en donde cada conjunto corresponde a un nodo de destino. El parámetro. N, especifica el número de conjuntos contenidos en el mensaje. La DID identifica el nodo de destino para un conjunto. Cuando se recibe, un nodo asociará este conjunto con la fila en su directorio de comunicación interna que corresponde a este destino. Esta fila se actualizará con la información recibida como apropiada. Cuando un nodo transmite la información adquirida acerca de las trayectorias a sus vecinos o en cualquier otro tiempo puede transmitir la información dentro de los paquetes de mensajes o puede ser una transmisión separada en algún tipo de canal de transmisión especial disponible en el nodo.
Distribución de Información de Enrutamiento Una característica Importante de la invención es que el aprendizaje ocurre en el punto de cambio en la red. El aprendizaje entonces procede hacia fuera desde ese punto hacia los nodos circundantes y más allá. Si, por ejemplo, sucede que los nodos se distribuyen en un arreglo hexagonal, entonces la progresión del aprendizaje se mueve hacia fuera para abarcar los nodos adicionales muy parecido a las olas de una caída de agua en un estanque. Así, a medida que el radio del círculo se incrementa, el número de nodos afectados por la nueva información crece en proporción al área del círculo. Como resultado, el número de nodos que aprenden acerca de un cambio varía en la proporción que es aproximadamente proporcional al cuadrado del número de ciclos de transmisión. Como se anotó arriba, la información aprendida puede pasarse en un paquete de mensaje o puede ser una transmisión separada en algunos tipos de canal de transmisión especial disponibles en el nodo. También es importante darse cuenta que el aprendizaje que ocurre primero en el área de cambio en donde tendrá el mayor efecto sobre la selección de la trayectoria. Los paquetes que se pasan a través del área se re-dirigirán - - automáticamente según sea necesario a través del área de cambio que puede haber sido totalmente impredecible por el nodo fuente del paquete en el momento de la primera transmisión. Ya que el proceso de aprendizaje que resulta de un solo cambio puede causar cambios en varios nodos vecinos, el siguiente plano de aprendizaje del nodo puede resultar de varios nodos que ajustan sus selecciones de trayectoria. Por lo tanto, es importante que los campos de aprendizaje se encuentren disponibles para transmitir los cambios en más de una trayectoria durante una transmisión simple. Se ha determinado que la transmisión de tres cambios de trayectorias en un solo paquete de mensaje puede manejar las actualizaciones de aprendizaje de manera eficiente en la mayoría de las situaciones sin incurrir en un nivel generalmente innecesario de sobrecarga en la transmisión. Es importante que la porción de aprendizaje de un paquete se llene con información acerca de las trayectorias que se han cambiado a través de las trayectorias que no se han cambiado a fin de agilizar el proceso de aprendizaje. Las filas en la Tabla de enrutamiento se señalan cada vez que sus contenidos se modifican. Las filas de la Tabla de Enrutamiento modificadas se seleccionan primero cuando se construye un paquete para transmisión. Este es un método más eficiente para transmitir información a través de la red que simplemente ciclar a través de todas las filas de la Tabla de Enrutamiento independientemente de la actividad. Esta técnica enfatiza la transmisión de información en lugar de la transmisión de datos. Se ha utilizado una simulación que permite a un operador crear un ordenamiento de nodos espacialmente distribuido al arrastrar y soltar símbolos a través de un área de una pantalla de computadora. Una vez colocado, "hacer clic" sobre un símbolo proporciona un menú de opciones que incluye mover el símbolo, visualizar un panel frontal simulado o desplegar varios ordenamientos de memoria dentro del nodo seleccionado. Cada nodo es una instancia separada de un objetivo de nodo y posee sus propios ordenamientos de memoria para tareas, - - colas de mensajes y tablas de enrutamiento. Debido a que cada nodo es una instancia de un objetivo, todos los nodos operan con un código de programación idéntico. La simulación proporciona una oportunidad para observar la operación de aprendizaje en infinidad de escenarios posibles. El modelo, de enlace actualmente implementado se basa estrictamente en el rango. Otros nodos son ya sea en el rango y la comunicación es perfecta, o fuera del rango y la comunicación nunca ocurre. Esto simplifica el diseño de escenarios en donde algunos nodos pueden comunicarse directamente entre si y otros no pueden. Un escenario ejemplificativo es un cruce simple. En este escenario, se colocaron cinco nodos en el área como se muestra en la Figura 4. Los nodos se referirán como Izquierdo, Centro, Derecho, Superior e Inferior indicando su posición relativa en la figura. El Centro estuvo en el rango de todos los otros nodos. Ningún otro nodo pudo comunicarse directamente con los otros nodos. Así, cualquier mensaje entre ellos habría pasado a través del Centro. La simulación se inició y se trazó el progreso del aprendizaje. La simulación selecciona un tiempo de transmisión aleatorio para cada nodo. Se utilizó una característica de una sola etapa con el simulador accionado por evento y se registraron las trayectorias aprendidas en cada enrutador después de cada transmisión. Los resultados se documentan en la Tabla 3. El tiempo del simulador se muestra en la primera columna. La segunda columna muestra el nodo que ha transmitido. La tercera columna lista los nodos cuyas entradas a la tabla de enrutamiento se están reportando en el paquete transmitido. Las columnas restantes muestran trayectorias aprendidas por cada nodo como resultado de la transmisión. Las trayectorias se describen utilizando tres tupies (x, y, z) las cuales se refieren a una trayectoria hacia el destino final x que puede alcanzarse mediante una trayectoria cuyo siguiente nodo es y, y es de longitud z. La longitud se refiere al número de enlaces de RF a través de los cuales pasará el mensaje.
- - En el tiempo cero, cada nodo aprende acerca de sí mismo ya que ninguna comunicación tiene lugar. Mediante la selección aleatoria, el nodo 4 (Superior) es el primero en transmitir y solo puede recibirse por el nodo 2 (Centro). El Centro aprende que existe una trayectoria en Superior, Superior es el siguiente nodo en esa trayectoria y el número de enlaces involucrado es 1 (4,4,1 ).
- - Tabla 3: Aprendizaje con el Tiempo para el Escenario Cruzado Escenario Cruzado tiempo Tx Info lzquierdo-1 Centro- Derecho- Superior- lnferior-5 2 3 4 0 - - (1 ,1 ,0) (2,2,0) (3,3,0) (4,4,0) (5,5,0) 0.030269 4 4 - (4,4,1 ) - - - 0.031136 5 5 - (5,5,1 ) - - - 0.047339 2 2,4,5 (2,2,1 ) - (2,2,1) (2,2,1) (2,2,1 ) (4,2,2) (4,2,2) (5,2,2) (4,2,2) (5,2,2) (5,2,2) 0.050566 3 2,3,4 - (3,3,1 ) - - - 0.059388 1 1 ,2,4 - (1 ,1 ,1 ) - - - 0.100269 4 5,2,4 - - - - - 0.101136 5 2,4,5 - - - - - 0.1 17339 2 1 ,3,4 (3,2,2) - (1 ,2,2) (1 ,2,2) (1 ,2,2) El siguiente nodo a transmitir es el nodo 5 (Inferior). Los aprendizajes resultantes son similares en que solo el Centro puede recibir la señal y aprender la trayectoria hacia Inferior. A continuación, el nodo 2 (Centro) se encuentra en el caso para transmitir. Este enrutador tiene tres filas de directorio de comunicación para transmitir y todas representan nueva información para todos los otros nodos y todos ellos pueden recibir el mensaje. El Nodo 1 (Izquierdo) aprende acerca de una trayectoria directa hacia el Centro y las trayectorias hacia Superior e Inferior a través del Centro. El Derecho aprende la misma información. El Superior e Inferior aprenden pocas trayectorias debido a que ellos no se encuentran interesados en una trayectoria hacia ellos mismos. En las siguientes dos transmisiones, Centro aprende acerca de las trayectorias directas hacia Derecho e Izquierdo. Cuando llega el turno de Centro - - para transmitir de nuevo, las filas de la tabla de enrutamiento modificadas se seleccionan para la transmisión (1 y 3) y se selecciona una trayectoria no modificado hacia 4 para llenar los campos de aprendizaje de tres filas. Los nodos restantes aprenden la información final necesaria y la red se completa ahora. La Figura 5 es un diagrama de flujo de un ejemplo de las etapas para determinar la mejor trayectoria para los parámetros seleccionados. Una vez que se inicia el programa, los parámetros candidato se actualizan en base al punto de vista del nodo local. Por ejemplo, un parámetro son los saltos de trayectoria de candidatos, que igualan el número de saltos de candidatos más uno. Los candidatos son los nodos posibles en la trayectoria excluyendo el nodo fuente y el nodo de destino. Otro ejemplo de un parámetro es la probabilidad de éxito del candidato. La probabilidad de éxito de la trayectoria del candidato iguala la probabilidad de éxito del candidato para cada enlace en la trayectoria, multiplicado por la probabilidad de éxito del candidato para cada otro enlace en la trayectoria. Una vez que se actualizan los parámetros del candidato, los parámetros del candidato se comparan a cualquier umbral preestablecido. En cualquier falla del candidato para cumplir el valor del umbral, ese candidato se rechaza. También son posibles otros parámetros dependiendo de tales cosas como el tipo de red, el tipo de nodos, los tipos de mensajes, etc¾ Para aquellos candidatos que pasan la trayectoria del candidato, se determina el costo. El costo de la trayectoria del candidato es un valor ponderado de cada uno de los parámetros para cada trayectoria. El valor de cada parámetro individual en el valor ponderado se determina para la red y este valor puede variar a través del tiempo dependiendo del tipo de comunicación y otros factores. El valor puede ser una suma ponderada de los parámetros o basarse en alguna otra fórmula. Cada uno de los costos de las trayectoria de los candidatos se compara al costo de la mejor trayectoria actual o al costo de la trayectoria de otros candidatos si no existe determinación del costo de mejor trayectoria previa en el nodo. Cuando el costo de la trayectoria del candidato es mejor que el costo de la mejor trayectoria actual, el costo de la mejor trayectoria actual se reemplazará por el costo de la trayectoria del candidato y el costo desplazado de la mejor trayectoria caerá al costo de la segunda mejor trayectoria reemplazando mediante esto el valor previo. De manera similar, cuando el costo de la trayectoria del candidato es mejor que el costo de la segunda mejor trayectoria actual, pero no mejor que el costo de la mejor trayectoria actual, el costo de la segunda mejor trayectoria se reemplazará por el costo de la trayectoria del candidato. Si el costo de la mejor trayectoria del candidato no es mejor que el mejor o segundo mejor costo de trayectoria, entonces el costo de la trayectoria del candidato se rechaza. Se apreciará por aquellos de experiencia en la materia que el costo pasado adicional junto el mejor y el segundo mejor costo puede retenerse por cada nodo si se desea. En la Figura 6, por ejemplo, el nodo D recibe la transmisión de información a partir de los nodos vecinos E, F y G relativa a una o más trayectorias. El Nodo D compara la información recibida a la información de mejor trayectoria actualmente en la tabla de enrutamiento del nodo D para estos nodos y actualiza la tabla del nodo D si cualquiera de la información recientemente recibida muestra que existe una mejor trayectoria que la mejor trayectoria o segunda mejor trayectoria actualmente identificada en la tabla de enrutamiento. El Nodo D transmite los datos actualizados a sus nodos vecinos.

Claims (1)

  1. REIVINDICACIONES 1. Una red que comprende una pluralidad de nodos en donde cada uno de dichos nodos tiene una memoria, una capacidad de computación y una habilidad para comunicarse con uno o más de otros nodos, en donde una comunicación enviada desde un nodo fuente hacia un nodo de destino se envía a lo largo de una trayectoria que contiene uno o más nodos en donde cada uno de dichos nodos en dicha trayectoria que recibe dicha comunicación determina la mejor trayectoria para dicha comunicación hacia el nodo de destino a través de un nodo vecino en base a la información recibida desde cada nodo vecino. 2. La red de acuerdo con la reivindicación 1 , en donde las trayectorias de comunicación se re-evalúan como una nueva información concerniente a una trayectoria que se genera por los nodos vecinos. 3. La red de acuerdo con la reivindicación 2, en donde la mejor trayectoria es la que minimiza una función de costo seleccionada. 4. La red de acuerdo con la reivindicación 3, en donde la función de costo se compone de una o más métricas que se definen por los objetivos de la red particular. 5. La red de acuerdo con la reivindicación 4, en donde las métricas incluyen el número de nodos que un mensaje debe pasar antes de alcanzar el nodo de destino. 6. La red de acuerdo con la reivindicación 4, en donde la métrica incluye la probabilidad de la transmisión exitosa a través de una ruta. 7 La red de acuerdo con la reivindicación 4, en donde la métrica incluye la peor probabilidad de transmisión exitosa en un segmento de la ruta. 8. La red de acuerdo con la reivindicación 4 en donde la métrica incluye la carga de tráfico en nodos individuales en la red. 9. La red de acuerdo con la reivindicación 4, en donde se evalúa una trayectoria al seleccionar un parámetro y basando la decisión en si una ruta dada es la mejor ruta para la transmisión en base al único punto más débil a lo largo de la trayectoria. 10. La red de acuerdo con la reivindicación 4, en donde se evalúa una trayectoria al seleccionar un parámetro y basando la decisión en si una ruta dada es la mejor ruta para la comunicación en base al único mejor punto a lo largo de la trayectoria. 11. La red de acuerdo con la reivindicación 4, en donde se determina un valor para cada uno de un grupo seleccionado de parámetros y en base al valor relativo de cada parámetro se hace un cómputo ponderado para determinar la mejor ruta a lo largo de la trayectoria. 12. La red de acuerdo con la reivindicación 11 , en donde la información concerniente a una trayectoria para comunicar un mensaje desde un nodo se determina solamente por dicho nodo a partir de las comunicaciones de los nodos que se encuentran en comunicación directa con dicho nodo. 13. La red de acuerdo con la reivindicación 9, en donde la información concerniente a una trayectoria para comunicar un mensaje desde un nodo se determina solamente por dicho nodo a partir de las comunicaciones desde los nodos que se encuentran en comunicación directa con dicho nodo. 14. La red de acuerdo con la reivindicación 1 , en donde la selección del primer nodo en una cadena de nodos hacia un nodo de destino depende de los datos generados por cada nodo al calcular la mejor trayectoria para cada uno de los otros nodos en la red a partir de la información recibida desde los nodos adyacentes. 15. La red de acuerdo con la reivindicación 2, en donde la información que se utiliza para la selección de la trayectoria se mantiene en una tabla en cada nodo. 16. La red de acuerdo con la reivindicación 15, en donde cada tabla tiene una o más filas indexadas por un destino final y una o más columnas que contienen cada una el cómputo de una métrica específica del nodo para la trayectoria hacia ese destino. 17. La red de acuerdo con la reivindicación 16, en donde la información que se coloca en una tabla del nodo se determina al procesar la información proveniente de cada tabla de los nodos vecinos. 18. La red de acuerdo con la reivindicación 4, en donde las métricas pueden enviarse hacia los nodos vecinos como una transmisión separada. 19. La red de acuerdo con la reivindicación 4, en donde las métricas pueden enviarse hacia los nodos vecinos mediante la concatenación con el tráfico de mensajes normal. 20. La red de acuerdo con la reivindicación 18, en donde los cambios en las métricas se prioritizan de acuerdo con el tiempo de su última actualización. 21. Un método para transmitir una comunicación desde un nodo fuente hacia un nodo de destino en una red que tiene una pluralidad de nodos que comprende determinar la mejor trayectoria para dicha comunicación desde dicho nodo fuente hacia el nodo de destino a través de cada nodo vecino en base a la información recibida desde cada nodo vecino; transmitir dicha comunicación desde dicho nodo fuente hacia el nodo de recepción vecino determinado por ser la mejor trayectoria para dicha comunicación hacia dicho nodo de destino; determinar la mejor trayectoria a partir del nodo de recepción hacia el nodo de destino a través de cada nodo vecino en base a la información recibida desde cada uno de dichos nodos vecinos; continuar las etapas hasta que el nodo de destino reciba la comunicación. 22. El método de acuerdo con la reivindicación 21 , en donde las trayectorias de comunicación se re-evalúan como una nueva información concerniente a una trayectoria que se genera por nodos vecinos. 23. El método de acuerdo con la reivindicación 22, en donde la mejor trayectoria es la que minimiza una función de costo seleccionada. 24. El método de acuerdo con la reivindicación 23, en donde la función de costo se compone de una o más métricas que se definen por los objetivos de la red particular. 25. El método de acuerdo con la reivindicación 24, en donde la métrica incluye el número de nodos que un mensaje debe pasar antes de alcanzar el nodo de destino. 26. El método de acuerdo con la reivindicación 24, en donde la métrica incluye la probabilidad de la transmisión exitosa a través de una ruta. 27. El método de acuerdo con la reivindicación 24, en donde la métrica incluye la peor probabilidad de transmisión exitosa en un segmento de la ruta. 28. El método de acuerdo con la reivindicación 24, en donde la métrica incluye la carga de tráfico en nodos individuales en la red. 29. El método de acuerdo con la reivindicación 24, en donde se evalúa una trayectoria al seleccionar un parámetro y basando la decisión en si una ruta dada es la mejor ruta para la transmisión en base al único punto más débil a través de la trayectoria. 30. El método de acuerdo con la reivindicación 24, en donde se evalúa una trayectoria al seleccionar un parámetro y basando la decisión en si una ruta dada es la mejor ruta para la comunicación en base al único mejor punto a lo largo de la trayectoria. 31. El método de acuerdo con la reivindicación 24, en donde se determina un valor para cada uno de un grupo seleccionado de parámetros y en base al valor relativo de cada parámetro se hace un cómputo ponderado para determinar la mejor ruta a lo largo de la trayectoria. 32. El método de acuerdo con la reivindicación 31 , en donde la información concerniente a una trayectoria para comunicar un mensaje desde un nodo se determina solamente por dicho nodo a partir de las comunicaciones provenientes de los nodos que se encuentran en comunicación directa con dicho nodo. 33. El método de acuerdo con la reivindicación 29, en donde la información concerniente a una trayectoria para comunicar un mensaje desde un nodo se determina solamente por dicho nodo a partir de las comunicaciones provenientes de los nodos que se encuentran en comunicación directa con dicho nodo. 34. El método de acuerdo con la reivindicación 22, en donde la información que se utiliza para la selección de la trayectoria se mantiene en una tala en cada nodo. 35. El método de acuerdo con la reivindicación 34, en donde cada tabla tiene una o más filas indexadas por un destino final y una o más columnas conteniendo cada una el cómputo de una métrica específica del nodo para la trayectoria hacia ese destino. 36. El método de acuerdo con ia reivindicación 24, en donde las métricas pueden enviarse hacia los nodos vecinos como una transmisión separada. 37. El método de acuerdo con la reivindicación 24, en donde las métricas pueden enviarse hacia los nodos vecinos mediante la concatenación con el tráfico de mensajes normal. 38. El método de acuerdo con la reivindicación 24, en donde los cambios en las métricas se prioritizan para enviarse a los nodos vecinos de acuerdo con el tiempo de su última actualización. 39. El método de acuerdo con la reivindicación 37, en donde la transmisión de la información de la métrica de la trayectoria a través de toda la red agrega solamente una cantidad relativamente pequeña de sobrecarga a los mensajes transmitidos normalmente. 40. Un nodo en una red que comprende una pluralidad de nodos, teniendo dicho nodo una memoria, una capacidad informática y una habilidad para comunicarse con uno o más de otros nodos, adaptándose dicho nodo para recibir una comunicación enviada desde un nodo fuente para enviarse hacia un nodo de destino, adaptándose dicho nodo para enviar dicha comunicación a lo largo de una trayectoria que contiene uno o más nodos en donde dicho nodo determina la mejor trayectoria para dicha comunicación hacia el nodo de destino a través de los nodos vecinos en base a la información recibida desde dichos nodos vecinos.
MXPA03008242A 2001-03-14 2002-03-11 Aprendizaje de trayectoria eficiente en una red. MXPA03008242A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/808,635 US20020186665A1 (en) 2001-03-14 2001-03-14 Efficient path learning in network
PCT/US2002/007255 WO2002073354A2 (en) 2001-03-14 2002-03-11 Efficient path learning in network

Publications (1)

Publication Number Publication Date
MXPA03008242A true MXPA03008242A (es) 2005-03-07

Family

ID=25199320

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA03008242A MXPA03008242A (es) 2001-03-14 2002-03-11 Aprendizaje de trayectoria eficiente en una red.

Country Status (6)

Country Link
US (1) US20020186665A1 (es)
EP (1) EP1368941A2 (es)
CN (1) CN1518818A (es)
BR (1) BR0208004A (es)
MX (1) MXPA03008242A (es)
WO (1) WO2002073354A2 (es)

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7280526B2 (en) * 2001-01-18 2007-10-09 Lucent Technologies Inc. Fast and scalable approximation methods for finding minimum cost flows with shared recovery strategies, and system using same
DE10127880A1 (de) * 2001-06-11 2002-12-12 Philips Corp Intellectual Pty Dynamisches Netzwerk und Routing-Verfahren für ein dynamisches Netzwerk
US6904462B1 (en) * 2001-07-06 2005-06-07 Ciena Corporation Method and system for allocating protection path resources
FR2828045B1 (fr) * 2001-07-26 2003-10-03 Cit Alcatel Procede de selection de chemins de transmission et reseau de communication mettant en oeuvre ce procede
US20030208572A1 (en) * 2001-08-31 2003-11-06 Shah Rajesh R. Mechanism for reporting topology changes to clients in a cluster
JP3997847B2 (ja) * 2002-06-17 2007-10-24 日本電気株式会社 最適経路計算方法、及び最適経路計算プログラム
US9014196B2 (en) 2002-09-17 2015-04-21 Broadcom Corporation System and method for providing a super channel in a multi-band multi-protocol hybrid wired/wireless network
WO2004040863A1 (en) * 2002-10-30 2004-05-13 Telefonaktiebolaget Lm Ericsson A method for use an ad-hoc wlan system
ATE406015T1 (de) * 2002-12-16 2008-09-15 Telecom Italia Spa Verfahren und vorrichtung zur konstruktion eines datennetzes
US7453864B2 (en) * 2003-04-30 2008-11-18 Harris Corporation Predictive route maintenance in a mobile ad hoc network
US7382765B2 (en) * 2003-04-30 2008-06-03 Harris Corporation Predictive routing in a moble ad hoc network
EP1492275B1 (en) 2003-06-26 2015-02-25 Broadcom Corporation System and method for providing a super channel in a multi-band multi-protocol hybrid wired/wireless network
US20050007997A1 (en) * 2003-07-09 2005-01-13 Blaise Morton Distributed control method and system to route flows on netwowrks
CN1599487A (zh) * 2003-09-19 2005-03-23 皇家飞利浦电子股份有限公司 用于无线通信体系中的路由选择方法以及执行该方法的移动终端
GB2421158B (en) 2003-10-03 2007-07-11 Avici Systems Inc Rapid alternate paths for network destinations
DE10353851A1 (de) * 2003-11-18 2005-06-16 4G Systeme Gmbh Vorrichtung und Verfahren zur Einrichtung von Ad-Hoc Netzwerken
KR100631201B1 (ko) * 2004-02-11 2006-10-04 삼성전자주식회사 백오프 기법을 사용하는 비용 기반의 라우팅방법
US7961650B2 (en) 2004-02-16 2011-06-14 Christopher Michael Davies Network architecture
GB0412494D0 (en) * 2004-06-04 2004-07-07 Nokia Corp Adaptive routing
GB0416272D0 (en) * 2004-07-20 2004-08-25 British Telecomm Method of operating a network
US9439126B2 (en) * 2005-01-25 2016-09-06 Sipco, Llc Wireless network protocol system and methods
CA2616587C (en) * 2005-07-20 2017-07-11 Firetide, Inc. Route optimization for on-demand routing protocols for mesh networks
US7492717B2 (en) * 2005-12-20 2009-02-17 Palo Alto Research Center Incorporated Method and apparatus for multi-path load balancing using multiple metrics
US8335207B2 (en) * 2005-12-30 2012-12-18 Samsung Electronics Co., Ltd. Link mobility tracking and its application to mobile ad hoc networks
JP2007221564A (ja) * 2006-02-17 2007-08-30 Nec Corp 通信装置、通信システムおよび方法
US20070195702A1 (en) * 2006-02-17 2007-08-23 Yuen Wing H Link duration based routing protocol for multihop ad hoc networks
US7936681B2 (en) * 2006-03-06 2011-05-03 Cisco Technology, Inc. Cross-layer design techniques for interference-aware routing configuration in wireless mesh networks
DE102006014910A1 (de) * 2006-03-30 2007-10-04 Siemens Ag Verfahren zur Ermittlung eines Pfaddistanzwertes
DE102006014918A1 (de) * 2006-03-30 2007-10-04 Siemens Ag Routing-Verfahren
US7948909B2 (en) 2006-06-30 2011-05-24 Embarq Holdings Company, Llc System and method for resetting counters counting network performance information at network communications devices on a packet network
US8289965B2 (en) 2006-10-19 2012-10-16 Embarq Holdings Company, Llc System and method for establishing a communications session with an end-user based on the state of a network connection
US8477614B2 (en) 2006-06-30 2013-07-02 Centurylink Intellectual Property Llc System and method for routing calls if potential call paths are impaired or congested
US8488447B2 (en) 2006-06-30 2013-07-16 Centurylink Intellectual Property Llc System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance
US9094257B2 (en) 2006-06-30 2015-07-28 Centurylink Intellectual Property Llc System and method for selecting a content delivery network
US8717911B2 (en) 2006-06-30 2014-05-06 Centurylink Intellectual Property Llc System and method for collecting network performance information
US8000318B2 (en) 2006-06-30 2011-08-16 Embarq Holdings Company, Llc System and method for call routing based on transmission performance of a packet network
US8194643B2 (en) 2006-10-19 2012-06-05 Embarq Holdings Company, Llc System and method for monitoring the connection of an end-user to a remote network
US8224255B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for managing radio frequency windows
US8064391B2 (en) 2006-08-22 2011-11-22 Embarq Holdings Company, Llc System and method for monitoring and optimizing network performance to a wireless device
US8040811B2 (en) 2006-08-22 2011-10-18 Embarq Holdings Company, Llc System and method for collecting and managing network performance information
US8228791B2 (en) 2006-08-22 2012-07-24 Embarq Holdings Company, Llc System and method for routing communications between packet networks based on intercarrier agreements
US8743703B2 (en) 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US8107366B2 (en) 2006-08-22 2012-01-31 Embarq Holdings Company, LP System and method for using centralized network performance tables to manage network communications
US8144587B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for load balancing network resources using a connection admission control engine
US8549405B2 (en) 2006-08-22 2013-10-01 Centurylink Intellectual Property Llc System and method for displaying a graphical representation of a network to identify nodes and node segments on the network that are not operating normally
WO2008024387A2 (en) 2006-08-22 2008-02-28 Embarq Holdings Company Llc System and method for synchronizing counters on an asynchronous packet communications network
US8130793B2 (en) 2006-08-22 2012-03-06 Embarq Holdings Company, Llc System and method for enabling reciprocal billing for different types of communications over a packet network
US8307065B2 (en) 2006-08-22 2012-11-06 Centurylink Intellectual Property Llc System and method for remotely controlling network operators
US8015294B2 (en) 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US7684332B2 (en) 2006-08-22 2010-03-23 Embarq Holdings Company, Llc System and method for adjusting the window size of a TCP packet through network elements
US8189468B2 (en) 2006-10-25 2012-05-29 Embarq Holdings, Company, LLC System and method for regulating messages between networks
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8223654B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc Application-specific integrated circuit for monitoring and optimizing interlayer network performance
US8223655B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for provisioning resources of a packet network based on collected network performance information
US8750158B2 (en) 2006-08-22 2014-06-10 Centurylink Intellectual Property Llc System and method for differentiated billing
US7940735B2 (en) 2006-08-22 2011-05-10 Embarq Holdings Company, Llc System and method for selecting an access point
US8619600B2 (en) 2006-08-22 2013-12-31 Centurylink Intellectual Property Llc System and method for establishing calls over a call path having best path metrics
US8144586B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for controlling network bandwidth with a connection admission control engine
US8199653B2 (en) 2006-08-22 2012-06-12 Embarq Holdings Company, Llc System and method for communicating network performance information over a packet network
US8537695B2 (en) 2006-08-22 2013-09-17 Centurylink Intellectual Property Llc System and method for establishing a call being received by a trunk on a packet network
US8098579B2 (en) 2006-08-22 2012-01-17 Embarq Holdings Company, LP System and method for adjusting the window size of a TCP packet through remote network elements
US8125897B2 (en) 2006-08-22 2012-02-28 Embarq Holdings Company Lp System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets
US8274905B2 (en) 2006-08-22 2012-09-25 Embarq Holdings Company, Llc System and method for displaying a graph representative of network performance over a time period
US8531954B2 (en) 2006-08-22 2013-09-10 Centurylink Intellectual Property Llc System and method for handling reservation requests with a connection admission control engine
US9479341B2 (en) 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
US8576722B2 (en) 2006-08-22 2013-11-05 Centurylink Intellectual Property Llc System and method for modifying connectivity fault management packets
US8194555B2 (en) 2006-08-22 2012-06-05 Embarq Holdings Company, Llc System and method for using distributed network performance information tables to manage network communications
US8238253B2 (en) 2006-08-22 2012-08-07 Embarq Holdings Company, Llc System and method for monitoring interlayer devices and optimizing network performance
US7808918B2 (en) 2006-08-22 2010-10-05 Embarq Holdings Company, Llc System and method for dynamically shaping network traffic
US8407765B2 (en) 2006-08-22 2013-03-26 Centurylink Intellectual Property Llc System and method for restricting access to network performance information tables
US8306199B2 (en) * 2006-10-20 2012-11-06 Nokia Corporation Accounting in a transit network
DE102007017515B3 (de) * 2007-04-13 2008-09-11 Siemens Ag Verfahren zur Ermittlung eines Pfaddistanzwertes sowie Netzwerkknoten
US8111692B2 (en) 2007-05-31 2012-02-07 Embarq Holdings Company Llc System and method for modifying network traffic
US8108545B2 (en) * 2007-08-27 2012-01-31 International Business Machines Corporation Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture
US7769892B2 (en) * 2007-08-27 2010-08-03 International Business Machines Corporation System and method for handling indirect routing of information between supernodes of a multi-tiered full-graph interconnect architecture
US7958183B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture
US8185896B2 (en) * 2007-08-27 2012-05-22 International Business Machines Corporation Method for data processing using a multi-tiered full-graph interconnect architecture
US8014387B2 (en) 2007-08-27 2011-09-06 International Business Machines Corporation Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture
US7840703B2 (en) * 2007-08-27 2010-11-23 International Business Machines Corporation System and method for dynamically supporting indirect routing within a multi-tiered full-graph interconnect architecture
US7822889B2 (en) 2007-08-27 2010-10-26 International Business Machines Corporation Direct/indirect transmission of information using a multi-tiered full-graph interconnect architecture
US8140731B2 (en) * 2007-08-27 2012-03-20 International Business Machines Corporation System for data processing using a multi-tiered full-graph interconnect architecture
US7769891B2 (en) 2007-08-27 2010-08-03 International Business Machines Corporation System and method for providing multiple redundant direct routes between supernodes of a multi-tiered full-graph interconnect architecture
US7809970B2 (en) 2007-08-27 2010-10-05 International Business Machines Corporation System and method for providing a high-speed message passing interface for barrier operations in a multi-tiered full-graph interconnect architecture
US7958182B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture
US7793158B2 (en) 2007-08-27 2010-09-07 International Business Machines Corporation Providing reliability of communication between supernodes of a multi-tiered full-graph interconnect architecture
US7904590B2 (en) * 2007-08-27 2011-03-08 International Business Machines Corporation Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture
US7827428B2 (en) * 2007-08-31 2010-11-02 International Business Machines Corporation System for providing a cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US7921316B2 (en) * 2007-09-11 2011-04-05 International Business Machines Corporation Cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US8077602B2 (en) 2008-02-01 2011-12-13 International Business Machines Corporation Performing dynamic request routing based on broadcast queue depths
US7779148B2 (en) * 2008-02-01 2010-08-17 International Business Machines Corporation Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips
US8068425B2 (en) 2008-04-09 2011-11-29 Embarq Holdings Company, Llc System and method for using network performance information to determine improved measures of path states
CN102100109B (zh) * 2008-07-14 2014-12-17 西门子企业通讯有限责任两合公司 用于确定路由量度的方法和装置
US8670324B2 (en) * 2008-07-30 2014-03-11 Fimax Technology Limited Fair weighted network congestion avoidance
WO2010108395A1 (zh) * 2009-03-26 2010-09-30 Lin Dingwei 一种量化的多线程网络智能选径方法
US9014008B2 (en) * 2009-08-12 2015-04-21 Empire Technology Development Llc Forward-looking probabilistic statistical routing for wireless ad-hoc networks with lossy links
US8693340B2 (en) * 2010-01-14 2014-04-08 Tellabs Operations, Inc. Method and apparatus for least cost routing using multiple path accumulated constraints
PL2559266T4 (pl) 2010-04-12 2021-07-12 R F Products, Inc. System dystrybucji RF i sposób jego wykorzystania
WO2012150943A1 (en) * 2011-05-05 2012-11-08 Hewlett-Packard Development Company L.P. Method and system for online planning of a workflow of processing an article in a plant
US8654649B2 (en) * 2011-07-27 2014-02-18 Cisco Technology, Inc. Reduced topology routing in shared media communication networks
US9811622B2 (en) * 2011-10-19 2017-11-07 Verizon Patent And Licensing Inc. Optimized network node selection
US20130297725A1 (en) * 2012-05-02 2013-11-07 Elwha Llc Control of Transmission to a Target Device with a Cloud-Based Architecture
US10250638B2 (en) 2012-05-02 2019-04-02 Elwha Llc Control of transmission to a target device with a cloud-based architecture
WO2014062996A2 (en) * 2012-10-19 2014-04-24 Parallel Wireless Inc. Wireless broadband network with integrated streaming multimedia services
JP6102461B2 (ja) * 2013-04-23 2017-03-29 富士通株式会社 通信装置、マルチホップ無線通信ネットワークシステム及び通信方法
WO2014192142A1 (ja) * 2013-05-31 2014-12-04 富士通株式会社 無線端末、重要度生成方法及び無線通信システム
US9553797B2 (en) * 2014-03-12 2017-01-24 International Business Machines Corporation Message path selection within a network
US9762458B2 (en) * 2014-10-13 2017-09-12 Belkin International Inc. Mesh network transmission decisions based on node performance metrics
WO2015155510A1 (en) 2014-04-07 2015-10-15 Bae Systems Plc Ad hoc network with unidirectional link
GB2524980A (en) * 2014-04-07 2015-10-14 Bae Systems Plc Ad hoc network
US9853882B2 (en) * 2014-07-23 2017-12-26 Cisco Technology, Inc. Dynamic path switchover decision override based on flow characteristics
US9754049B2 (en) 2014-09-30 2017-09-05 International Business Machines Corporation Characterizing success pathways in networked graphs
JP6567214B2 (ja) * 2017-02-28 2019-08-28 三菱電機株式会社 無線通信装置、無線通信方法および無線通信プログラム
JP7264870B2 (ja) * 2017-07-31 2023-04-25 プロキシミティ リミテッド 電子的代理投票システムおよび方法
CN114930914A (zh) 2020-01-09 2022-08-19 索尤若驱动有限及两合公司 用于数据传输的方法以及技术系统
CN111401868B (zh) * 2020-03-19 2022-07-01 南开大学 一种费用最小的区块链链下交易路由算法
US11551175B1 (en) 2020-09-18 2023-01-10 Block, Inc. Facilitating shareholder voting and associated proxy rights
US11580478B1 (en) * 2020-09-18 2023-02-14 Block, Inc. Facilitating shareholder voting and associated proxy rights
CN113543262B (zh) * 2021-06-07 2023-06-16 中国联合网络通信集团有限公司 一种降低云游戏网络时延的方法及装置
GB2622064A (en) * 2022-09-01 2024-03-06 Bae Systems Plc Communication network

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805593A (en) * 1995-09-26 1998-09-08 At&T Corp Routing method for setting up a service between an origination node and a destination node in a connection-communications network
US6084858A (en) * 1997-01-29 2000-07-04 Cabletron Systems, Inc. Distribution of communication load over multiple paths based upon link utilization
US6260072B1 (en) * 1997-06-12 2001-07-10 Lucent Technologies Inc Method and apparatus for adaptive routing in packet networks
US6130881A (en) * 1998-04-20 2000-10-10 Sarnoff Corporation Traffic routing in small wireless data networks
US6646989B1 (en) * 1998-06-29 2003-11-11 Lucent Technologies Inc. Hop-by-hop routing with node-dependent topology information
US6418139B1 (en) * 1998-11-25 2002-07-09 Nortel Networks Limited Mechanism to guarantee quality of service to real-time traffic on IP networks
US6560654B1 (en) * 1999-10-12 2003-05-06 Nortel Networks Limited Apparatus and method of maintaining timely topology data within a link state routing network
US6456599B1 (en) * 2000-02-07 2002-09-24 Verizon Corporate Services Group Inc. Distribution of potential neighbor information through an ad hoc network

Also Published As

Publication number Publication date
CN1518818A (zh) 2004-08-04
WO2002073354A2 (en) 2002-09-19
WO2002073354A3 (en) 2003-05-30
BR0208004A (pt) 2006-02-21
US20020186665A1 (en) 2002-12-12
EP1368941A2 (en) 2003-12-10

Similar Documents

Publication Publication Date Title
MXPA03008242A (es) Aprendizaje de trayectoria eficiente en una red.
JP4598000B2 (ja) マルチホップネットワークにおけるコスト決定
Sisodia et al. A preferred link based routing protocol for wireless ad hoc networks
CN107318146B (zh) 移动集群自组网的拓扑控制方法
Mallapur et al. Load balancing technique for congestion control multipath routing protocol in MANETs
Kumar et al. Fuzzy logic based efficient multipath routing for mobile adhoc networks
US20180167314A1 (en) Backpressure routing method and apparatus using dodag structure
CN108462983B (zh) 基于改进蚁群aodv协议的多机器人通信组网方法
Amin et al. Smart data packet ad hoc routing protocol
Gholipour et al. Congestion avoidance in cognitive wireless sensor networks using TOPSIS and response surface methodology
Oida et al. ARS: an efficient agent-based routing system for QoS guarantees
Liang et al. The effect of routing under local information using a social insect metaphor
Roy et al. Fairness in message delivery in delay tolerant networks
Kumar et al. Link discontinuity and optimal route data delivery for random waypoint model
Dholey et al. ACOLBR: ACO based load balancing routing in MANET
Ali et al. A dynamic resource-aware routing protocol in resource-constrained opportunistic networks
Jain et al. Exploiting multi path routing to achieve service differentiation in sensor networks.
Borges et al. Railob-a routing algorithm for inter-cluster load balancing in wireless mesh networks
Ramakrishnan et al. Mathematical modeling of routing protocol selection for optimal performance of MANET
Daniel et al. Swarm intelligence based routing technique for call blocking in heterogeneous mobile adhoc network using link stability factor and buffering technique for QoS
Ravishankar et al. An Innovation of Distributed Scheduling and QoS Localized Routing Scheme for Wireless Industrial Sensor Network
Hsu et al. Deep reinforcement learning based mobility-aware SFC embedding for MEC in 5G and beyond
Ramya et al. Proficient algorithms for enhancing topology control for dynamic clusters in MANET
Chaudhary et al. Data-driven shortest anypath in wireless network virtualization for mobile cyber physical systems
He et al. A feedback control scheme for resource allocation in wireless multi-hop ad hoc networks