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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H04L12/5689—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/28—Connectivity information management, e.g. connectivity discovery or connectivity update for reactive routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/34—Modification of an existing route
- H04W40/38—Modification of an existing route adapting due to varying relative distances between nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/04—Terminal 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.
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.
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.
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.
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.
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.
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.
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)
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)
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 | 株式会社エヌ・ティ・ティ・ドコモ | ルーティング方法及び移動端末 |
-
2006
- 2006-07-10 ES ES200601862A patent/ES2302438B1/es active Active
-
2007
- 2007-07-09 US US12/373,219 patent/US20090279481A1/en not_active Abandoned
- 2007-07-09 EP EP07803656A patent/EP2045976A1/en not_active Withdrawn
- 2007-07-09 WO PCT/ES2007/070129 patent/WO2008006926A1/es active Application Filing
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 |