ES2302438B1 - Sistema y procedimiento para enrutar un paquete de datos en una red inalambrica, sistema de computacion en un sistema para enrutar un paquete de datos en una red inalambrica, y procedimiento para enrutar un paquete de datos en un sistema de computacion. - Google Patents

Sistema y procedimiento para enrutar un paquete de datos en una red inalambrica, sistema de computacion en un sistema para enrutar un paquete de datos en una red inalambrica, y procedimiento para enrutar un paquete de datos en un sistema de computacion. Download PDF

Info

Publication number
ES2302438B1
ES2302438B1 ES200601862A ES200601862A ES2302438B1 ES 2302438 B1 ES2302438 B1 ES 2302438B1 ES 200601862 A ES200601862 A ES 200601862A ES 200601862 A ES200601862 A ES 200601862A ES 2302438 B1 ES2302438 B1 ES 2302438B1
Authority
ES
Spain
Prior art keywords
node
nodes
intermediate node
data packet
intended
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES200601862A
Other languages
English (en)
Other versions
ES2302438A1 (es
Inventor
Jorge Garcia Vidal
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universitat Politecnica de Catalunya UPC
Original Assignee
Universitat Politecnica de Catalunya UPC
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 Universitat Politecnica de Catalunya UPC filed Critical Universitat Politecnica de Catalunya UPC
Priority to ES200601862A priority Critical patent/ES2302438B1/es
Priority to US12/373,219 priority patent/US20090279481A1/en
Priority to EP07803656A priority patent/EP2045976A1/en
Priority to PCT/ES2007/070129 priority patent/WO2008006926A1/es
Publication of ES2302438A1 publication Critical patent/ES2302438A1/es
Application granted granted Critical
Publication of ES2302438B1 publication Critical patent/ES2302438B1/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • H04L12/5689
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • 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/28Connectivity information management, e.g. connectivity discovery or connectivity update for 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user

Landscapes

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

Abstract

Sistema y procedimiento para enrutar un paquete de datos en una red inalámbrica, sistema de computación en un sistema para enrutar un paquete de datos en una red inalámbrica, y procedimiento para enrutar un paquete de datos en un sistema de computación.
Comprende medios para detectar la incapacidad del nodo intermedio previsto (A_{1}; A_{2}) para enrutar, a través del mismo, el paquete de datos desde el nodo anterior a dicho nodo intermedio previsto hasta el nodo posterior a dicho nodo intermedio previsto de la ruta del paquete de datos; y medios para determinar un grupo de nodos cooperadores del nodo intermedio previsto (A_{1}; A_{2}), de entre la pluralidad de nodos de la red (N_{0},...,N_{15}), para enrutar, a través del mismo, el paquete de datos desde el nodo anterior al nodo intermedio previsto hasta el nodo posterior al nodo intermedio previsto de la ruta del paquete de datos, en caso de que se detecte la incapacidad del nodo intermedio previsto.
Se consigue un sistema que permite usar los recursos de nodos adyacentes a los nodos de la ruta del paquete de datos, para incrementar sus capacidades de comunicación y procesamiento.

Description

Sistema y procedimiento para enrutar un paquete de datos en una red inalámbrica, sistema de computación en un sistema para enrutar un paquete de datos en una red inalámbrica, y procedimiento para enrutar un paquete de datos en un sistema de computación.
La presente invención se refiere a un sistema para enrutar un paquete de datos en una red inalámbrica, desde un nodo de origen hasta un nodo de destino, a través de al menos un nodo de la red que actúa como nodo intermedio previsto, formando una ruta del paquete de datos. Más concretamente, se refiere a un mecanismo cooperativo de enrutamiento para redes ad-hoc multisalto (multi-hop), que permite usar los recursos de nodos adyacentes a los nodos de la ruta del paquete de datos, para incrementar sus capacidades de comunicación y procesamiento.
También se refiere a un procedimiento para enrutar un paquete de datos en una red inalámbrica, a un sistema de computación en un sistema para enrutar un paquete de datos en una red inalámbrica, y a un procedimiento para enrutar un paquete de datos en un sistema de computación.
La invención es directamente aplicable como mecanismo cooperativo de enrutamiento de un paquete de datos, o puede adaptarse a protocolos conocidos.
Antecedentes de la invención
Uno de los problemas más importantes que supone la transmisión de señales (paquetes de datos) por radiofrecuencia, es la rápida atenuación que sufre la señal transmitida, con la distancia. Así, cuando se pretende transmitir un paquete de datos a velocidades más o menos importantes y largas distancia, dependiendo del ancho de banda, es necesario un transmisor con una potencia de transmisión elevada para que el paquete de datos llegue a su destino sin errores. Obviamente, dicha solución no es adecuada para, por ejemplo, dispositivos portátiles, tales como teléfonos móviles o PDAs, que, por configuración, deben consumir poca potencia.
Desde hace bastantes años, una de las soluciones adoptada para la transmisión de paquetes de datos vía radiofrecuencia ha sido la creación de redes de comunicaciones multisalto (multihop), a través de cuyos nodos se enruta el paquete de datos deseado, desde un nodo de origen hasta un nodo de destino de la red. En primer lugar, para poder realizar dicho enrutamiento del paquete de datos, es necesaria la intervención de un protocolo de determinación de la ruta del paquete de datos, seleccionando dicho protocolo los nodos de la red más adecuados para el enrutamiento del paquete de datos. Por otro lado, es necesario un mecanismo de enrutamiento que indique a cada nodo de la ruta qué debe hacer, sin tomar en consideración las acciones del resto de nodos.
Básicamente, el protocolo establece, de entre la pluralidad de nodos de la red, los nodos que deben intervenir para enrutar el paquete de datos desde el nodo de origen hasta el nodo de destino, es decir, establece los nodos intermedios previstos por los que debe circular el paquete de datos. Además, dicho protocolo aporta toda la información de encaminamiento necesaria a las tablas de encaminamiento (forwarding tables) de cada uno de los nodos que forma parte de la ruta del paquete de datos establecida (cada nodo conoce, de acuerdo con el nodo de destino, a qué nodo debe transmitir el paquete de datos). Para conseguir la determinación de la ruta, todos los nodos de la red deben comunicarse entre ellos (por ejemplo, intercambiando mensajes con información de encaminamiento), de manera que se obtienen los nodos más adecuados para enrutar el paquete de datos, y se determina como deben comunicarse entre sí.
Un ejemplo de protocolo de determinación de ruta se describe en la solicitud de patente europea EP1122919, con título "Procedimiento de enrutamiento para redes ad hoc", a nombre de CIT Alcatel. En dicha solicitud se describe una metodología que permite determinar una ruta en una red ad hoc multi-salto (multi-hop), entre un nodo de origen y un nodo de destino.
Otro ejemplo del protocolo descrito es el estándar del IETF conocido como AODV (Ad hoc On-demand Distance Vector), que permite establecer rutas en redes ad hoc multisalto. Dicho protocolo AODV entra en funcionamiento cuando un nodo de la red necesita determinar una ruta a un nuevo destino.
En cuanto al mecanismo de enrutamiento, utiliza la dirección del nodo destino final del paquete del datos (es decir, del extremo final de la ruta que debe seguir dicho paquete de datos) para obtener la dirección del nodo al que se debe transmitir dicho paquete de datos (lo que normalmente se denomina nodo next-hop). Este mapeo se encuentra en lo que se denomina tabla de forwarding o encaminamiento. Dichas direcciones (junto con la dirección del nodo que originó el paquete de datos y la del nodo que lo está transmitiendo) aparecen en la cabecera de control del paquete de datos cuando dicho paquete de datos sea transmitido. Puesto que, como ya se ha descrito anteriormente, cada nodo de la ruta tiene una tabla de forwarding que le indica a qué nodo debe transmitir el paquete de datos para un determinado nodo de destino, el nodo procesa el paquete de datos y, mediante el mecanismo de enrutamiento, determina a qué nodo debe transmitir el paquete de datos.
En el caso de que los nodos intermedios previstos de la ruta establecida se encuentren en una posición estática, los mecanismos de enrutamiento conocidos (por ejemplo, mecanismos no-cooperativos) funcionan de forma aceptable. El problema aparece cuando alguno de los nodos intermedios previstos de la ruta pasa a un estado de incapacidad para enrutar el paquete de datos, ya sea porque no lo recibe (por ejemplo, el nodo intermedio previsto está fuera del rango de cobertura del nodo anterior a dicho nodo intermedio previsto (por ejemplo, porque se ha movido), o se ha producido el apagado del nodo intermedio previsto, por falta de alimentación), o porque lo recibe con errores. Sea cual sea la situación, se corta la comunicación entre los nodos de la ruta del paquete de datos y, por tanto, se pierden paquetes de datos. Una posible solución ante una situación como ésta es la de actualizar las tablas de forwarding de los nodos de la ruta del paquete de datos, para adaptarlas a la nueva situación, y establecer una nueva ruta del paquete de datos. El inconveniente principal de dicha solución es la cantidad de paquetes de datos que se pierden durante el tiempo que pasa desde que se corta la comunicación hasta que se actualizan las tablas de forwarding de los nodos implicados, puesto que dicho proceso requiere usualmente tiempos elevados para su realización.
Por otro lado, son conocidos en el estado de la técnica los protocolos cooperativos, que permiten que los nodos utilicen recursos de nodos adyacentes para incrementar su capacidad de comunicación y procesado. El diseño de dichos protocolos es un campo de investigación nuevo y prometedor. Sin embargo, aunque está creciendo su popularidad en transmisiones inalámbricas y aplicaciones peer-to-peer, es menos común en los niveles intermedios del stack de comunicaciones, principalmente para las capas 2 a 4 del modelo de referencia de Arquitectura de Sistemas Abiertos de ISO. La causa principal puede ser que los mecanismos y abstracciones básicas, tales como un encaminamiento adecuado, que facilitarían el diseño de esta clase de protocolos, no están definidos en el stack de comunicaciones que se utilizan actualmente en redes, por ejemplo, TCP-IP.
Recientemente se han publicado varios documentos referentes a protocolos cooperativos en la capa física (nivel 1 del stack de comunicaciones), por ejemplo, en [A. Nosratinia, T.E. Hunter, A. Hedayat, "cooperative Communication in Wireless Networks", IEEE Communications Magazine, Octubre de 2004]. Los resultados obtenidos muestran que se pueden obtener ahorros sustanciales de energía e incrementos en el alcance, aunque, por el contrario, requieren hardware de radiofrecuencia complejo.
En el campo de los protocolos cooperativos en la capa de aplicación (capas 5 a 7 del stack de comunicaciones), últimamente se ha producido un incremento de propuestas para protocolos conocidos, tales como peer-to-peer (P2P), que han demostrado su capacidad para formar sistemas distribuidos y auto-organizados, en los que se comparten recursos, por ejemplo, contenidos, ciclos de CPU, almacenamiento o ancho de banda.
En cuanto a las capas 2 a 4, existen evidencias de que se pueden obtener grandes ganancias de protocolos cooperativos en estos niveles sin un incremento en la complejidad del hardware, aunque, como se ha descrito anteriormente, su desarrollo no ha sido muy tratado en la literatura.
Descripción de la invención
A partir de lo descrito anteriormente, es un objetivo de la presente invención proporcionar un sistema para enrutar un paquete de datos en una red inalámbrica, que permite optimizar el funcionamiento de la misma.
Este objeto se consigue de acuerdo con la reivindicación 1, proporcionando un sistema para enrutar al menos un paquete de datos en una red inalámbrica, que comprende medios para detectar la incapacidad del nodo intermedio previsto para enrutar, a través del mismo, el paquete de datos desde el nodo anterior a dicho nodo intermedio previsto hasta el nodo posterior a dicho nodo intermedio previsto de la ruta del paquete de datos; y medios para determinar un grupo de nodos cooperadores del nodo intermedio previsto, de entre la pluralidad de nodos de la red, para enrutar, a través del mismo, el paquete de datos desde el nodo anterior al nodo intermedio previsto hasta el nodo posterior al nodo intermedio previsto de la ruta del paquete de datos, en caso de que se detecte la incapacidad del nodo intermedio previsto.
El sistema de acuerdo con la invención puede considerarse como un mecanismo cooperativo de enrutamiento. El hecho de proporcionar unos medios para determinar un grupo de nodos cooperadores de un nodo intermedio previsto, hace que, en el caso que se detecte la incapacidad del nodo intermedio previsto, dicho grupo de nodos cooperadores (puede estar formado por uno o más nodos de la red) se encargue de enrutar el paquete de datos, por lo que no se produce un corte en la comunicación entre los nodos de la ruta del paquete de datos, y, por tanto, no se produce una pérdida de paquetes de datos, resolviéndose los problemas de transmisión existentes en las redes inalámbricas actuales. Básicamente, ninguno de los nodos implicados en el enrutamiento del paquete de datos debe modificar su tabla de encaminamiento, por lo que no se pierde tiempo en ello, y por tanto, tampoco se pierden paquetes de datos.
El grupo de nodos cooperadores toma completamente las funciones del nodo intermedio previsto, para asegurar que el estado de funcionamiento de la red no se vea afectado por el movimiento o la desaparición de dicho nodo intermedio previsto. Los nodos de la red inalámbrica cooperan entre ellos, de manera que el nodo intermedio previsto de la ruta del paquete de datos utiliza los recursos de nodos adyacentes para incrementar sus capacidades de comunicación y procesamiento, obteniéndose una red más sólida como resultado de compartir sus capacidades de transmisión y enrutamiento. Dichos recursos compartidos pueden ser, por ejemplo, antenas, cadenas de RF, interfaces de red, memoria o procesadores.
Otra ventaja de la invención es que el mecanismo puede ser útil para acomodar, en redes inalámbricas, el funcionamiento de protocolos cooperativos ya existentes (por ejemplo, el protocolo cooperativo MAC o el protocolo cooperativo ARQ), consiguiéndose que su funcionamiento sea más natural.
En una situación extrema, en la que el grupo de nodos cooperadores del nodo intermedio previsto encargado de enrutar el paquete de datos no presente ningún nodo, la red inalámbrica seguiría funcionando como lo haría en el caso de que fuera una red no cooperativa, nunca peor.
Preferentemente, el sistema comprende medios para obtener un conjunto de posibles nodos cooperadores del nodo intermedio previsto. Dicho conjunto de posibles nodos cooperadores comprende los nodos que potencialmente pueden actuar como nodos cooperadores del nodo intermedio previsto, cuando dicho nodo sea incapaz de enrutar un paquete de datos. La obtención de dicho conjunto de posibles nodos cooperadores del nodo intermedio previsto puede realizarse a intervalos de tiempo determinados, por ejemplo, cada tres segundos, y es independiente de la transmisión del paquete de datos por parte del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos. De este modo, puesto que, cuando se realiza la transmisión, el conjunto de posibles nodos cooperadores es conocido, el tiempo necesario para confirmar la recepción del paquete de datos es reducido, lo cual es adecuado para determinados protocolos.
Según una realización preferida de la invención, los medios para obtener el conjunto de posibles nodos cooperadores del nodo intermedio previsto comprenden medios para obtener el conjunto de nodos que se encuentran dentro del rango de cobertura del nodo intermedio previsto; y medios para seleccionar, de entre dicho conjunto de nodos, el conjunto de posibles nodos cooperadores del nodo intermedio previsto, de tal modo que dicho conjunto de posibles nodos cooperadores cumple unas condiciones idóneas para actuar como nodo cooperador del nodo intermedio previsto.
Así, el conjunto de posibles nodos cooperadores puede estar formado por aquellos nodos que presenten unos canales de comunicación particularmente favorables con el nodo intermedio previsto de la ruta del paquete de datos. La determinación de un canal de comunicación favorable puede basarse en determinados parámetros de calidad, tales como la relación señal-ruido (Signal-to-Noise Ratio, SNR) o la tasa de error por bit (Bit-Error-Rate, BER).
Otra ventaja a destacar de la invención es que el nodo anterior al nodo intermedio previsto no interviene en la decisión referente a qué nodo del conjunto de posibles nodos cooperadores de dicho nodo intermedio previsto debe enrutar el paquete de datos, en caso de que el nodo intermedio previsto sea incapaz de hacerlo (el grupo de nodos cooperadores se escoge entre el nodo intermedio previsto y su conjunto de posibles nodos cooperadores). Ante la incapacidad del nodo intermedio previsto de enrutar el paquete de datos, desde el nodo anterior no se entiende que se haya roto la ruta del paquete de datos, puesto que recibe una confirmación de recepción del paquete de datos, ya sea del nodo intermedio previsto, si puede enrutar el paquete de datos, o de alguno de los nodos del conjunto de posibles nodos cooperadores o del propio nodo intermedio previsto, si dicho nodo no puede enrutar el paquete de datos. Este último caso se da cuando, por ejemplo, el nodo intermedio previsto determina que su conjunto de posibles nodos cooperadores está enrutando paquetes de datos, y él no recibe ninguno.
De acuerdo con una realización de la invención, el conjunto de posibles nodos cooperadores puede comprender los medios para detectar la incapacidad del nodo intermedio previsto, aunque es posible, tal como se ha descrito arriba, que el propio nodo intermedio previsto los pueda incorporar.
Del mismo modo, el conjunto de posibles nodos cooperadores de un nodo intermedio previsto puede comprender también medios para comunicar la inactividad del nodo intermedio previsto, al nodo anterior a dicho nodo intermedio previsto de la ruta del paquete de datos, aunque como también se ha descrito arriba, es posible que los incorpore el propio nodo intermedio previsto. Dicha comunicación de inactividad puede realizarse, por ejemplo, después de un tiempo determinado de inactividad del nodo intermedio previsto, o después de un número determinado de paquetes de datos que no han podido ser enrutados por el mismo. Sea cual sea la causa, se puede provocar una modificación en la tabla de forwarding del nodo anterior, para que el enrutamiento del paquete de datos para un nodo de destino determinado se haga a través de otro nodo, obteniéndose una nueva ruta del paquete de datos.
Preferiblemente, cada uno de los nodos de la red comprende información de encaminamiento, la cual puede estar en forma de tabla de encaminamiento (forwarding). Dicha información debe comprender al menos la dirección del nodo de destino del paquete de datos, y la dirección del nodo al que debe transmitir el paquete de datos para que dicho paquete alcance el nodo de destino. Dicha información se complementa con la información que incorpora el paquete de datos en su cabecera de control, entre la que destaca la dirección del nodo de destino del paquete de datos. De este modo, cuando el nodo intermedio previsto que recibe el paquete de datos lo procesa, determina el nodo de destino del paquete y, a partir de su tabla de forwarding determina el nodo al que debe transmitir el paquete de datos.
El nodo intermedio previsto puede comprender medios para distribuir a su conjunto de posibles nodos cooperadores, la información de encaminamiento necesaria, de manera que dicha información se introduce en la tabla de forwarding de cada uno de los nodos del conjunto de posibles nodos cooperadores. De este modo, el nodo intermedio previsto mantiene actualizadas las tablas de forwarding de su conjunto de posibles nodos cooperadores, ante posibles desapariciones de nodos, ya sea, por ejemplo, por movilidad o por desconexión. La distribución de dicha información de encaminamiento puede realizarse a intervalos de tiempo determinados.
Es importante destacar que, gracias a la utilización de ondas radio, la transmisión del paquete de datos por parte del nodo anterior al nodo intermedio previsto, puede realizarse, al mismo tiempo, tanto a dicho nodo intermedio previsto como a su conjunto de posibles nodos cooperadores, por lo que, con tal de que algún nodo del grupo de cooperadores del nodo intermedio previsto reciba correctamente el paquete, el nodo anterior no debe volver a transmitir el paquete de datos para que sea enrutado por el grupo de nodos cooperadores, en caso de que el nodo intermedio previsto sea incapaz de enrutado. Puesto que el conjunto de posibles nodos cooperadores también recibe el paquete de datos, lo procesa y lo mantiene hasta que determina que el nodo intermedio previsto lo ha enrutado. En caso de que el conjunto de posibles nodos cooperadores determine que el nodo intermedio previsto no ha enrutado el paquete de datos, ya sea porque no ha enviado la confirmación de recepción del paquete de datos al nodo anterior, o porque no ha transmitido el paquete de datos (cabe recordar que todos los nodos del conjunto de posibles nodos cooperadores están dentro del rango de cobertura del nodo intermedio previsto, por lo que si dicho nodo transmite, el conjunto de posibles nodos cooperadores debe recibir dicha transmisión con muy alta probabilidad), el grupo de nodos cooperadores, que forma parte del conjunto de posibles nodos cooperadores, enruta el paquete de datos hasta el nodo posterior al nodo intermedio previsto.
Si el grupo de nodos cooperadores comprende más de un nodo, el enrutamiento del paquete de datos hasta el nodo posterior al nodo intermedio previsto puede ser hecho por todos los nodos del grupo de nodos cooperadores o por sólo uno de dichos nodos. En este último caso, la determinación del nodo que debe enrutar el paquete de datos puede realizarse, por ejemplo, de acuerdo con un orden establecido por el nodo intermedio previsto, por proximidad, o por calidad del canal de comunicación.
El paquete de datos transmitido al nodo intermedio previsto y a su conjunto de posibles nodos cooperadores puede comprender un indicador que informa a dicho conjunto de posibles nodos cooperadores que debe cooperar en el enrutamiento de dicho paquete de datos. De este modo, si el paquete de datos incorpora dicho indicador, el conjunto de posibles nodos cooperadores sabe que, en caso de incapacidad del nodo intermedio previsto, debe intervenir en el enrutamiento del paquete y, por tanto, guarda el paquete de datos hasta que confirma que el nodo intermedio previsto lo ha enrutado. Si el paquete de datos no incorpora dicho indicador, la red funciona como si se tratara de un mecanismo no cooperativo de enrutamiento, es decir, no existe cooperación entre los nodos de la ruta del paquete de datos y los nodos adyacentes a dichos nodos de la ruta.
De acuerdo con otra realización de la invención, los medios para determinar el grupo de nodos cooperadores del nodo intermedio previsto comprenden medios para obtener, del conjunto de posibles nodos cooperadores, el subconjunto de nodos que se encuentra dentro del rango de cobertura del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, cuando dicho nodo anterior al nodo intermedio previsto ha transmitido el paquete de datos; y medios para seleccionar, de entre dicho subconjunto de nodos, el grupo de nodos cooperadores del nodo intermedio previsto.
En este caso, el grupo de nodos cooperadores corre un riesgo importante, puesto que no sabe si el nodo posterior al nodo intermedio previsto se encuentra dentro de su rango de cobertura, aunque dicha realización acelera considerablemente el proceso. Esta característica es adecuada para aquellos protocolos en los que es necesario una confirmación de recepción rápida, como puede ser el 802.11.
Alternativamente, los medios para determinar el grupo de nodos cooperadores del nodo intermedio previsto puede comprender medios para obtener, del conjunto de posibles nodos cooperadores, el subconjunto de nodos que se encuentra dentro del rango de cobertura del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, cuando dicho nodo anterior al nodo intermedio previsto ha transmitido el paquete de datos; medios para obtener, de dicho subconjunto de nodos, un segundo subconjunto de nodos, de tal modo que el nodo posterior al nodo intermedio previsto de la ruta del paquete de datos se encuentra dentro del rango de cobertura de dicho segundo subconjunto de nodos; y medios para seleccionar, de entre dicho segundo subconjunto de nodos, el grupo de nodos cooperadores del nodo intermedio previsto.
En este segundo caso, el enrutamiento del paquete de datos se realiza con alta probabilidad, puesto que el sistema verifica que el nodo al que se debe transmitir el paquete de datos está dentro del rango de cobertura del grupo de nodos cooperadores del nodo intermedio previsto.
El sistema puede comprender también medios para detectar el funcionamiento inadecuado de un nodo del conjunto de posibles nodos cooperadores. Dicho funcionamiento inadecuado puede deberse, por ejemplo, a un funcionamiento erróneo del nodo o a un funcionamiento innecesario. En el primer caso, la presencia de dichos medios evita que el nodo pueda formar parte del grupo de nodos cooperadores y, por tanto, que puedan aparecer problemas de comunicación en la red (pérdida de paquetes de datos). En cuanto al segundo punto, el hecho de que deje de trabajar un nodo que presenta un funcionamiento inadecuado, evita un consumo innecesario de recursos del sistema.
De acuerdo con otro aspecto, la invención proporciona un procedimiento para enrutar al menos un paquete de datos en una red inalámbrica, que comprende las etapas de (A) detectar la incapacidad del nodo intermedio previsto para enrutar, a través del mismo, el paquete de datos desde el nodo anterior a dicho nodo intermedio previsto hasta el nodo posterior a dicho nodo intermedio previsto de la ruta del paquete de datos; (B) en caso de detección positiva en la etapa (A), determinar un grupo de nodos cooperadores del nodo intermedio previsto, de entre la pluralidad de nodos de la red, para enrutar, a través del mismo, el paquete de datos desde el nodo anterior al nodo intermedio previsto hasta el nodo posterior al nodo intermedio previsto de la ruta del paquete de datos.
El procedimiento puede comprender también una etapa (C) de obtención de un conjunto de posibles nodos cooperadores del nodo intermedio previsto, pudiendo comprender dicha etapa (C) las subetapas de (C.1) obtener el conjunto de nodos que se encuentran dentro del rango de cobertura del nodo intermedio previsto; (C.2) seleccionar, de entre dicho conjunto de nodos, el conjunto de posibles nodos cooperadores del nodo intermedio previsto, de tal modo que dicho conjunto de posibles nodos cooperadores cumple unas condiciones idóneas para actuar como nodos cooperadores del nodo intermedio previsto.
Según una realización de la invención, la etapa (B) de determinación del grupo de nodos cooperadores del nodo intermedio previsto, comprende las subetapas de (B.1) obtener, del conjunto de posibles nodos cooperadores, el subconjunto de nodos que se encuentra dentro del rango de cobertura del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, cuando dicho nodo anterior al nodo intermedio previsto ha transmitido el paquete de datos; (B.2) seleccionar, de entre dicho subconjunto de nodos, el grupo de nodos cooperadores del nodo intermedio previsto.
Alternativamente, la etapa (B) de determinación del grupo de nodos cooperadores del nodo intermedio previsto, puede comprender las subetapas de (B.3) obtener, del conjunto de posibles nodos cooperadores, el subconjunto de nodos que se encuentra dentro del rango de cobertura del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, cuando dicho nodo anterior al nodo intermedio previsto ha transmitido el paquete de datos; (B.4) obtener, de dicho subconjunto de nodos, un segundo subconjunto de nodos, de tal modo que el nodo posterior al nodo intermedio previsto de la ruta del paquete de datos se encuentra dentro del rango de cobertura del segundo subconjunto de nodos cooperadores del nodo intermedio previsto; (B.5) seleccionar, de entre dicho segundo subconjunto de nodos, el grupo de nodos cooperadores del nodo intermedio previsto.
De acuerdo con otro aspecto de la invención, se proporciona un sistema de computación en un sistema para enrutar un paquete de datos en una red inalámbrica, que es adecuado para actuar como nodo cooperador del nodo intermedio previsto, y que comprende medios para detectar la incapacidad del nodo intermedio previsto para enrutar, a través del mismo, el paquete de datos desde el nodo anterior a dicho nodo intermedio previsto hasta el nodo posterior a dicho nodo intermedio previsto de la ruta del paquete de datos; y medios para enrutar el paquete de datos, los cuales comprenden medios para recibir el paquete de datos del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, y medios para transmitir dicho paquete de datos al nodo posterior al nodo intermedio previsto de la ruta del paquete de datos, en caso de que se detecte la incapacidad del nodo intermedio previsto.
Los medios para transmitir el paquete de datos al nodo posterior al nodo intermedio previsto de la ruta del paquete de datos pueden comprender medios para introducir en el paquete de datos un indicador que informa al conjunto de posibles nodos cooperadores del nodo intermedio previsto que debe cooperar en el enrutamiento del paquete de datos.
De acuerdo con aún otro aspecto de la invención, se proporciona un procedimiento para enrutar al menos un paquete de datos en un sistema de computación como el descrito, que comprende las etapas de (D) recibir el paquete de datos del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos; (A) detectar la incapacidad del nodo intermedio previsto para enrutar, a través del mismo, el paquete de datos desde el nodo anterior a dicho nodo intermedio previsto hasta el nodo posterior a dicho nodo intermedio previsto de la ruta del paquete de datos; (E) en caso de detección positiva en la etapa (A), transmitir el paquete de datos al nodo posterior al nodo intermedio previsto de la ruta del paquete de datos.
De acuerdo con otro aspecto, la invención proporciona un programa de ordenador que comprende instrucciones de programa que se ejecutan en un sistema de computación para realizar el procedimiento para enrutar un paquete de datos en un sistema de computación.
Dicho programa de ordenador puede estar almacenado en unos medios de almacenamiento físico, tales como unos medios de grabación, una memoria de ordenador, o una memoria de solo lectura, o puede ser portado por una onda portadora, tal como eléctrica u óptica.
Breve descripción de los dibujos
Para mayor comprensión de cuanto se ha expuesto se acompaña unos dibujos en los cuales, esquemáticamente y sólo a título de ejemplo no limitativo, se representa un caso práctico de realización.
En los dibujos,
Fig. 1 es una representación esquemática de una red inalámbrica, sobre la que se aplica el sistema para enrutar un paquete de datos, de acuerdo con la invención;
Fig. 2 es una representación esquemática de un primer esquema de enrutamiento para una red cooperativa como la de la Fig. 1;
Fig. 3 es una representación esquemática de un segundo esquema de enrutamiento para una red cooperativa como la de la Fig. 1;
Fig. 4 es una representación esquemática de la red inalámbrica de la Fig. 1, en la que se realiza un salto de un paquete de datos para su enrutamiento, siendo el nodo de enrutamiento el propio nodo intermedio previsto de la ruta del paquete de datos;
Fig. 5 es una representación esquemática de la red inalámbrica de la Fig. 1, en la que se realiza otro salto del paquete de datos, siendo el nodo de enrutamiento el grupo de nodos cooperadores del nodo intermedio previsto correspondiente;
Fig. 6 es una representación esquemática de la red inalámbrica de la Fig. 1, en la que se solicita un cambio de uno de los nodos intermedios previstos de la ruta del paquete de datos.
Descripción de una realización preferida de la invención
A continuación se realizará la descripción de una realización preferida de la invención, aplicada a una red inalámbrica del tipo ad-hoc multisalto (multihop). Para dicha descripción, se asume que dicha red es una red homogénea, es decir, se trata de una red en la que todos los nodos utilizan el mismo esquema de direccionamiento.
También se describirán esquemas de direccionamiento y de enrutamiento, que forman parte de la invención, que permiten que el potencial de cooperación en redes inalámbricas sea explotado de manera más eficiente.
Como norma general, no se puede garantizar la existencia de nodos cooperativos. Si un nodo intermedio previsto no encuentra ningún posible nodo cooperativo, la red debe continuar funcionando como si se tratara de una red no-cooperativa. De este modo, utilizando el sistema de la invención, la red funciona como caso más negativo, como una red no-cooperativa, pero nunca peor.
El mecanismo para enrutar un paquete de datos en la red inalámbrica, entre un nodo de origen y un nodo de destino, permite, entre otras cosas, facilitar el funcionamiento de los protocolos cooperativos en las redes inalámbricas. La idea de introducir cooperación entre los nodos de una red inalámbrica para optimizar el uso de recursos es ciertamente atractiva, puesto que un nodo de la red debe tomar completamente las funciones de otro, con la intención de asegurar que el estado de funcionamiento de la red no se vea afectado por el movimiento o la desaparición de nodos.
Los recursos compartidos pueden ser, entre otros, antenas, cadenas de RF, interfaces de red, memoria o procesadores.
Básicamente, la invención es aplicable en redes inalámbricas, para permitir que los nodos utilicen recursos de nodos adyacentes para incrementar su capacidad de comunicación y procesado, pudiendo trabajar el mecanismo por sí sólo, adaptando todo el software y el hardware existentes a este nuevo mecanismo de enrutamiento, o como una mejora de los protocolos existentes, por ejemplo el protocolo ARQ o el protocolo MAC (Wi-Fi).
Aunque la idea de cooperación puede aplicarse de manera general, combina particularmente bien con las características de las redes inalámbricas, dado que:
-
Explota las ventajas de broadcast inherentes a las transmisiones inalámbricas.
-
El hecho de que la calidad de los enlaces inalámbricos dependa en mayor parte de la distancia, significa que, en muchos casos, hay una clara relación de adyacencia entre nodos.
-
El uso cooperativo de antenas o interfaces de otros nodos permite la introducción de técnicas básicas para transmisiones inalámbricas, tales como la diversidad espacial (spatial diversity).
-
La utilización compartida de buffers de memoria, sistemas de transmisión, etc. permite el ahorro de recursos, siempre escasos en nodos muy sencillos.
-
La suplantación de la funcionalidad de un nodo que actúa como un transmisor, proporciona una mayor resistencia a la red ante la presencia de movilidad de los nodos.
La presente realización preferida se centra en la aplicación del mecanismo para enrutar un paquete de datos por sí mismo, aunque también es adecuado para adaptarlo, entre otros, en protocolos cooperativos para las capas 2 a 4 del stack de comunicaciones (acceso múltiple, control del enlace de datos, encaminamiento y transporte).
Como se puede ver en la Fig. 1, la red inalámbrica comprende una pluralidad de nodos (N_{0}, N_{1}, N_{2}, ....N_{15}) distribuidos de una manera determinada en el espacio.
Cuando se desea transmitir un paquete de datos (o más) entre un nodo de origen S y un nodo de destino D, formando parte dichos nodos de origen S y de destino D de la pluralidad de nodos (N_{0}, N_{1}, N_{2}, ....N_{15}), es necesaria la intervención de un protocolo de determinación de una ruta (S, A_{1}, A_{2}, D) para el paquete de datos, que determina los nodos de la pluralidad de nodos (N_{0}, N_{1}, N_{2}, ....N_{15}) que deben intervenir en dicha transmisión, siendo referenciados dichos nodos como nodos intermedios previstos A_{1},A_{2}. Para este propósito, podrían utilizarse los criterios normales de optimización: mínimo número de saltos, máxima tasa de transferencia, etc. Sin embargo, en una red cooperativa, se pueden utilizar otros criterios de optimización, tales como la maximización del número de nodos del conjunto de posibles nodos cooperadores de un nodo intermedio previsto, etc.
Una vez establecida la ruta del paquete de datos (S, A_{1}, A_{2}, D), es necesaria una herramienta que controle el enrutamiento del paquete de datos a través de los nodos de dicha ruta, siendo dicha herramienta el mecanismo para enrutar un paquete de datos en una red inalámbrica, de acuerdo con la invención.
El mecanismo para enrutar un paquete de datos se presenta en forma de programa de ordenador y comprende un módulo para obtener, para cada nodo intermedio previsto A_{i} (i=1,2 para la presente realización), un conjunto B_{j} (j=0,1,2,3 para la presente realización) de posibles nodos cooperadores; un módulo para detectar la incapacidad de un nodo intermedio previsto A_{i} para enrutar, a través del mismo, el paquete de datos desde el nodo anterior A_{i-1} hasta el nodo posterior A_{i+1} a dicho nodo intermedio previsto A_{i} de la ruta del paquete de datos; un módulo para determinar un grupo L_{i} de nodos cooperadores de un nodo intermedio previsto A_{i}, de entre su conjunto B_{j} de posibles nodos cooperadores, para enrutar, a través de dicho grupo de nodos cooperadores, el paquete de datos desde el nodo anterior hasta al nodo posterior al nodo intermedio previsto de la ruta del paquete de datos, en caso de que se detecte la incapacidad del nodo intermedio previsto.
El mecanismo comprende también un módulo para comunicar la incapacidad de un nodo intermedio previsto A_{i}, al nodo anterior A_{i-1} a dicho nodo intermedio previsto de la ruta del paquete de datos; y un módulo para determinar el funcionamiento inadecuado de un nodo del conjunto B_{j} de posibles nodos cooperadores de un nodo intermedio previsto A_{i}.
El módulo para obtener el conjunto B_{j} de posibles nodos cooperadores de un nodo intermedio previsto comprende un submódulo para obtener el conjunto de nodos de la red que se encuentran dentro del rango de cobertura del nodo intermedio previsto A_{i}; y un submódulo para seleccionar, de entre dicho conjunto de nodos, el conjunto B_{i} de posibles nodos cooperadores, de tal modo que dicho conjunto de posibles nodos cooperadores cumple unas condiciones idóneas para actuar como nodo cooperador del nodo intermedio previsto A_{i}. Normalmente, dichas condiciones se basan en parámetros de calidad referentes sobretodo a los canales de comunicación establecidos entre el nodo intermedio previsto y el conjunto de posibles nodos cooperadores (por ejemplo, la relación señal-ruido (Signal-to-Noise Ratio, SNR) o la tasa de error por bit (Bit-Error-Rate, BER)).
Por otro lado, el módulo para obtener el conjunto B_{i} de posibles nodos cooperadores de un nodo intermedio previsto A_{i} puede presentarse también en la forma de programa de ordenador o de módulo de un programa de ordenador más general, que se ejecuta en el nodo intermedio previsto, de manera que es el propio nodo intermedio previsto el que determina su conjunto de posibles nodos cooperadores. Dicho módulo actúa a intervalos de tiempo determinados, por ejemplo, cada tres segundos, con independencia de que se haya transmitido un paquete de datos desde el nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, es decir, cada dicho intervalo de tiempo determinado se establece un nuevo conjunto de posibles nodos cooperadores para el nodo intermedio previsto.
El conjunto B_{i} de posibles nodos cooperadores de un nodo intermedio previsto A_{i} está dispuesto de una manera distribuida y oportunista, es decir, los nodos adyacentes con los que un nodo intermedio previsto puede establecer una cooperación son aquellos con los que tiene canales de comunicación particularmente favorables y con los que ha establecido una relación de confianza.
El módulo para detectar la incapacidad de un nodo intermedio previsto A_{i} puede presentarse también en la forma de programa de ordenador o de módulo de un programa de ordenador más general, que se ejecuta sobre el conjunto B_{i} de posibles nodos cooperadores del nodo intermedio previsto A_{i}, o sobre los nodos intermedios previstos A_{i} de la ruta del paquete de datos. De este modo, son el conjunto de posibles nodos cooperadores de un nodo intermedio previsto o el propio nodo intermedio previsto el que determina la incapacidad del mismo. La manera de detectar la incapacidad de un nodo intermedio previsto se basa en el hecho de que, puesto que el conjunto de posibles nodos cooperadores está dentro del rango de cobertura del nodo intermedio previsto, ninguno de los nodos del conjunto de posibles nodos cooperadores recibe la confirmación de recepción del paquete de datos que envía el nodo intermedio previsto al nodo anterior A_{i-1} de la ruta del paquete de datos, que es el que lo transmite. También es posible detectar la incapacidad del nodo intermedio previsto si el conjunto de posibles nodos cooperadores no recibe la transmisión del paquete de datos que debe realizar el nodo intermedio previsto hacia el nodo posterior A_{i+1} al nodo intermedio previsto de la ruta del paquete de datos, para que alcance el nodo de destino D.
El módulo para determinar un grupo L_{i} de nodos cooperadores de un nodo intermedio previsto, de entre el conjunto B_{i} de posibles nodos cooperadores, comprende un submódulo para obtener, de entre dicho conjunto de posibles nodos cooperadores, el subconjunto de nodos que se encuentra dentro del rango de cobertura del nodo anterior A_{i-1} al nodo intermedio previsto A_{i} de la ruta del paquete de datos, cuando dicho nodo anterior al nodo intermedio previsto ha transmitido el paquete de datos; y un submódulo para seleccionar, de entre dicho subconjunto de nodos, el grupo L_{i} de nodos cooperadores del nodo intermedio previsto. Es importante destacar que, en la presente realización preferida, la determinación del grupo de nodos cooperadores se realiza para el correspondiente nodo intermedio previsto, para el paquete de datos dado, y cuando dicho nodo intermedio previsto es incapaz de enrutarlo.
De acuerdo con otra realización preferida de la invención, el módulo para determinar, de entre el conjunto B_{i} de posibles nodos cooperadores, un grupo L_{i} de nodos cooperadores de un nodo intermedio previsto A_{i} comprende un submódulo para obtener, de dicho conjunto de posibles nodos cooperadores, el subconjunto de nodos que se encuentran dentro del rango de cobertura del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, cuando dicho nodo anterior ha transmitido el paquete de datos; un submódulo para obtener, de dicho subconjunto de nodos, un segundo subconjunto de nodos, de tal modo que el nodo posterior al nodo intermedio previsto de la ruta del paquete de datos se encuentra dentro del rango de cobertura de dicho segundo subconjunto de nodos; y un submódulo para seleccionar, de entre dicho segundo subconjunto de nodos, el grupo de nodos cooperadores del nodo intermedio previsto. Del mismo modo, la determinación del grupo L_{i} de nodos cooperadores se realiza para el correspondiente nodo intermedio previsto, para el paquete de datos dado, y cuando dicho nodo intermedio previsto es incapaz de enrutarlo.
La condición de que el nodo posterior al nodo intermedio previsto de la ruta del paquete de datos se encuentra dentro del rango de cobertura de dicho segundo subconjunto de nodos, en algunos casos, puede ser equivalente a la condición de que el segundo subconjunto de nodos se encuentra dentro del rango de cobertura del nodo posterior al nodo intermedio previsto, siempre que los canales de comunicación sean bidireccionales.
Sea cual sea la realización, el módulo para determinar el grupo L_{i} de nodos cooperadores de un nodo intermedio previsto A_{i} puede presentarse también en forma de un programa de ordenador o de un módulo de un programa de ordenador más general, que se ejecuta en un nodo intermedio previsto, siendo, de este modo, el nodo intermedio previsto el que determina el grupo de nodos cooperadores, para un paquete de datos dado.
Por lo tanto, un nodo intermedio previsto A_{i} puede comprender una pluralidad de programas de ordenador o de módulos de un programa general, entre los que destacan un módulo para recibir un paquete de datos del nodo anterior A_{i-1} al nodo intermedio previsto de la ruta del paquete de datos; el módulo para detectar su incapacidad para enrutar el paquete de datos; el módulo para comunicar dicha incapacidad al nodo anterior de la ruta del paquete de datos; el módulo para obtener su conjunto de posibles nodos cooperadores; el módulo para determinar su grupo de nodos cooperadores, para un paquete de datos recibido; un módulo para transmitir el paquete de datos al nodo posterior de la ruta del paquete de datos; un módulo para distribuir a su conjunto de posibles nodos cooperadores, la información de encaminamiento necesaria; el módulo para detectar el funcionamiento indebido de un nodo cooperador; y un módulo para gestionar adecuadamente la tabla de forwarding.
Con referencia a este último módulo, cada nodo de la red debe comprende una tabla de encaminamiento (forwarding) en la que se almacena información referente a la dirección del nodo de destino D y a la dirección del nodo posterior al que debe transmitir el paquete de datos para que alcance el nodo de destino D indicado. Por tanto, la tabla debe contemplar, para cada nodo de destino, a qué nodo de la red debe transmitir el paquete de datos, para un determinado nodo de destino D. En una misma tabla de encaminamiento puede haber información referente a diferentes rutas presentes en la red, en las que debe intervenir el nodo. Puesto que el conjunto de posibles nodos cooperadores de un nodo intermedio previsto puede variar a cada intervalo de tiempo que se determina, es necesario que dicho nodo intermedio previsto mantenga actualizada la tabla de encaminamiento del conjunto de posibles nodos cooperadores, por lo que debe transmitir la información de encaminamiento, cada cierto tiempo, por ejemplo, después de determinar el conjunto de posibles nodos cooperadores. Existen también protocolos en los que no es necesario estar transmitiendo continuamente información de encaminamiento, puesto que dicha información ya es conocida por los nodos interesados.
Por otro lado, el conjunto B_{i} de posibles nodos cooperadores puede comprender, a partir de lo descrito hasta el momento, el módulo para recibir un paquete de datos del nodo anterior al nodo intermedio previsto correspondiente; el módulo para detectar la incapacidad del nodo intermedio previsto; el módulo para comunicar la incapacidad del nodo intermedio previsto; el módulo para transmitir el paquete de datos al nodo posterior al nodo intermedio previsto, en caso de que se detecte la incapacidad de dicho nodo; el módulo para detectar el funcionamiento indebido de un nodo cooperador; y el módulo para gestionar adecuadamente la tabla de forwarding.
El conjunto de posibles nodos cooperadores comprende también un módulo para procesar el paquete de datos recibido, de modo que, cuando lo recibe, el conjunto de posibles nodos cooperadores puede determinar si debe intervenir o no en el enrutamiento del mismo, en base a la dirección de recepción presente en el paquete de datos, y, en caso de que deba intervenir, mediante la dirección del nodo de destino D presente en el paquete de datos, puede determinar la dirección del nodo al que debe transmitir el paquete de datos, es decir, la dirección del nodo posterior al nodo intermedio previsto. A continuación se describe la configuración de un paquete de datos, la cual puede ser modificada por el nodo que lo transmite.
Un paquete de datos comprende una parte de control y una parte de datos. La parte de control, normalmente la cabecera del paquete, comprende la dirección del nodo de origen S, es decir, la dirección del nodo que ha generado el paquete de datos; la dirección del nodo de destino D, es decir, la dirección del nodo o conjunto de nodos que son la destinación final del paquete de datos; la dirección de transmisión, es decir, la dirección del nodo o conjunto de nodos que transmite el paquete de datos; y la dirección de recepción, es decir, la dirección del nodo o conjunto de nodos que recibe y procesa (descodifica) el paquete de datos. La cabecera de control de cada paquete de datos comprende las cuatro direcciones descritas, de forma parecida a lo que ocurre en 802.11 en modo WDS. Puesto que se trata de una red homogénea, todos los nodos de la misma utilizan el esquema de direccionamiento descrito. La cabecera puede comprender también un identificador del paquete de datos junto con otra información adicional.
El hecho de que la dirección de transmisión haga referencia a la dirección del nodo o "conjunto de nodos" que transmiten el paquete de datos depende principalmente del esquema de enrutamiento que se utilice en la red cooperativa.
Así, en la Fig. 2 se muestra un esquema SRSP (Single Relay Single Path) en el que, después de que el protocolo de determinación de ruta determine una ruta (S, A_{1}, A_{2}, D) entre el nodo de origen S y el nodo de destino D, cada salto lo realiza un único nodo, ya sea el primer nodo intermedio previsto A_{1}, para el primer salto, que transmite el paquete de datos tanto al nodo posterior A_{2} al nodo intermedio previsto de la ruta del paquete de datos, como al conjunto B_{2} de posibles nodos cooperadores de dicho nodo posterior, o el grupo L_{2} de nodos cooperadores del segundo nodo intermedio previsto A_{2}, para el segundo salto, que transmite el paquete de datos tanto al nodo posterior D, que es el nodo de destino, como al conjunto B_{2} de posibles nodos cooperadores de dicho nodo de destino D. Normalmente, el nodo que transmite el paquete es el nodo intermedio previsto correspondiente, aunque algunas veces, como se ha descrito anteriormente, el mecanismo objeto de la invención debe intervenir para determinar el grupo de nodos cooperadores, para poder realizar el enrutamiento del paquete de datos y evitar problemas de transmisión entre los nodos de la ruta establecida. Dicha determinación del grupo de nodos cooperadores puede ser realizada por el propio nodo intermedio previsto y/o su conjunto de posibles nodos cooperadores, nunca por el nodo anterior. En el caso de que el grupo de nodos cooperadores comprenda más de un nodo, puesto que sólo puede transmitir uno el paquete de datos, se puede establecer un criterio sobre cuál de los nodos del grupo de nodos cooperadores debe enrutar el paquete de datos. Así, el nodo intermedio previsto puede prestablecer un orden, asignando a cada nodo del grupo de nodos un nivel de prioridad de actuación. Por consiguiente, de acuerdo con el esquema del tipo SRSP, la dirección de transmisión presente en el paquete de datos hace referencia a un "nodo" y no a un conjunto de nodos.
En la Fig. 3 puede verse un esquema de direccionamiento del tipo MRSP (Multiple Relay Single Path) en el que, después de determinarse la ruta (S, A_{1}, A_{2}, D) entre el nodo de origen S y el nodo de destino D, existen varios nodos para enrutar el paquete de datos o parte de él al siguiente nodo intermedio previsto y/o a su conjunto de posibles nodos cooperadores. Las transmisiones desde esta pluralidad de nodos debe realizarse ortogonalmente (por ejemplo, en diferentes momentos, a diferentes frecuencias, etc.), es decir, tanto el nodo intermedio previsto como el grupo de nodos cooperadores de dicho nodo intermedio previsto actúan como enrutadores, utilizando canales ortogonales. Igual que para el esquema anterior, es necesario el mecanismo objeto de la invención para determinar los nodos que deben enrutar el paquete de datos, en caso de que el nodo intermedio previsto no esté capacitado para ello. En resumen, para este tipo de esquema de enrutamiento, la dirección de transmisión corresponde al "conjunto de nodos" que transmiten el paquete de datos.
Con referencia a la dirección de recepción, debe utilizarse un esquema adecuado de direccionamiento. Un posible esquema de direccionamiento comprende un indicador que informa al conjunto B_{i} de posibles nodos cooperadores de un nodo intermedio previsto A_{i}, que deben intervenir en el enrutamiento del paquete de datos, en caso de incapacidad de dicho nodo intermedio previsto. Por tanto, dicho esquema permite no sólo referirse a los nodos intermedios previstos, sino también a su conjunto de posibles nodos cooperadores. El esquema de direccionamiento de la invención es el siguiente:
Dirección del nodo intermedio previsto A_{i}: <@A_{i},0>
Dirección del conjunto de sus posibles nodos cooperadores: <@A_{i},1>
donde @A_{i} es un string de bits, que puede contener o no información de enrutamiento y que únicamente identifica la interfaz inalámbrica del nodo intermedio previsto A_{i}. Dichas direcciones, tal como se han descrito, pueden utilizarse en la red inalámbrica para la dirección del nodo de origen S, para la dirección del nodo de destino D, para la dirección de transmisión, y/o para la dirección de transmisión, dentro de la cabecera de control de un paquete de datos. Las direcciones de un grupo de nodos cooperadores están relacionadas de manera muy cercana con las direcciones multicast de varios esquemas de direccionamiento de capa 2 ó 3. Las direcciones del IEEE 802.2 multicast o IP multicast son ejemplos de esto. En ambos caso, no se han definido mecanismos sencillos para permitir que una dirección multicast sea asignada a cada dirección unicast. En IEEE 802.2, por ejemplo, el rango 010e0* está reservado para direcciones multicast, mientras que las direcciones IP multicast están en el rango 244/8.
Es importante destacar que, cuando el nodo anterior a un nodo intermedio previsto transmite un paquete de datos, dicha transmisión se realiza, al mismo tiempo, al nodo intermedio previsto y a su conjunto de posibles nodos cooperadores, de manera que, si el nodo intermedio previsto es incapaz de enrutar el paquete de datos, no es necesario que el nodo anterior vuelva a transmitir el paquete de datos, puesto que el grupo de nodos cooperadores, que es el que debe enrutar el paquete de datos, ya lo ha recibido y procesado a partir de la primera y única transmisión. Así, en el caso de que el nodo intermedio previsto pueda enrutar el paquete de datos, el conjunto de posibles nodos cooperadores sólo lo recibe y lo procesa (posteriormente lo descarta, lo "tira"), mientras que, si el nodo intermedio previsto no puede enrutar el paquete, el grupo de nodos cooperadores, determinado de entre el conjunto de posibles nodos cooperadores, lo recibe, lo procesa y lo transmite al nodo posterior al nodo intermedio previsto. Cuando el nodo anterior determina que ni el nodo intermedio previsto ni sus colaboradores han recibido correctamente el paquete de datos, puede proceder a su retransmisión o puede arrancar un procedimiento de obtención de una nueva ruta, tal como sucedería en una red no-cooperativa.
Por otro lado, para que el conjunto de posibles nodos cooperadores sepa que debe intervenir en el enrutamiento del paquete de datos, en caso de que el nodo intermedio previsto esté incapacitado para ello, es necesario que el nodo anterior a dicho nodo intermedio previsto utilice el esquema de direccionamiento ampliado descrito con anterioridad. Así, el nodo que transmite el paquete de datos debe incorporar, en la parte de control del paquete de datos, más concretamente, en la dirección de recepción, el indicador (<@ A_{i},1>) que informa al conjunto de posibles nodos cooperadores del nodo intermedio previsto destinatario del paquete de datos, que debe cooperar en el enrutamiento del paquete de datos, en caso de que sea necesario.
A partir del mecanismo descrito anteriormente y con la ayuda de las figuras 4, 5 y 6, se describirá a continuación el procedimiento para enrutar un paquete de datos en una red inalámbrica, de acuerdo con la invención.
Como se puede ver en la Fig. 4, el protocolo para la determinación de una ruta determina los nodos intermedios previstos A_{1},A_{2}, de entre todos los nodos de la red, para enrutar el paquete de datos desde el nodo de origen S hasta el nodo de destino D, obteniéndose la ruta (S, A_{1},A_{2}, D) del paquete de datos. Una vez establecida la ruta, cada uno de los nodos intermedios previstos A_{1},A_{2} determina su conjunto de posibles nodos cooperadores, a partir de los nodos de la red que están dentro de su rango de cobertura y que cumplen las condiciones idóneas para actuar como nodo cooperador del correspondiente nodo intermedio previsto, realizando dicha acción cada cierto intervalo de tiempo. También cada cierto intervalo de tiempo, cada nodo intermedio previsto de la ruta del paquete de datos envía a su conjunto de posibles nodos cooperadores la información de encaminamiento necesaria, a partir de la cual se actualiza la tabla de encaminamiento del conjunto de posibles nodos cooperadores. En la presente realización se utiliza un esquema de enrutamiento del tipo SRSP.
En un determinado instante de tiempo, el nodo de origen S, que es el que genera el paquete de datos, lo transmite al conjunto B_{1} de posibles nodos cooperadores del primer nodo intermedio previsto A_{1} y al propio primer nodo intermedio previsto, utilizando el esquema de direccionamiento ampliado descrito anteriormente, es decir, establece como dirección de recepción la dirección <@A_{1},1>, de modo que el conjunto de posibles nodos cooperadores, cuando procesa el paquete de datos recibido, sabe que debe cooperar en el enrutamiento del paquete de datos en el caso de que el primer nodo intermedio previsto A_{1} sea incapaz de hacerlo. En el caso de la Fig. 4, el primer nodo intermedio previsto A_{1} está en situación de poder enrutar el paquete de datos, por lo que el conjunto B_{1} de posibles nodos cooperadores únicamente lo recibe y lo procesa. Dicho conjunto de posibles nodos cooperadores sabe que el nodo intermedio previsto es capaz de enrutar el paquete de datos porque recibe la confirmación de recepción enviada por el primer nodo intermedio previsto A_{1} al nodo de origen S y/o por que recibe la transmisión del paquete de datos que realiza el primer nodo intermedio previsto al segundo nodo intermedio previsto A_{2} y a su conjunto B_{2} de posibles nodos cooperadores. Cabe recordar que el conjunto de posibles nodos cooperadores de un nodo intermedio previsto se encuentra dentro del rango de cobertura de dicho nodo intermedio previsto (es una de las condiciones establecidas para que un nodo forme parte del conjunto de posibles nodos cooperadores).
Las figuras contemplan asimismo la posibilidad de que los nodos cooperadores ayuden a los nodos intermedios pre-
vistos en la corrección de posibles errores en el paquete recibido, enviándoles información sobre el paquete recibido.
Puesto que el primer nodo intermedio previsto A, puede enrutar el paquete de datos (lo ha recibido, y sin errores), lo procesa y determina, a partir de la cabecera de control del paquete de datos, más concretamente de la dirección del nodo de destino D, y de su tabla de encaminamiento (a partir de la dirección del nodo de destino, la tabla de encaminamiento permite determinar la dirección del nodo posterior de la ruta), el nodo al que debe transmitir el paquete de datos para que dicho paquete de datos alcance el nodo de destino D, es decir, el segundo nodo intermedio previsto A_{2}. Por tanto, el primer nodo intermedio previsto A_{1} transmite el paquete de datos al segundo nodo intermedio previsto A_{2} y a su conjunto B_{2} de posibles nodos cooperadores.
Puesto que el segundo nodo intermedio previsto A_{2} está capacitado para enrutar el paquete de datos, todo lo descrito para el primer salto del paquete de datos (el que hace referencia al primer nodo intermedio previsto), es aplicable a este segundo salto (el que hace referencia al segundo nodo intermedio previsto). De este modo, el segundo nodo intermedio previsto de la ruta, transmite el paquete de datos al nodo de destino D, por lo que se alcanza el objetivo de enrutar el paquete de datos desde el nodo de origen S hasta el nodo de destino D.
Es importante recordar que el mecanismo de la invención comprende un módulo (o programa de ordenador) que determina si un nodo de un conjunto de posibles nodos cooperadores presenta un funcionamiento inadecuado, provocando su eliminación de dicho conjunto de posibles nodos cooperadores.
En la Fig. 5 se muestra una situación de la red diferente a la de la Fig. 4. En dicha Fig. 5, partiendo de la misma configuración de la Fig. 4, es decir, se ha determinado una ruta (S, A_{1}, A_{2}, D) del paquete de datos, etc., el nodo de origen S transmite el paquete de datos utilizando el esquema de direccionamiento ampliado. Por lo tanto, el paquete de datos, en su cabecera de control, más concretamente, en la dirección de recepción, comprende la dirección <@A_{1},1>, lo que indica al conjunto B_{1} de posibles nodos del primer nodo intermedio previsto que deben cooperar en el enrutamiento del paquete de datos en el caso de que el primer nodo intermedio previsto A_{1} no esté capacitado para ello. Como se puede ver en la Fig. 5, el primer nodo intermedio previsto no está capacitado para enrutar el paquete de datos, ya sea porque se ha movido y ha quedado fuera de los rangos de cobertura adecuados, o porque simplemente ha desaparecido, por ejemplo, por un corte en la alimentación eléctrica, o porque las condiciones del canal de radiofrecuencia han empeorado significativamente. Sea como sea, su conjunto B_{1} de posibles nodos cooperadores no recibe la confirmación de recepción del paquete de datos que dicho primer nodo intermedio previsto debe mandar al nodo de origen S, ni la transmisión del paquete de datos por parte de dicho primer nodo intermedio previsto al segundo nodo intermedio previsto A_{2} y a su conjunto B_{2} de posibles nodos cooperadores. Por consiguiente, el conjunto B_{1} de posibles nodos cooperadores del primer nodo intermedio previsto A_{1} sabe que debe intervenir en el enrutamiento del paquete de datos. Para ello, el primer nodo intermedio previsto y/o su conjunto de posibles nodos cooperadores determinan el grupo L_{1} de nodos cooperadores del primer nodo intermedio previsto, para que se encargue de enrutar el paquete de datos desde el nodo anterior (el nodo de origen S) hasta el nodo posterior (el segundo nodo intermedio previsto) de la ruta. La determinación del grupo L_{1} de nodos cooperadores tiene sólo un impacto local, y es transparente para el resto de nodos que enrutan el paquete de datos. Por ejemplo, si el primer nodo intermedio previsto A_{1} se muestra incapaz de enrutar el paquete de datos durante un largo periodo de tiempo, el nodo de origen S sigue enviando paquetes de datos con la dirección de recepción <@A_{1},1>, que son recibidos y enrutados por el grupo L_{1} de nodos cooperadores del primer nodo intermedio previsto A_{1}.
La determinación del grupo L_{1} de nodos cooperadores puede realizarse de varias maneras. Primeramente, dicho grupo L_{1} de nodos cooperadores del primer nodo intermedio previsto A_{1} puede estar formado por todos aquellos nodos del conjunto B_{1} de posibles nodos cooperadores, que además están dentro del rango de cobertura del nodo anterior de la ruta, es decir, dentro del rango de cobertura del nodo de origen S. Dicha opción es un poco arriesgada porque no hay seguridad de que el grupo de nodos cooperadores esté dentro del rango de cobertura del nodo posterior de la ruta, es decir, del segundo nodo intermedio previsto A_{2}, o lo que es lo mismo, que el segundo nodo intermedio previsto A_{2} esté dentro del rango de cobertura del grupo L_{1} de nodos cooperadores del primer nodo intermedio previsto A_{1}. Por lo tanto, existe la posibilidad de que el grupo de nodos cooperadores del primer nodo intermedio previsto no pueda comunicarse con el nodo posterior (el segundo nodo intermedio previsto) y, por lo tanto, no pueda transmitir el paquete de datos, por lo que se cortaría la comunicación entre los nodos de la red, tal como sucede en una red no-cooperativa. Por el contrario, esta opción permite que el nodo de origen reciba más rápido la confirmación de recepción del paquete de datos, lo cual es adecuado para determinados protocolos conocidos.
Alternativamente, el grupo L_{1} de cooperadores del primer nodo intermedio previsto A_{1} puede estar formado por aquellos nodos que estén dentro del rango de cobertura del nodo de origen S y, a su vez, dentro del rango de cobertura del nodo posterior de la ruta, es decir, el segundo nodo intermedio previsto A_{2}, o lo que es lo mismo, que el segundo nodo intermedio previsto A_{2} esté dentro del rango de cobertura del grupo L_{1} de nodos cooperadores del primer nodo intermedio previsto A_{1}. Dicha opción asegura que el nodo seleccionado para enrutar el paquete de datos realmente lo puede hacer. En el caso de que el grupo de nodos cooperadores comprenda más de un nodo, el nodo intermedio previsto correspondiente establece previamente un criterio de cooperación, tal como la asignación de un orden de intervención entre los nodos que conforman el grupo de nodos cooperadores. Así, en el caso de la primera opción descrita para determinar el grupo de nodos cooperadores, el nodo encargado en primer lugar de enrutar el paquete de datos envía la confirmación de recepción del paquete de datos al nodo anterior de la ruta, puesto que está dentro de su rango de cobertura, pero es posible que no pueda transmitir el paquete de datos al nodo posterior porque no está dentro de su rango de cobertura. En ese caso, el nodo encargado en segundo lugar de enrutar el paquete de datos debe ocuparse de ello. De todo lo descrito se desprende que el nodo anterior en ningún caso interviene en la selección del nodo que debe enrutar posteriormente el paquete de datos; de ello se ocupa el nodo intermedio correspondiente y/o su conjunto de posibles nodos cooperadores. Dicho nodo anterior no es consciente de la existencia de problemas en el enrutado del paquete, puesto que recibe la confirmación de recepción, ya sea del nodo intermedio previsto correspondiente o de uno de los nodos cooperadores de dicho nodo intermedio previsto correspondiente.
Volviendo a la Fig. 5, una vez determinado el grupo L_{1} de nodos cooperadores del primer nodo intermedio previsto A_{1}, el nodo de dicho grupo de nodos cooperadores encargado de enrutar el paquete de datos envía la confirmación de recepción del paquete de datos al nodo de origen S, y transmite el paquete de datos al nodo posterior de la ruta, es decir, al segundo nodo intermedio previsto A_{2} y a su conjunto B_{2} de posibles nodos cooperadores, después de procesar el paquete de datos y de obtener la dirección del nodo posterior de la ruta (el segundo nodo intermedio previsto) mediante la dirección del nodo de destino D presente en la cabecera de control del paquete de datos y la tabla de encaminamiento de dicho nodo del grupo de nodos cooperadores encargado de enrutar el paquete de datos.
Es importante destacar que el nodo de origen S no debe volver a transmitir el paquete de datos en caso de que el primer nodo intermedio sea incapaz de enrutar dicho paquete de datos, puesto que el grupo de nodos cooperadores encargado de enrutar el paquete de datos ya lo ha recibido, procesado y guardado, para enrutarlo en el caso de detectar la incapacidad para hacerlo, del primer nodo intermedio previsto.
Por otro lado, si no se consigue ningún nodo cooperador del primer nodo intermedio previsto para el paquete recibido, el funcionamiento de la red es el mismo que el de una red no-cooperativa, nunca peor.
Siguiendo con la Fig. 5, una vez el segundo nodo intermedio previsto A_{2} ha recibido el paquete de datos, envía la confirmación de recepción al nodo anterior de la ruta (el nodo del grupo L_{1} de nodos cooperadores del primer nodo intermedio previsto A_{1}), lo procesa y determina la dirección del nodo posterior de la ruta, es decir, la dirección del nodo de destino D, al que le debe transmitir el paquete de datos. Dicho nodo de destino D confirma la recepción del paquete de datos al segundo nodo intermedio previsto, completándose el enrutamiento del paquete de datos.
En la Fig. 6, el grupo L_{1} de nodos cooperadores del primer nodo intermedio previsto A_{1} solicita un cambio para ser el nuevo primer nodo intermedio previsto, de manera que la nueva ruta queda definida por (S, L_{1}, A_{2}, D). Para poder realizar dicho cambio, el mecanismo activa un proceso para establecer una nueva ruta, utilizando, por ejemplo, el grupo L_{1} de nodos cooperadores del primer nodo intermedio previsto A_{1} como nuevo primer nodo intermedio previsto. Una vez actualizada la tabla de encaminamiento del nodo de origen S (y de su conjunto de posibles nodos cooperadores, si fuera el caso) de forma que no se formen bucles en las rutas de origen a destino, los paquetes se transmiten con una nueva dirección de recepción, tal como <@ L_{1},1>.
De manera más general, cuando un nodo intermedio previsto A_{i} se muestra incapaz de enrutar paquetes de datos durante un largo periodo de tiempo, existe la posibilidad de que su grupo L_{i} de nodos cooperadores o su conjunto B_{i} de posibles nodos cooperadores, solicite el establecimiento de una nueva ruta, utilizando, por ejemplo, dicho grupo de nodos cooperadores como el nuevo nodo intermedio previsto, siendo la nueva ruta (S, A_{1}, ..., A_{i-1}, L_{i}, A_{i+1}, ...D). Una vez actualizada la tabla de encaminamiento del nodo los paquetes son transmitidos con una nueva dirección de recepción <@ L_{i},1>.
A pesar de que se ha descrito y representado una realización concreta de la presente invención, es evidente que el experto en la materia podrá introducir variantes y modificaciones, o sustituir los detalles por otros técnicamente equivalentes, sin apartarse del ámbito de protección definido por las reivindicaciones adjuntas.
A pesar también de que las realizaciones descritas de la invención con referencia al dibujo comprenden sistemas de computación y procesos realizados en sistemas de computación, la invención también se extiende a programas de ordenador, más particularmente a programas de ordenador en o sobre unos medios portadores, adaptados para poner la invención en práctica. El programa de ordenador puede estar en forma de código fuente, de código objeto o en un código intermedio entre código fuente y código objeto, tal como en forma parcialmente compilada, o en cualquier otra forma adecuada para usar en la implementación de los procesos de acuerdo con la invención. El medio portador puede ser cualquier entidad o dispositivo capaz de portar el programa.
Por ejemplo, el medio portador puede comprender un medio de almacenamiento, tal como una ROM, por ejemplo un CD ROM o una ROM semiconductora, o un medio de grabación magnético, por ejemplo un floppy disc o un disco duro. Además, el medio portador puede ser un medio portador transmisible tal como una señal eléctrica u óptica que puede transmitirse vía cable eléctrico u óptico o mediante radio u otros medios.
Cuando el programa de ordenador está contenido en una señal que puede transmitirse directamente mediante un cable u otro dispositivo o medio, el medio portador puede estar constituido por dicho cable u otro dispositivo o medio.
Alternativamente, el medio portador puede ser un circuito integrado en el que está encapsulado (embedded) el programa de ordenador, estando adaptado dicho circuito integrado para realizar, o para usarse en la realización de, los procesos relevantes.

Claims (24)

1. Sistema para enrutar al menos un paquete de datos en una red inalámbrica, desde un nodo de origen (S) hasta un nodo de destino (D), a través de al menos un nodo (A_{1}, A_{2}) de la red que actúa como nodo intermedio previsto, formando una ruta (S, A_{1}, A_{2}, D) del paquete de datos, caracterizado por el hecho de que comprende medios para detectar la incapacidad del nodo intermedio previsto (A_{1}; A_{2}) para enrutar, a través del mismo, el paquete de datos desde el nodo anterior a dicho nodo intermedio previsto hasta el nodo posterior a dicho nodo intermedio previsto de la ruta del paquete de datos; y medios para determinar un grupo (L_{1}; L_{2}) de nodos cooperadores del nodo intermedio previsto (A_{1}; A_{2}), de entre la pluralidad de nodos de la red (N_{0},...,N_{15}), para enrutar, a través del mismo, el paquete de datos desde el nodo anterior al nodo intermedio previsto hasta el nodo posterior al nodo intermedio previsto de la ruta del paquete de datos, en caso de que se detecte la incapacidad del nodo intermedio previsto.
2. Sistema según la reivindicación 1, caracterizado por el hecho de que comprende medios para obtener un conjunto (B_{1}; B_{2}) de posibles nodos cooperadores del nodo intermedio previsto.
3. Sistema según la reivindicación 2, caracterizado por el hecho de que los medios para obtener el conjunto (B_{1}; B_{2}) de posibles nodos cooperadores del nodo intermedio previsto (A_{1}; A_{2}) comprenden medios para obtener el conjunto de nodos que se encuentran dentro del rango de cobertura del nodo intermedio previsto; y medios para seleccionar, de entre dicho conjunto de nodos, el conjunto de posibles nodos cooperadores del nodo intermedio previsto, de tal modo que dicho conjunto de posibles nodos cooperadores cumple unas condiciones idóneas para actuar como nodo cooperador del nodo intermedio previsto.
4. Sistema según cualquiera de las reivindicaciones 2 ó 3, caracterizado por el hecho de que los medios para determinar el grupo (L_{1}; L_{2}) de nodos cooperadores del nodo intermedio previsto (A_{1}; A_{2}) comprenden medios para obtener, del conjunto (B_{1}; B_{2}) de posibles nodos cooperadores, el subconjunto de nodos que se encuentra dentro del rango de cobertura del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, cuando dicho nodo anterior al nodo intermedio previsto ha transmitido el paquete de datos; y medios para seleccionar, de entre dicho subconjunto de nodos, el grupo de nodos cooperadores del nodo intermedio previsto.
5. Sistema según cualquiera de las reivindicaciones 2 ó 3, caracterizado por el hecho de que los medios para determinar el grupo (L_{1}; L_{2}) de nodos cooperadores del nodo intermedio previsto (A_{1};A_{2}) comprenden medios para obtener, del conjunto (B_{1}; B_{2}) de posibles nodos cooperadores, el subconjunto de nodos que se encuentra dentro del rango de cobertura del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, cuando dicho nodo anterior al nodo intermedio previsto ha transmitido el paquete de datos; medios para obtener, de dicho subconjunto de nodos, un segundo subconjunto de nodos, de tal modo que el nodo posterior al nodo intermedio previsto de la ruta del paquete de datos se encuentra dentro del rango de cobertura de dicho segundo subconjunto de nodos; y medios para selec-
cionar, de entre dicho segundo subconjunto de nodos, el grupo de nodos cooperadores del nodo intermedio previsto.
6. Sistema según cualquiera de las reivindicaciones 2 a 5, caracterizado por el hecho de que la transmisión del paquete de datos por parte del nodo anterior al nodo intermedio previsto se realiza, al mismo tiempo, tanto al nodo intermedio previsto (A_{1}; A_{2}) como al conjunto (B_{1}; B_{2}) de posibles nodos cooperadores de dicho nodo intermedio previsto.
7. Sistema según cualquiera de las reivindicaciones 2 a 6, caracterizado por el hecho de que los medios para obtener el conjunto (B_{1}; B_{2}) de posibles nodos cooperadores del nodo intermedio previsto (A_{1}; A_{2}) actúan a intervalos de tiempo determinados.
8. Sistema según cualquiera de las reivindicaciones 2 a 7, caracterizado por el hecho de que al menos uno de los nodos del conjunto (B_{1}; B_{2}) de posibles nodos cooperadores del nodo intermedio previsto (A_{1}; A_{2}) comprende los medios para detectar la incapacidad del nodo intermedio previsto.
9. Sistema según cualquiera de las reivindicaciones 2 a 8, caracterizado por el hecho de que al menos uno de los nodos del conjunto (B_{1}; B_{2}) de posibles nodos cooperadores del nodo intermedio previsto (A_{1}; A_{2}) comprende medios para comunicar la incapacidad del nodo intermedio previsto, al nodo anterior al nodo intermedio previsto de la ruta del paquete de datos.
10. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado por el hecho de que al menos uno de los nodos de la ruta (S, A_{1}; A_{2}, D) del paquete de datos comprende información de encaminamiento.
11. Sistema según cualquiera de las reivindicaciones 2 a 10, caracterizado por el hecho de que el paquete de datos transmitido al nodo intermedio previsto (A_{1}; A_{2}) y a su conjunto (B_{1}; B_{2}) de posibles nodos cooperadores comprende un indicador que informa a dicho conjunto de posibles nodos cooperadores que deben cooperar en el enrutamiento de dicho paquete de datos.
12. Sistema según cualquiera de las reivindicaciones 2 a 11, caracterizado por el hecho de que el nodo intermedio previsto (A_{1}; A_{2}) comprende medios para distribuir a su conjunto (B_{1}; B_{2}) de posibles nodos cooperadores, la información de encaminamiento necesaria.
13. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado por el hecho de que comprende medios para detectar el funcionamiento inadecuado de un nodo del conjunto (B_{1}; B_{2}) de posibles nodos cooperadores.
14. Procedimiento para enrutar al menos un paquete de datos en una red inalámbrica, desde un nodo de origen (S) hasta un nodo de destino (D), a través de al menos un nodo (A_{1}; A_{2}) de la red que actúa como nodo intermedio previsto, formando una ruta (S, B_{1}; B_{2}, D) del paquete de datos, caracterizado por el hecho de que comprende las etapas de:
A)
Detectar la incapacidad del nodo intermedio previsto para enrutar, a través del mismo, el paquete de datos desde el nodo anterior a dicho nodo intermedio previsto hasta el nodo posterior a dicho nodo intermedio previsto de la ruta del paquete de datos;
B)
En caso de detección positiva en la etapa (A), determinar un grupo (L_{1}; L_{2}) de nodos cooperadores del nodo intermedio previsto, de entre la pluralidad de nodos de la red, para enrutar, a través del mismo, el paquete de datos desde el nodo anterior al nodo intermedio previsto hasta el nodo posterior al nodo intermedio previsto de la ruta del paquete de datos.
15. Procedimiento según la reivindicación 14, caracterizado por el hecho de que comprende una etapa (C) de obtención de un conjunto (B_{1}, B_{2}) de posibles nodos cooperadores del nodo intermedio previsto.
16. Procedimiento según la reivindicación 15, caracterizado por el hecho de que la etapa (C) de obtención del conjunto (B_{1}; B_{2}) de posibles nodos cooperadores del nodo intermedio previsto (A_{1}; A_{2}), comprende las subetapas de:
C.1)
Obtener el conjunto de nodos que se encuentran dentro del rango de cobertura del nodo intermedio previsto;
C.2)
Seleccionar, de entre dicho conjunto de nodos, el conjunto (B1, B2) de posibles nodos cooperadores del nodo intermedio previsto, de tal modo que dicho conjunto de posibles nodos cooperadores cumple unas condiciones idóneas para actuar como nodos cooperadores del nodo intermedio previsto.
17. Procedimiento según cualquiera de las reivindicaciones 15 ó 16, caracterizado por el hecho de que la etapa (B) de determinación del grupo (L_{1}; L_{2}) de nodos cooperadores del nodo intermedio previsto (A_{1}; A_{2}), comprende las subetapas de:
B.1)
Obtener, del conjunto (B_{1}, B_{2}) de posibles nodos cooperadores, el subconjunto de nodos que se encuentra dentro del rango de cobertura del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, cuando dicho nodo anterior al nodo intermedio previsto ha transmitido el paquete de datos;
B.2)
Seleccionar, de entre dicho subconjunto de nodos, el grupo de nodos cooperadores del nodo intermedio previsto.
18. Procedimiento según cualquiera de las reivindicaciones 15 ó 16, caracterizado por el hecho de que la etapa (B) de determinación del grupo de nodos cooperadores del nodo intermedio previsto, comprende las subetapas de:
B.3)
Obtener, del conjunto (B_{1}; B_{2}) de posibles nodos cooperadores, el subconjunto de nodos que se encuentra dentro del rango de cobertura del nodo anterior al nodo intermedio previsto (A_{1}; A_{2}) de la ruta del paquete de datos, cuando dicho nodo anterior al nodo intermedio previsto ha transmitido el paquete de datos;
B.4)
Obtener, de dicho subconjunto de nodos, un segundo subconjunto de nodos, de tal modo que el nodo posterior al nodo intermedio previsto (A_{1}; A_{2}) de la ruta del paquete de datos se encuentra dentro del rango de cobertura del segundo subconjunto de nodos cooperadores del nodo intermedio previsto;
B.5)
Seleccionar, de entre dicho segundo subconjunto de nodos, el grupo de nodos cooperadores del nodo intermedio previsto.
19. Sistema de computación en un sistema según cualquiera de las reivindicaciones 1 a 13, caracterizado por el hecho de que es adecuado para actuar como nodo cooperador del nodo intermedio previsto (A_{1}; A_{2}), comprendiendo medios para detectar la incapacidad del nodo intermedio previsto para enrutar, a través del mismo, el paquete de datos desde el nodo anterior a dicho nodo intermedio previsto hasta el nodo posterior a dicho nodo intermedio previsto de la ruta del paquete de datos; y medios para enrutar el paquete de datos, los cuales comprenden medios para recibir el paquete de datos del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos, y medios para transmitir dicho paquete de datos al nodo posterior al nodo intermedio previsto de la ruta del paquete de datos, en caso de que se detecte la incapacidad del nodo intermedio previsto.
20. Sistema según la reivindicación 19, caracterizado por el hecho de que los medios para transmitir el paquete de datos al nodo posterior al nodo intermedio previsto de la ruta del paquete de datos comprenden medios para introducir en el paquete de datos un indicador que informa al conjunto (B_{1}; B_{2}) de posibles nodos cooperadores del nodo intermedio previsto (A_{1}; A_{2}) que deben cooperar en el enrutamiento del paquete de datos.
\newpage
21. Procedimiento para enrutar al menos un paquete de datos en un sistema de computación según cualquiera de las reivindicaciones 19 ó 20, caracterizado por el hecho de que comprende las etapas de:
D)
Recibir el paquete de datos del nodo anterior al nodo intermedio previsto de la ruta del paquete de datos;
A)
Detectar la incapacidad del nodo intermedio previsto (A_{1}; A_{2}) para enrutar, a través del mismo, el paquete de datos desde el nodo anterior a dicho nodo intermedio previsto hasta el nodo posterior a dicho nodo intermedio previsto de la ruta del paquete de datos;
E)
En caso de detección positiva en la etapa (A), transmitir el paquete de datos al nodo posterior al nodo intermedio previsto de la ruta del paquete de datos.
22. Programa de ordenador que comprende instrucciones de programa que se ejecutan en un sistema de computación para realizar el procedimiento de acuerdo con la reivindicación 20.
23. Programa de ordenador según la reivindicación 22, caracterizado por el hecho de que está almacenado en unos medios de almacenamiento.
24. Programa de ordenador según la reivindicación 22, caracterizado por el hecho de que es portado por una onda portadora.
ES200601862A 2006-07-10 2006-07-10 Sistema y procedimiento para enrutar un paquete de datos en una red inalambrica, sistema de computacion en un sistema para enrutar un paquete de datos en una red inalambrica, y procedimiento para enrutar un paquete de datos en un sistema de computacion. Active ES2302438B1 (es)

Priority Applications (4)

Application Number Priority Date Filing Date Title
ES200601862A ES2302438B1 (es) 2006-07-10 2006-07-10 Sistema y procedimiento para enrutar un paquete de datos en una red inalambrica, sistema de computacion en un sistema para enrutar un paquete de datos en una red inalambrica, y procedimiento para enrutar un paquete de datos en un sistema de computacion.
US12/373,219 US20090279481A1 (en) 2006-07-10 2007-07-09 System and method for routing a data packet in a wireless network, computing system in a system for routing a data packet in a wireless network, and method for routing a data packet in a computing system
EP07803656A EP2045976A1 (en) 2006-07-10 2007-07-09 System and method for routing a data packet in a wireless network, computing system in a system for routing a data packet in a wireless network and method for routing a data packet in a computing system
PCT/ES2007/070129 WO2008006926A1 (es) 2006-07-10 2007-07-09 Sistema y procedimiento para enrutar un paquete de datos en una red inalámbrica, sistema de computación en un sistema para enrutar un paquete de datos en una red inalámbrica, y procedimiento para enrutar un paquete de datos en un sistema de computación.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES200601862A ES2302438B1 (es) 2006-07-10 2006-07-10 Sistema y procedimiento para enrutar un paquete de datos en una red inalambrica, sistema de computacion en un sistema para enrutar un paquete de datos en una red inalambrica, y procedimiento para enrutar un paquete de datos en un sistema de computacion.

Publications (2)

Publication Number Publication Date
ES2302438A1 ES2302438A1 (es) 2008-07-01
ES2302438B1 true ES2302438B1 (es) 2009-05-21

Family

ID=38922968

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200601862A Active ES2302438B1 (es) 2006-07-10 2006-07-10 Sistema y procedimiento para enrutar un paquete de datos en una red inalambrica, sistema de computacion en un sistema para enrutar un paquete de datos en una red inalambrica, y procedimiento para enrutar un paquete de datos en un sistema de computacion.

Country Status (4)

Country Link
US (1) US20090279481A1 (es)
EP (1) EP2045976A1 (es)
ES (1) ES2302438B1 (es)
WO (1) WO2008006926A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762518B2 (en) * 2009-07-10 2014-06-24 Telcordia Technologies, Inc. Program and method for adaptively maintaining a local peer group in a dynamic environment
KR101047151B1 (ko) 2009-07-13 2011-07-07 한국과학기술원 애드혹 네트워크에서의 그룹 협력 전송방법
KR101764888B1 (ko) * 2010-02-16 2017-08-16 한국전자통신연구원 광대역 근거리 무선 통신 장치 및 방법
JP5922902B2 (ja) * 2011-09-30 2016-05-24 日本信号株式会社 無線通信ネットワークシステムの同期方法
US8873518B2 (en) * 2012-09-24 2014-10-28 Silver Spring Networks, Inc. System and method for broadcasting messages to nodes within a wireless mesh network
CN104469845B (zh) * 2013-09-18 2019-05-10 华为技术有限公司 一种报文处理方法、系统及设备
CN107404712A (zh) * 2016-05-20 2017-11-28 北京信威通信技术股份有限公司 一种数据传输的方法、装置及系统
CN109769000A (zh) * 2019-03-15 2019-05-17 江苏中利电子信息科技有限公司 基于olsr协议的网络节点定位信息的传输方法
CN115022228B (zh) * 2022-06-30 2023-05-23 华南理工大学 基于蚁群算法的声电协同网络的自适应路由系统及方法
US11943138B1 (en) * 2022-09-26 2024-03-26 Arista Networks, Inc. Detecting duplicate network device identifiers for routing protocols

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2804815B1 (fr) 2000-02-03 2003-07-04 Cit Alcatel Procede d'acheminement de messages dans un reseau ad hoc
US20020145978A1 (en) * 2001-04-05 2002-10-10 Batsell Stephen G. Mrp-based hybrid routing for mobile ad hoc networks
DE60131551T2 (de) * 2001-12-12 2008-10-23 Alcatel Lucent Telekommunikationsnetzwerk und entsprechenden Paketkopf
US8351339B2 (en) * 2002-04-25 2013-01-08 Samsung Electronics Co., Ltd. Method for bluetooth on-demand routing and network formation, and communication method in bluetooth group ad hoc network
US6940832B2 (en) * 2003-01-17 2005-09-06 The Research Foundation Of The City University Of New York Routing method for mobile infrastructureless network
GB0317372D0 (en) * 2003-07-25 2003-08-27 Royal Holloway University Of L Routing protocol for ad hoc networks
US20050100029A1 (en) * 2003-11-12 2005-05-12 Research Foundation Of The State University Of New York Ad hoc network routing for hotspot mitigation and load balancing in wireless LANs
JP4559237B2 (ja) * 2005-01-07 2010-10-06 株式会社エヌ・ティ・ティ・ドコモ ルーティング方法及び移動端末

Also Published As

Publication number Publication date
US20090279481A1 (en) 2009-11-12
WO2008006926A1 (es) 2008-01-17
EP2045976A1 (en) 2009-04-08
ES2302438A1 (es) 2008-07-01

Similar Documents

Publication Publication Date Title
ES2302438B1 (es) Sistema y procedimiento para enrutar un paquete de datos en una red inalambrica, sistema de computacion en un sistema para enrutar un paquete de datos en una red inalambrica, y procedimiento para enrutar un paquete de datos en un sistema de computacion.
Altayeb et al. A survey of vehicular ad hoc networks routing protocols
US12003403B2 (en) Link management and routing in hybrid mesh networks
US7656851B1 (en) Adaptive message routing for mobile ad HOC networks
KR100830364B1 (ko) 무선 네트워크에서 안정된 경로들을 선택하기 위한 시스템및 방법
US7519045B2 (en) Optimal direction-based flooding method for mobile ad-hoc networks
US20140146721A1 (en) Methods and apparatus for providing an integrated multi-hop routing and cooperative diversity system
US20090296704A1 (en) Method for multi-path source routing in sensor network
WO2016081734A2 (en) Techniques to support heterogeneous network data path discovery
JP2007129542A (ja) 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
TWI793361B (zh) 用於藍芽網路之獨立冗餘路徑探索
ES2638214T3 (es) Método de comunicación de tipo SMF para una red manet, nodo de red y red móvil que implementan este método de comunicación
BR112021005085A2 (pt) Método para apoiar o estabelecimento de um caminho para a transmissão de uma mensagem em uma rede mesh, método para determinar um caminho para a transmissão de uma mensagem em uma rede mesh, nó intermediário em uma rede mesh, nó de destino paradeterminar um caminho para transmitir uma mensagem em uma rede mesh, e, mídia de armazenamento legível por computador
CN108093457B (zh) 一种无线自组网的路由查找方法及其系统
CN113490251B (zh) 基于泛洪约束和多度量函数的移动自组网路由构建方法
Saidi et al. Opportunistic routing in wireless sensors networks
Rodrigue et al. Routing protocols: When to use it in terms of energy?
Vigita et al. Reliable link-based routing protocol for highly dynamic mobile adhoc networks
RU2758593C1 (ru) Обнаружение критических линий связи в ячеистых сетях BLUETOOTH
Thamizhmaran et al. A survey of routing protocols in mobile Ad-Hoc network
KR20090062277A (ko) 메쉬 네트워크 시스템, 클라이언트 노드, 메쉬 네트워크시스템의 메쉬 노드에서의 통신 방법,클라이언트노드에서의 통신 방법
Kavitha et al. Performance analysis of efficient position-based opportunistic routing for MANET
Holter Wireless extensions to ospf: Implementation of the overlapping relays proposal
ES2369559T3 (es) Sistema y método para conseguir conectividad continua con un punto de acceso o entrada en una red inalámbrica siguiendo un protocolo de enrutamiento de demanda.
Shalini et al. Energy based adhoc on-demand single and multipath routing for energy and overhead optimisation

Legal Events

Date Code Title Description
EC2A Search report published

Date of ref document: 20080701

Kind code of ref document: A1