MX2008014927A - Sistemas, metodos y aparatos para asignar ranuras de tiempo en una red de comunicacion inalambrica ad hoc. - Google Patents

Sistemas, metodos y aparatos para asignar ranuras de tiempo en una red de comunicacion inalambrica ad hoc.

Info

Publication number
MX2008014927A
MX2008014927A MX2008014927A MX2008014927A MX2008014927A MX 2008014927 A MX2008014927 A MX 2008014927A MX 2008014927 A MX2008014927 A MX 2008014927A MX 2008014927 A MX2008014927 A MX 2008014927A MX 2008014927 A MX2008014927 A MX 2008014927A
Authority
MX
Mexico
Prior art keywords
node
slot
data stream
message
source node
Prior art date
Application number
MX2008014927A
Other languages
English (en)
Inventor
Avinash Joshi
Manish Shukla
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of MX2008014927A publication Critical patent/MX2008014927A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/54Allocation or scheduling criteria for wireless resources based on quality criteria
    • H04W72/543Allocation or scheduling criteria for wireless resources based on quality criteria based on requested quality, e.g. QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/24Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Abstract

En una red que comprende un nodo fuente, un nodo destino y nodos intermedios a lo largo de una ruta entre la fuente y el destino, se proporcionan técnicas para asignar una o más ranuras de tiempo para transmitir una corriente de datos particular a lo largo de la ruta con base en los requerimiento QoS para transmitir la corriente de datos particular; en una ejecución, un mensaje de Solicitud de Exploración (SRM) es enviado desde la fuente al destino para signar ranuras de tiempo a lo largo de la ruta para transmitir una corriente de datos particular al destino; el SRM puede incluir requerimiento QoS para transmitir la corriente de datos particular; cada nodo intermedio a lo largo de la ruta puede asignar una o más ranuras para transmitir la corriente de datos particular con base en los requerimientos QoS necesarios para transmitir la corriente de datos particular a lo largo de la ruta.

Description

SISTEMAS, METODOS Y APARATOS PARA ASIGNAR RANURAS DE TIEMPO EN UNA RED DE COMUNICACION INALÁMBRICA AD HOC CAMPO DE LA INVENCION La presente invención generalmente se refiere a comunicaciones inalámbricas y de manera más particular a la asignación de ranuras de tiempo en redes de comunicación inalámbrica ad hoc .
ANTECEDENTES DE LA INVENCION Los tipos de redes inalámbricas incluyen redes inalámbricas basadas en infraestructura y redes inalámbricas ad hoc. Las redes ad hoc son redes de autoformación las cuales pueden operar en la ausencia de alguna infraestructura fija, y en algunos casos, la red ad hoc es formada completamente por nodos móviles. Una red ad hoc por lo regular incluye un número de unidades geográficamente distribuidas potencialmente móviles, en ocasiones denominadas como "nodos", los cuales están conectados en forma inalámbrica entre si, por medio de uno o más enlaces (por ejemplo, canales de comunicación de radiofrecuencia). Los nodos pueden establecer comunicación entre si sobre un medio inalámbrico sin el soporte de una red cableada o basada en infraestructura. Los enlaces o conexiones entre estos nodos pueden cambiar en forma dinámica de una manera arbitraria conforme nodos existentes se mueven dentro de la red ad hoc, conforme nuevos nodos se unen o ingresan a la red ad hoc, o conforme nodos existentes abandonan o salen de la red ad hoc. Debido a que la topología de una red ad hoc puede cambiar significativamente, se requieren técnicas las cuales puedan permitir que la red ad hoc se ajuste de manera dinámica a estos cambios. Debido a la falta de un controlador central, muchas funciones de control de red pueden estar distribuidas entre los nodos de manera que los nodos se pueden auto-organizar y reconfigurar en respuesta a cambios de topología. Una característica de los nodos es que cada nodo puede establecer comunicación directamente sobre un rango corto con nodos que están a un "salto" sencillo de distancia. Dichos nodos en ocasiones se denominan como "nodos vecinos". Cuando un nodo transmite paquetes a un nodo destino y los nodos están separados por más de un salto (por ejemplo, la distancia entre dos nodos excede el rango de radiotransmisión de los nodos, o una barrera física está presente entre los nodos) , los paquetes pueden ser retransmitidos a través de nodos intermedios ("múltiple salto") hasta que los paquetes llegan al nodo destino. En dichas situaciones, cada nodo intermedio enruta los paquetes (por ejemplo, datos e información de control) al siguiente nodo a lo largo de la ruta, hasta que los paquetes alcanzan su destino final. Para retransmitir paquetes al siguiente nodo, cada nodo debería mantener información de enrutamiento recopilada a través de la conversación con nodos vecinos. La información de enrutamiento también puede ser difundida periódicamente en la red para reflejar la topología de red actual. De manera alternativa, para reducir la cantidad de información transmitida para mantener información de enrutamiento precisa, los nodos de red pueden intercambiar información de enrutamiento únicamente cuando se requiere. En un enfoque conocido como Enrutamiento Mesh Escalable (MSR) , descrito en la Solicitud de Patente EUA 20040143842 el cual se incorpora por referencia en la presente invención en su totalidad. Un esquema de acceso para redes ad hoc es el Acceso Múltiple por División de Tiempo ( TDMA) , en donde el recurso de transmisión de una radiofrecuencia se divide en ranuras de tiempo, y una unidad puede transmitir en una o varias ranuras de tiempo. Esto permite que múltiples usuarios compartan el mismo medio de transmisión (por ejemplo radiofrecuencia) mientras se utiliza únicamente parte de su ancho de banda. El esquema TDMA comúnmente es utilizado en estándares celulares digitales, sistemas satelitales y redes de área local. Se tiene conocimiento de que el esquema TDMA funciona bien para tráfico periódico y sensible al tiempo que para el Acceso Múltiple de Detección de Portadora (CSMA) . La mayor parte del sistema TDMA comúnmente utilizado funciona con asignación de ranuras de tiempo centralizadas. Por ejemplo, en un sistema celular, la estación base es la autoridad central mientras que en la red de área local, el punto de acceso es el nodo central, el cual es responsable de la asignación de ranuras de tiempo para comunicación para todos los nodos anexos. La asignación centralizada de ranuras de tiempo requiere el intercambio de una cantidad grande de información de administración de red, lo cual consume ancho de banda de comunicación valioso. Técnicas de asignación de ranuras de tiempo centralizadas típicamente se aplican en redes donde la longitud de la trayectoria de comunicación es relativamente pequeña (por ejemplo, sólo un salto) . La aplicación de técnicas de asignación de ranuras de tiempo centralizadas en redes de salto múltiple puede resultar problemática debido a la cantidad significativa de tiempo que se requiere para propagar información desde los nodos en la periferia de la red a un nodo central, y para propagar información desde el nodo central de regreso a los nodos en la periferia de la red. Técnicas de asignación de ranuras de tiempo centralizadas son ineficientes para llegar a todos los nodos de red debido a la movilidad de los nodos y al tiempo relativamente prolongado que se necesita para propagar la información a cada nodo en la red. Por este motivo, en redes móviles de salto múltiple, en donde la topología de los nodos cambia con frecuencia, la utilización de técnicas de asignación de ranuras de tiempo centralizadas resulta prohibitivo. Puede haber múltiples rutas presentes entre los nodos, pero no todas las rutas pueden soportar los requerimientos de calidad de servicio (QoS) de una corriente de datos particular, esto es especialmente cierto en sistemas que emplean el Control de Acceso de Medio (MAC) TDMA ya que las rutas incluso pudieran no tener suficientes ranuras para sostener la corriente de datos. Por lo tanto, existe la necesidad de encontrar una ruta y asignar ranuras de tiempo apropiadas en una forma distribuida la cual cumpla con los requerimientos QoS de la corriente de datos.
BREVE DESCRIPCION DE LAS FIGURAS Las figuras anexas, en donde números de referencia similares se refieren a elementos funcionalmente similares o idénticos a través de las diversas vistas y en donde junto con la descripción detalla a continuación se incorporan en, y forman parte de la especificación, sirven para ilustrar en forma adicional diversas modalidades y para explicar los diversos principios y ventajas, todo ello de acuerdo con la presente invención. La figura 1 es un diagrama en bloques de una red de comunicación ad hoc ejemplar; La figura 2 es un diagrama en bloques de un nodo ejemplar para uso en la operación de algunas modalidades de la invención; La figura 3 es una tabla ejemplar para el almacenamiento de información en un mapa de comunicación local (LCM) de acuerdo con una ejecución ejemplar; La figura 4 es una tabla que muestra las descripciones de campo utilizadas en el LCM de la figura 3 de acuerdo con una ejecución ejemplar; La figura 5 es una tabla que muestra posibles combinaciones de entradas en LCM y la manera en que la información contenida en el LCM local es utilizada para generar otros mapas útiles de acuerdo con una ejecución ej emplar ; La figura 6 es una tabla que muestra una entrada en una tabla de asignación de ranura (SAT) de acuerdo con una ejecución ejemplar; La figura 7 es una tabla que muestra información almacenada en un mapa de utilización de ranura de tiempo (TSUM) de acuerdo con una ejecución ej emplar ; La figura 8 es una tabla que muestra la manera en que el mapa de comunicación local (LCM) de la figura 3 puede ser mapeado al mapa de utilización de ranura de tiempo (TSUM) de la figura 7 de acuerdo con una ejecución ej emplar; La figura 9 es una tabla que muestra la manera en que el mapa de comunicación local (LCM) de la figura 3 se puede mapear a un Mapa de Ranura Posible de Transmisión (TPSM) y un Mapa de Ranura Posible de Recepción (RPSM) de acuerdo con una ejecución ejemplar; y La figura 10 es un diagrama de flujo de mensaje que muestra un intercambio del mensaje de exploración ejemplar durante un proceso de asignación de ranura de acuerdo con algunas modalidades de la invención; La figura 11 es un diagrama de flujo que muestra un método ejemplar para determinar la asignación de ranura de tiempo a lo largo de una ruta para una comunicación entre un nodo fuente y un nodo destino en una red de múltiple salto ad hoc de acuerdo con algunas modalidades de la invención; La figura 12 es un diagrama de flujo que muestra otro método ejemplar para determinar la asignación de ranuras de tiempo a lo largo de una ruta para una comunicación entre un nodo fuente y un nodo destino en una red de múltiple salto ad hoc de acuerdo con algunas modalidades de la invención; La figura 13 es un diagrama de flujo de mensaje que muestra un escenario de interferencia de ranura ej emplar ; La figura 14 es un diagrama de flujo que muestra un método ejemplar para la detección de interferencia de ranura y la recuperación de acuerdo con algunas modalidades de la invención; y La figura 15 es un diagrama de flujo que muestra un método ejemplar para procesar la información de interferencia de ranura de acuerdo con algunas modalidades de la invención. Aquellos expertos en la técnica apreciarán que los elementos contenidos en las figuras se ilustran por simplicidad y claridad y no necesariamente han sido dibujados a escala. Por ejemplo, las dimensiones de algunos de los elementos en las figuras pueden estar exageradas con relación a otros elementos a fin de ayudar a mejorar el entendimiento de las modalidades de la presente invención.
DESCRIPCION DETALLADA DE LA INVENCION Antes de describir a detalle las modalidades que están de acuerdo con la presente invención, se deberá observar que las modalidades residen principalmente en combinaciones de pasos de método y componentes de aparatos relacionados con la asignación de ranuras de tiempo a nodos en una red ad hoc. Por consiguiente, los componentes de aparato y pasos de método han sido representados, en donde se juzga apropiado, a través de símbolos convencionales en los dibujos, mostrando únicamente aquellos detalles específicos que son pertinentes para el entendimiento de las modalidades de la presente invención a fin de no oscurecer la descripción con detalles que serán fácilmente aparentes para aquellos expertos en la técnica que gozan del beneficio de la presente descripción. En este documento, términos de relación tales como primero y segundo, y similares, se pueden utilizar únicamente para distinguir una entidad o acción de otra entidad o acción sin necesariamente requerir o implicar alguna relación real u orden entre dichas entidades o acciones. Los términos "comprende", "que comprende", o cualquier otra variación de los mismos, tiene por objetivo abarcar una inclusión no exclusiva, de manera que un proceso, método, articulo o aparato que comprende una lista de elementos, no incluye únicamente esos elementos sino que puede incluir otros elementos no expresamente enlistados o inherentes a dicho proceso, método, articulo o aparato. Un elemento precedido por "comprende... un" no prohibe, sin más restricciones, la existencia de elementos idénticos adicionales en el proceso, método, articulo, o aparato que comprende el elemento . Se podrá apreciar que las modalidades de la invención aquí descritas pueden estar compuestas de uno o más procesadores convencionales e instrucciones de programas almacenadas únicas que controlan uno o más procesadores para ejecutar, en conjunto con algunos circuitos de no procesador, algunas, la mayoría o todas las funciones para asignar ranuras de tiempo a nodos en una red ad hoc tal como aquí se describe. Los circuitos de no procesador pueden incluir, pero no se limitan a, un radiorreceptor, un radiotransmisor, accionadores de señal, circuitos de reloj, circuitos de fuente de potencia, y dispositivos de entrada de usuario. Debido a esto, estas funciones se pueden interpretar como pasos de un método para asignar ranuras de tiempo a nodos en una red ad hoc. De manera alternativa, algunas o todas las funciones podrían ser ejecutadas por una máquina de estado que no tenga instrucciones de programa almacenadas, o en uno o más circuitos integrados de aplicación específica (ASIC) , en donde cada función o algunas combinaciones de ciertas funciones se ejecutan como lógica habitual. Por supuesto, se podría utilizar una combinación de los dos enfoques. Por lo tanto, aquí se han descritos métodos y medios para estas funciones. Además, se espera que un experto en la técnica, no obstante posiblemente el esfuerzo significativo y muchas opciones de diseño motivadas, por ejemplo, por el tiempo disponible, la tecnología actual y las consideraciones económicas, cuando sean guiados por los conceptos y principios aquí analizados fácilmente tendrán la capacidad para generar dichas instrucciones y programas de software, así como los IC con experimentación mínima. La palabra "ejemplar" aquí se utiliza para decir "que sirve como un ejemplo, caso o ilustración". Cualquier modalidad aquí descrita como "ejemplar" no necesariamente se interpretará como preferida o conveniente sobre otras modalidades. Todas las modalidades descritas en esta descripción detallada son modalidades ejemplares proporcionadas para permitir a los expertos en la técnica hacer o utilizar la invención y no para limitar el alcance de la invención, el cual queda definido por las reivindicaciones.
Red de Salto Múltiple Ad Hoc Ejemplar La figura 1 es un diagrama en bloques de una red de comunicación ad hoc ejemplar 100 que comprende un número de nodos existentes 120 A-G. Los nodos 120A-120G por lo regular soportan la operación simultánea, tanto en modo sin infraestructura como en modo con infraestructura y se pueden desplazar de manera continua entre las redes basadas en infraestructura (aquellas que incluyen, por ejemplo, un Punto de Acceso AP 130) y redes par a par basadas en cliente, las cuales quedan libres de cualquier infraestructura . La red de comunicación de salto múltiple ad hoc 100 puede ser creada entre una pluralidad de nodos 120A-120G en donde cada uno tiene una repetidora inalámbrica y capacidad de enrutamiento , y de manera opcional un Punto de Acceso cableado (AP) 130. Los clientes se pueden mover de manera continua entre las redes basadas en infraestructura y las redes par a par basadas en clientes. Aquellos expertos en la técnica podrán apreciar que aunque la red ad hoc 100 en la figura 1 se muestra como operando en un modo de infraestructura (por ejemplo, incluyendo AP y/o estaciones base celulares), la red ad hoc 100 de la figura 1 no requiere que esté presente alguna infraestructura de red. Más bien, los nodos 120A-120G por lo regular soportan la operación simultánea tanto en modo sin infraestructura como en modo con infraestructura. En la red de salto múltiple ad hoc 100, las comunicaciones hacia y/o desde los nodos 120A-120G pueden "saltar" a través de cada uno para llegar a los otros nodos 120A-120G en la red. Los nodos 120A-120G generalmente pueden ser dispositivos inalámbricos con la capacidad para recibir información paquetizada de audio, video y/o datos. Algunos de los componentes en un nodo ejemplar, tal como un procesador ejemplar, transmisor, receptor y antena, se describen a continuación en la figura 2. Los nodos 120A-120G pueden intercambiar información como paquetes de datos transmitidos sobre frecuencias de portadora, cada uno de los cuales incluye uno o más canales de comunicación inalámbrica. En el modo de infraestructura, el punto de acceso AP 130 por lo regular está acoplado a una red cableada (que no se muestra) y puede proporcionar una o más fuentes de información de audio, video y/o datos. El punto de acceso AP 130 puede ser, por ejemplo, una estación base celular u otro punto de acceso inalámbrico. Aunque no se muestra en la figura 1, aquellos expertos en la técnica podrán apreciar que los nodos 120A-120G, también pueden comunicar paquetes de información con una red basada en celular (que no se muestra) sobre un medio de comunicación inalámbrica, cada uno de los cuales incluye uno o más canales de comunicación inalámbrica dependiendo del esquema de acceso múltiple utilizado en la red basada en celular. Cada uno de los nodos 120A-G en la red está sincronizado con un reloj común. La sincronización de los relojes, los cuales controlan el tiempo de transmisión y la asignación única de ranuras de tiempo, puede evitar la transmisión de señales desde más de un nodo en cualquier tiempo particular en inmediaciones particulares. Los nodos pueden ser sincronizados con este reloj a través de una técnica de sincronización distribuida, tal como aquella que se describe, por ejemplo, en la Solicitud de Patente de los Estados Unidos con Número de Serie 11/169815, presentada el 29 de junio de 2005, titulada "Método y Sistema para Ejecutar el Método de Acceso Múltiple por División de Tiempo para Redes Inalámbricas de Salto Múltiple Ad Hoc", y propiedad del dueño/cesionario de la presente invención, la cual se incorpora aquí por referencia en su totalidad.
Nodo Ejemplar La figura 2 es un diagrama en bloques de un nodo ejemplar 200. El nodo 200 comprende un procesador 201, un tranceptor 202 incluyendo una circuiteria de transmisor 203 y una circuiteria de receptor 205, una antena 206, una pantalla 207, un dispositivo de entrada 208, una memoria de programa 209 para almacenar instrucciones operativas que son ejecutadas por el procesador 201, una memoria de almacenamiento intermedio 211, una o más interfaces de comunicación 213, y una unidad de almacenamiento removible 215. Aunque no se muestra, el nodo 200 de preferencia también incluye un conmutador de antena, duplexor, circulador, u otros medios altamente aislantes (que no se muestran} para el aprovisionamiento intermitente de paquetes de información desde la circuiteria de transmisor 203 a la antena 206 y desde la antena 206 a la circuiteria de receptor 205. El nodo 200 de preferencia es una unidad integrada que contiene por lo menos todos los elementos que se muestran en la figura 2, asi como cualesquiera otros elementos necesarios para que el nodo 200 ejecute sus funciones particulares. De manera alternativa, el nodo 200 puede comprender una recopilación de unidades o dispositivos apropiadamente interconectados , en donde dichas unidades o dispositivos realizan funciones que son equivalentes a las funciones ejecutadas por los elementos del nodo 200. Por ejemplo, el nodo 200 puede comprender una computadora portátil y una tarjeta LAN inalámbrica (red de área local ) . El procesador 201 de preferencia incluye uno o más microprocesadores, microcontroladores, DSP (procesadores de señal digital), máquinas de estado, circuiteria lógica, o cualquier otro dispositivo o dispositivos que procesen información con base en las instrucciones operativas o de programación. Dichas instrucciones operativas o de programación de preferencia son almacenadas en la memoria de programa 209. La memoria de programa 209 puede ser un chip de memoria IC (circuito integrado) que contenga cualquier forma de RAM (memoria de acceso aleatorio) o ROM (memoria de sólo lectura) , un disco flexible, un CD-ROM (memoria de sólo lectura de disco compacto) , una unidad de disco duro, un DVD (disco de video digital), una tarjeta de memoria rápida o cualquier otro medio para almacenar información digital. Un experto en la técnica reconocerá que cuando el procesador 201 tiene una o más de sus funciones ejecutadas por una máquina de estado o circuiteria lógica, la memoria 209 que contiene las instrucciones operativas correspondientes puede estar incorporada dentro de la máquina de estado o circuiteria lógica. Las operaciones ejecutadas por el procesador 201 y el resto del nodo 200 se describen con mayor detalle a continuación . La circuiteria de transmisor 203 y la circuiteria de receptor 205 permiten que el nodo 200 comunique paquetes de información hacia los otros nodos, y adquiera paquetes de información desde los otros nodos. En este aspecto, la circuiteria de transmisor 203 y la circuiteria de receptor 205 incluyen circuiteria convencional para permitir transmisiones digitales o análogas sobre un canal de comunicación inalámbrica. La circuiteria de transmisor 203 y la circuiteria de receptor 205 están diseñadas para operar sobre una interfaz de aire celular (por ejemplo, un Sistema Global para Comunicación Móvil (GSM) , Acceso Múltiple por División de Código (CDMA), CDMA de Banda Ancha (WCDMA) , Sistema Universal de telecomunicaciones Móviles (UMTS) , y similares) y una interfaz de aire de conexión en red ad hoc (por ejemplo, BLUETOOTH, 802.11 WLAN (red de área local inalámbrica), 802.16 WiMax, y similares) Las ejecuciones de la circuiteria de transmisor 203 y la circuiteria de receptor 205 dependen de la ejecución del nodo 200. Por ejemplo, la circuitería de transmisor 203 y la circuitería de receptor 205 se pueden ejecutar como un módem inalámbrico apropiado, o como componentes de transmisión y recepción convencionales de dispositivos de comunicación inalámbrica de dos vías. En el caso donde la circuitería de transmisor 203 y la circuitería de receptor 205 se ejecuten como un módem inalámbrico, el módem puede ser interno al nodo 200 o se puede insertar en el nodo 200 (por ejemplo, incorporado en un módem de radiofrecuencia (RF) inalámbrico ejecutado en una Tarjeta de la Asociación Internacional de Tarjetas de Memoria de Computadora Personal (PCMCIA)). Para un dispositivo de comunicación inalámbrica, la circuitería de transmisor 203 y la circuitería de receptor 205 de preferencia se ejecutan como parte del hardware del dispositivo inalámbrico y arquitectura de software de acuerdo con técnicas conocidas. La mayoría, sino es que todas las funciones de la circuitería de transmisor 203 y/o la circuitería de receptor 205 se pueden ejecutar en un procesador, tal como el procesador 201. Sin embargo, el procesador 201, la circuitería de transmisor 203, y la circuitería de receptor 205 han sido divididos de manera artificial aquí para facilitar un mejor entendimiento. La circuitería de receptor 205 tiene la capacidad de recibir señales RF por lo menos desde un ancho de banda y opcionalmente más anchos de banda, en caso que las comunicaciones con el dispositivo cercano estén en una banda de frecuencia que no sea aquella de las comunicaciones de red. La circuiteria de receptor 205 de manera opcional puede comprender un primer receptor y un segundo receptor, o un receptor con la capacidad para recibir en dos o más anchos de banda. El tranceptor 202 incluye por lo menos un conjunto de circuiteria de transmisor 203. Por lo menos un transmisor 203 puede tener la capacidad para transmitir a múltiples dispositivos en múltiples bandas de frecuencia. Al igual que con el receptor 205, de manera opcional se pueden emplear transmisores duales 203 en donde un transmisor es para la transmisión a un nodo cercano o establecimiento de enlace directo con WLAN y el otro transmisor es para transmisión a una estación base celular. La antena 206 comprende cualquier estructura conocida o desarrollada para irradiar y recibir energía electromagnética en el rango de frecuencia que contiene las frecuencias de portadora inalámbricas. La memoria de almacenamiento intermedio 211 puede ser cualquier forma de memoria volátil, tal como RAM, y se utiliza para almacenar temporalmente paquetes de información recibidos de acuerdo con la presente invención.
Cuando el nodo 200 · es construido para recibir información de video desde una fuente de video, el nodo 200 de preferencia incluye además un decodificador de video con la capacidad para decodificar el estándar actual de Grupo de Expertos de Imágenes en Movimiento (MPEG) o algún otro estándar de decodificación de video. Cuando el nodo 200 además tiene la capacidad para transmitir información de video, el nodo 200 de preferencia incluye además un codificador de video con la capacidad para codificar los datos de video por lo menos en uno de los estándares de video anteriores. Dicho codificador y decodificador de video de preferencia se ejecutan como parte del procesador 201.
Técnicas de Administración de Ranuras de Tiempo Ej emplares Se proporciona una estructura de cuadro la cual divide el tiempo de transmisión en súper cuadros los cuales son divididos de manera adicional en cuadros. La estructura de formación de cuadros de múltiple nivel soporta diferentes bases de tiempo para subcanales. La tempori zación de cuadro de nivel inferior proporciona una base de tiempo rápidamente recurrente para soportar la transmisión de datos. La formación de cuadros de nivel superior se basa en la formación de cuadros de nivel inferior, y proporciona una base de tiempo recurrente de forma menos frecuente para un canal de saludo. El canal de saludo es definido utilizando la estructura de formación de cuadros de múltiple nivel. Una porción de cada cuadro de nivel inferior es asignada como ranuras, y estas ranuras son numeradas y asignadas utilizando la formación de cuadros de nivel superior. Suficientes ranuras son asignadas para el número deseado de nodos en una inmediación. Las ranuras pueden ser colocadas en cualquier parte del cuadro, y pueden estar separadas unas de otras, pero su posición es conocida por todos los nodos en la red. El posicionamiento de ranura puede ser preconfigurado en todos los nodos o puede ser un parámetro el cual pueda ser aprendido por los nodos. Se proporcionan técnicas y tecnologías para programar ranuras de tiempo en una manera distribuida sin la ayuda de un programador central. Las técnicas de programación utilizan información de enrutamiento suministrada por un protocolo de enrutamiento para encontrar rutas las cuales puedan soportar los requerimientos QoS de la corriente de datos. El proceso de programación funciona con cualquier protocolo de enrutamiento, y es particularmente útil con protocolos de enrutamiento que pueden proporcionar múltiples rutas para un nodo destino. La programación de ranuras de tiempo involucra la asignación de ranuras, el mantenimiento de ranuras asignadas, y la desasignación de ranuras. Las ranuras son asignadas para cada corriente de datos. En una ejecución, las corrientes de datos son identificadas de forma única por el número de corriente el cual es una n-upla <dirección MAC fuente, dirección MAC destino, ID de Corriente>. Éstas pueden ser direcciones MAC reales o direcciones rápidas. Una vez que las ranuras asignadas ya no están siendo utilizadas para transferir datos, las ranuras asignadas pueden ser liberadas de manera que otros nodos puedan reutilizarlas de manera efectiva. La asignación de ranuras se realiza de manera que se pueda mantener el requerimiento QoS de la corriente de datos sobre múltiples saltos. La asignación de ranuras se realiza para elevar al máximo la reutilización espacial; esto involucra la notificación oportuna de la asignación a las inmediaciones, de manera que nodos distantes pueden reutilizar las ranuras de tiempo. Después de la asignación inicial de ranuras de tiempo, las ranuras de tiempo asignadas pueden comenzar a experimentar interferencia, por ejemplo, a causa de la movilidad de los nodos. Se requieren mecanismos apropiados para detectar la interferencia de ranuras de tiempo y resolver la misma. Después de un cambio o cambios en la ruta al nodo destino, también son necesarias técnicas para reasignar ranuras de tiempo. Las ranuras de tiempo reasignadas deberían ser liberadas ("desasignación de ranuras") una vez que ya no están siendo utilizadas para transferir datos de manera que otros nodos puedan reutilizar esas ranuras de tiempo.
Estructuras de Datos de Información de Ranura Mapa de Comunicación Local Los nodos en la red mantienen un Mapa de Comunicación Local (LCM) el cual almacena la información referente a cada una de las ranuras de tiempo. El LCM es actualizado por un nodo al momento de recibir un mensaje de saludo o mensajes de exploración. La figura 3 es una tabla que muestra la estructura de información almacenada en un mapa de comunicación local (LCM) de acuerdo con una ejecución ejemplar. La figura 4 es una tabla 400 que muestra descripciones de campos utilizados en el LCM de la figura 3 de acuerdo con una ejecución ejemplar. La tabla 400 incluye un campo de número de ranura de tiempo (campo # Ranura de Tiempo) , un campo de auto transmisión (campo Auto Tx) , un campo de auto recepción (campo Auto Rx) , un campo de transmisión vecino (campo Nbr Tx) , un campo de recepción vecino (campo Nbr Rx) , un campo de lista de transmisión vecino (campo Lista NbrTx) , un campo de lista de recepción vecino (Campo Lista NbrRx) . El campo de # Ranuras de Tiempo especifica el número de ranuras de tiempo con relación al inicio del cuadro. El número de entradas en LCM será igual al número de ranuras de tiempo en un cuadro. El campo Auto Tx comprende un valor de un bit que significa si el nodo en si mismo está transmitiendo en esta ranura de tiempo o no (por ejemplo, 1 — Transmitiendo, 0 — No Transmitiendo) . El campo Auto Rx comprende un valor de un bit lo que significa si el nodo en si mismo está recibiendo en este cuadro de tiempo o no (por ejemplo, 1 — Recibiendo, 0 -No Recibiendo) . El campo Nbr Tx comprende un valor de un bit, lo que significa si uno de los vecinos del nodo está transmitiendo o no (por ejemplo, 1 — Transmitiendo, 0 — No Transmitiendo) . El campo Nbr Rx comprende un valor de un bit lo que significa si uno de los vecinos del nodo está recibiendo en esta ranura de tiempo o no (por ejemplo, 1 — Recibiendo, 0 — No Recibiendo) . El campo de Lista NbrTx señala a una lista de enlaces de todos los vecinos que actualmente están transmitiendo en esta ranura. El campo de Lista NbrRx señala a una lista de enlaces de todos los vecinos que actualmente están recibiendo en esta lista. La figura 5 es una tabla 500 que muestra posibles combinaciones de entradas en LCM y la forma en que la información en el LCM local es utilizada para generar otros mapas útiles de acuerdo con una ejecución ejemplar. De manera preliminar, se debería observar que aunque existen 16 formas posibles en las cuales se puede rellenar esta tabla con unos y ceros, sólo hay ocho casos válidos debido a que algunos casos, tales como AutoTx y AutoRx al ser simultáneamente 1, se consideran inválidos. Las entradas en la tabla LCM (AutoTx, AutoRx, NbrTx y NbrRx) son rellenadas mientras se intercambian mensajes de exploración. Esto se describe a detalle a continuación . En la tabla 500, el símbolo señala a una lista de enlaces de todos los vecinos quienes han indicado que están transmitiendo en esta ranura de tiempo. El valor 1 será cambiado a 0 únicamente si todos estos vecinos han sido indicados de otra forma. El símbolo señala a una lista de enlaces de todos los vecinos quienes han indicado que están recibiendo en esta ranura de tiempo. El valor 1 será cambiado a 0 únicamente si todos estos vecinos han indicado de otra forma. En el caso 1, el nodo actual no tiene información referente a alguna transmisión o recepción en las inmediaciones y el nodo actual no está transmitiendo y tampoco está recibiendo. En el caso 2, uno o más de los vecinos han indicado que están recibiendo en esta ranura de tiempo. Debido a que ninguno de los nodos vecinos ha indicado algo respecto a la transmisión, el nodo transmisor debe ser un vecino de dos saltos. En el caso 3, uno o más de los vecinos han indicado que están transmitiendo en esta ranura de tiempo. Debido a que ninguno de los nodos vecinos ha indicado algo referente a la recepción, el nodo receptor debe ser un vecino de dos saltos. En el caso 4, uno o más de los vecinos han indicado que están transmitiendo y uno o más de los vecinos han indicado que están recibiendo. La transmisión y recepción indicadas pueden ser la misma o pueden ser independientes una de otra. En el caso 5, el nodo actual está recibiendo en la ranura de tiempo. El nodo actual puede recibir únicamente desde uno de sus vecinos y, por lo tanto, el campo Nbr Tx siempre está marcado 1 cuando el nodo actual está recibiendo. En el caso 6, el nodo actual está recibiendo en la ranura de tiempo. El nodo actual puede recibir únicamente desde uno de sus vecinos y, por lo tanto, de ahí el valor 1 en el campo Nbr Tx. Uno de los vecinos también ha indicado que está recibiendo en esta ranura de tiempo. Una posibilidad es una transmisión de multidifusión y otra posibilidad es el siguiente escenario: A > B C < D (Escenario 1) en donde el nodo actual B está recibiendo desde el vecino A mientras que el vecino C está recibiendo desde el nodo D. En el caso 7, el nodo actual está transmitiendo y uno de sus vecinos está recibiendo. Un nodo hará entrada en el LCM referente a su transmisión únicamente después de intercambiar mensajes de exploración con su vecino, y por lo tanto puede marcar al vecino particular como un nodo de recepción en esa ranura. Por lo tanto, el campo Nbr Rx siempre está marcado 1 cuando el nodo actual está transmitiendo. En el caso 8, el nodo actual está transmitiendo a uno de sus vecinos (de ahí 1 bit en Nbr Rx) y uno de los otros vecinos también está transmitiendo. Esto es posible en el siguiente escenario: A < B C > D (Escenario 2) en donde B es el nodo actual y está transmitiendo al nodo A, C es el vecino de B pero está transmitiendo al nodo D. La figura 6 es una tabla que muestra una entrada en una tabla de asignación de ranura (SAT) de acuerdo con una ejecución ejemplar. La programación utiliza números en corriente para identificar de manera única una corriente de datos entre un nodo fuente y un nodo destino. Cada asignación o reservación de ranuras de tiempo puede ser identificada por un número de corriente único en todos los nodos implicados. Para garantizar la capacidad única del número de corriente, el número de corriente es controlado por el originador de datos. Por ejemplo, una corriente puede ser identificada con el par <dirección MAC del nodo fuente, ID de Corriente> en donde el ID de Corriente es un entero incrementado por el nodo fuente cada vez que comienza una nueva corriente de datos. Cada nodo mantiene la asignación de ranura de datos para diversas corrientes en una Tabla de Asignación de Ranuras (SAT) . Tal como se muestra en la figura 6, las entradas en la SAT pueden comprender, por ejemplo: una entrada de número de corriente (entrada # Corriente) la cual identifica de manera única la corriente de datos entre un nodo fuente y nodo destino, una entrada de dirección fuente (Dir Fuente) la cual identifica la dirección MAC de la corriente de datos, una dirección de destino (entrada Dir Dest) la cual identifica la dirección MAC destino de la corriente de datos, una entrada Asignada de Ranura de Datos la cual identifica las ranuras asignadas para la transmisión de datos por medio de este nodo, una entrada de tiempo de vencimiento, la cual identifica un tiempo umbral antes que la ranura sea liberada (renovada con cada transmisión de paquete en esta ranura), una entrada de salto previo (Salto Prev) la cual identifica la dirección MAC de salto previo desde donde los datos serán recibidos (esto no es válido para el nodo fuente) , una entrada de Salto Siguiente la cual identifica la dirección MAC de siguiente salto a la cual se enviarán los datos (esto no es válido para el nodo destino) , una entrada de Almacenamiento Intermedio de Datos, la cual identifica un almacenamiento intermedio para almacenar paquetes de datos mientras la programación está en progreso, una entrada de ranura de auto recepción (Ranura AutoRx) la cual identifica la ranura en la cual este nodo está recibiendo paquetes desde el salto previo, una entrada de tasa de transferencia de datos la cual identifica el requerimiento de tasa de transferencia de datos para la corriente de datos, y una entrada de Retraso la cual identifica el retraso total incurrido hasta ese momento por la corriente de datos.
Información en Mensaje de Saludo Un mensaje de saludo es transmitido por todos los nodos sobre una base periódica y puede tener una ranura dedicada tal como se explicó, por ejemplo, en un sistema tal como aquél que se describe en la Solicitud de Patente de los Estados Unidos con Número de Serie 11/348607, titulada "Sistema, Método y Aparato para Intercambio Confiable de Información entre Nodos de una Red de Comunicación inalámbrica de Salto Múltiple" presentada el 6 de febrero de 2006 y cedida al cesionario de la presente invención, su contenido es incorporado por referencia en este documento en su totalidad. El mensaje de saludo contiene un Mapa de Utilización de Ranura de Tiempo (TSUM) junto con otra información. El TSUM es construido a partir de la información almacenada en el LCM local, tal como se describe a continuación. La figura 7 es una tabla que muestra un mapa de utilización de ranura de tiempo (TSUM) de acuerdo con una ejecución ejemplar. En esta ejecución, el TSUM incluye un valor que comprende dos bits de información referente a cada una de las ranuras de tiempo. El valor describe el estado de la ranura correspondiente. Ahora se describirán diferentes valores en el TSUM. Con respecto al valor "00", el caso 1 es directo ya que el nodo actual no tiene información referente a alguna transmisión o recepción en curso. El caso 2 se puede describir a través del siguiente ejemplo: A B C < D (Escenario 3) en donde el nodo B es el nodo actual y el nodo vecino C está recibiendo en la ranura de tiempo desde el nodo D. Para el nodo A, esta ranura de tiempo está libre ya que puede transmitir a B asi como a otros vecinos sujetos a este estado. Con respecto al valor "01", en ambos casos 7 y 8, el nodo actual está transmitiendo (que es la condición de cancelación aquí sin considerar el estado de los vecinos). Con respecto al valor "10", en ambos casos 5 y 6, el nodo actual está recibiendo (que es la condición de cancelación aquí sin considerar el estado de los vecinos). Con respecto al valor "01", en ambos casos 3 y 4, uno de los vecinos del nodo actual está transmitiendo (que es la condición de cancelación aquí sin considerar el estado de los otros vecinos) .
Mapa de Ranura Posible de Transmisión (TPSM) y Mapa de Ranura Posible de Recepción (RPSM) Un nodo también mantiene un Mapa de Ranura Posible de Transmisión (TPSM) y un Mapa de Ranura Posible de Recepción (RPSM) los cuales se utilizan en mensajes de exploración para decidir respecto a las ranuras sobre las cuales ocurrirá la comunicación. El TPSM y RPSM se pueden derivar del LCM utilizando la siguiente tabla. La figura 8 es una tabla que muestra la manera en que el mapa de comunicación local (LCM) de la figura 3 puede ser mapeado al mapa de utilización de ranura de tiempo (TSUM) de la figura 7 de acuerdo con una ejecución ejemplar. La figura 9 es una tabla que muestra la manera en que el mapa de comunicación local (LCM) de la figura 3 puede ser mapeado a un Mapa de Ranura Posible de Transmisión (TPSM) y un Mapa de Ranura Posible de Recepción (RPSM) de acuerdo con una ejecución ejemplar. Los valores de TPSM y RPSM se explicarán a continuación. En el caso 1, el nodo actual está libre para recibir y transmitir debido a que el nodo actual no tiene información referente a alguna transmisión o recepción en las inmediaciones y el nodo actual no está transmitiendo y tampoco recibiendo. En el caso 2, uno o más de los vecinos está recibiendo en esta ranura y cualquier transmisión proveniente del nodo actual, puede interferir con la recepción; de ahí que TPSM es 0. Debido a que ninguno de los vecinos tiene una transmisión indicada, el transmisor debe estar a dos saltos y el nodo actual está libre para recibir desde algún otro vecino; de ahí que RPSM es 1. De manera alternativa, en el siguiente ej emplo : A > B C < D (Escenario 4) El nodo B es el nodo actual y su vecino C ha indicado una recepción. El nodo B sigue estando libre para recibir desde A. En el caso 3, uno o más de los vecinos está transmitiendo en esta ranura de tiempo. Debido a esto, el nodo actual no puede recibir en la misma ranura debido a la interferencia (RPSM = 0) pero puede transmitir a algún otro vecino. De manera alternativa, en el siguiente ejemplo, en donde el nodo B es el nodo actual y el nodo C vecino está transmitiendo al nodo D, A < B C > D (Escenario 5) En donde el nodo B puede seguir transmitiendo al nodo A vecino sin interferir con alguna transmisión en curso . En el caso 4, uno o más de los vecinos han indicado que están transmitiendo (por lo tanto no pueden recibir) y uno o más de los vecinos han indicado que están recibiendo (por lo tanto, no pueden recibir) . En el caso 5, el nodo actual está recibiendo en la ranura de tiempo, éste sólo puede recibir una transmisión a la vez y no puede transmitir mientras está recibiendo. En el caso 6, el nodo actual está recibiendo en la ranura de tiempo, y por lo tanto, el nodo actual sólo puede recibir una transmisión a la vez y no puede transmitir mientras está recibiendo (estas condición cancela la condición de recepción por el nodo vecino). En el caso 7, el nodo actual está transmitiendo y puede transmitir únicamente una corriente a la vez (TPSM = 0) . El nodo actual no puede recibir y transmitir al mismo tiempo (RPSM = 0). En el caso 8, el nodo actual está transmitiendo y puede transmitir únicamente una corriente a la vez (TPSM = 0). El nodo actual no puede recibir y transmitir al mismo tiempo (RPSM = 0) (esta condición cancela la condición de transmisión por otro vecino) .
Asignación, Desasignación y Mantenimiento de Ranuras Cuando un nodo necesita establecer comunicación con algún otro nodo en la red, éste indica su deseo de hacerlo a un módulo de enrutamiento en el nodo. El módulo de enrutamiento proporciona por lo menos una ruta al destino pero no garantizará la disponibilidad de ranuras. Para determinar si la ruta determinada tiene suficientes ranuras para acomodar los requerimientos QoS del tráfico, el nodo necesita explorar la ruta para las ranuras. Para explorar una ruta, el nodo fuente inicia un proceso de asignación de ranura y envía mensajes de exploración para la asignación de ranuras. Un mensaje de exploración puede comprender uno de un mensaje de Solicitud de Exploración, un mensaje de Respuesta de Exploración, un mensaje de Reconocimiento de Exploración, un mensaje de Confirmación de Exploración, y un mensaje de Error de Exploración. También se debería apreciar que el mensaje de Error de Exploración puede ser enviado siempre que un nodo intermedio descubra que no puede cumplir con los requerimientos QoS de la corriente de datos o cuando expire la asignación de ranura actual. Una explicación detallada de cada mensaje se proporcionará ahora con referencia a la figura 10.
La figura 10 es un diagrama de flujo de mensaje que muestra un intercambio de mensajes de exploración ejemplar durante un proceso de asignación de ranura de acuerdo con algunas modalidades de la invención. De acuerdo con una técnica, en el paso 1030, el nodo fuente A envía un mensaje de Solicitud de Exploración hacia el nodo destino Z que contiene el mapa de las ranuras que están disponibles para transmisión. El primer nodo intermedio B (siguiente salto) compara esto con las ranuras sobre las cuales puede recibir y elegir las ranuras apropiadas.
Solicitud de Exploración Tal como se mencionó anteriormente, cada nodo mantiene una lista de ranuras que están disponibles para transmisión y recepción a las cuales se hizo referencia anteriormente como un Mapa de Ranura Posible de Transmisión (TPSM) y un Mapa de Ranura Posible de Recepción (RPSM) . El nodo fuente inicia la programación enviando un mensaje de Solicitud de Exploración al siguiente salto hacia el destino (como tabla por enrutamiento ) cuando un paquete de datos es recibido en un nodo fuente desde la capa de aplicación y no hay una "Ranura de Datos Asignada" para este número de corriente en la Tabla de Asignación de Ranura. El mensaje de Solicitud de Exploración contiene el TPSM (por ejemplo, el mapa de las ranuras que están disponibles en el nodo fuente) derivado de la tabla LCM. El mensaje de Solicitud de Exploración puede ser un paquete de unidifusión Generación de Mensaje de Solicitud de Exploración Cuando se genera el mensaje de Solicitud de Exploración, el nodo fuente proporcionará la siguiente información en el mensaje de Solicitud de Exploración: un número de corriente, una dirección MAC fuente, una dirección MAC destino, una tasa de transferencia de datos mínima, y un retraso máximo. El número de corriente se puede utilizar para reservar las ranuras. La dirección MAC fuente es la dirección MAC del nodo que inicia el mensaje de Solicitud de Exploración. La dirección MAC destino es la dirección MAC del destino final de la corriente de datos para la cual se necesitan reservar ranuras de tiempo. La tasa de transferencia de datos mínima es la tasa de transferencia de datos que necesita ser mantenida en todos los nodos intermedios para satisfacer el requerimiento QoS de esta corriente de datos particular. (Este valor puede ser transmitido tal como es o puede ser convertido en número de ranuras de tiempo requeridas por cuadro a una tasa de transferencia de datos determinada). El retraso máximo es el retraso máximo que los paquetes de esta corriente de datos pueden sostener mientras atraviesan la ruta y seguir manteniendo el requerimiento QoS. (Este valor puede ser transmitido tal como es o puede ser convertido en número de cuadros o ranuras). La información enlistada anteriormente se preserva en el mensaje de Solicitud de Exploración y será reenviada tal como está por los nodos intermedios . El nodo fuente también incluirá el TPSM del nodo fuente (por ejemplo, el nodo fuente incluirá el Mapa de Ranura Posible de Transmisión por si mismo) , la tasa de transferencia de datos del nodo fuente, y el retraso incurrido hasta ese momento. La tasa de transferencia de datos del nodo actual especifica la tasa de transferencia de datos que será utilizada por éste para comunicarse con el siguiente salto. (Este valor puede ser transmitido tal como está o puede ser convertido en número de ranuras de tiempo por cuadro las cuales serán ocupadas por el nodo fuente para adherirse al requerimiento QoS) . El campo de retraso incurrido hasta ese momento es inicializado a cero por el nodo fuente y es actualizado por todos los nodos intermedios para reflejar el retraso total en el que un cuadro de datos incurrirá al llegar al nodo actual en caso que se seleccione la ruta actual.
La información en el mensaje de Solicitud de Exploración puede entonces ser modificada por cada nodo intermedio antes de reenviarlo al siguiente salto. El nodo que genera el mensaje de Solicitud de Exploración puede entonces crear una entrada para el número de corriente en la Tabla de Asignación de Ranura. El campo "Ranura de Datos Asignada" se mantendrá inválido y será rellenado al momento de la recepción del mensaje de Respuesta de Exploración.
Procesamiento de un Mensaje de Solicitud de Exploración El mensaje de Solicitud de Exploración es un mensaje dirigido y es procesado únicamente por el nodo para el cual está destinado; otros simplemente lo descartan. El nodo que procesa el mensaje de Solicitud de Exploración primero revisa para determinar si el mensaje de Solicitud de Exploración cumple con los requerimientos de la corriente de datos. Para hacer esto, en una ejecución, el mensaje de Solicitud de Exploración atraviesa las siguientes revisiones. El nodo destino primero compara el mapa TPSM enviado por el salto previo con el Mapa de Ranura Posible de Recepción (RPSM) local para determinar si éste puede recibir en la ranura de tiempo (o ranuras dependiendo de la tasa de transferencia de datos) que está/están indicadas como libres en TPSM.
Si el nodo destino encuentra una ranura (o ranuras) común en el mapa TPSM y RPSM, éste entonces revisará si se cumplen los requerimientos de QoS y retraso total para esta corriente de datos. Técnicas para revisar si se pueden cumplir los requerimientos QoS y de retraso total se describen a detalle a continuación. Si no se pueden cumplir los requerimientos QoS y de retraso total, un mensaje de Error de Exploración será enviado tal como se describe a continuación. Si se cumple con los requerimientos QoS, un mensaje de Respuesta de Exploración es enviado y el mensaje de Solicitud de Exploración será reenviado al siguiente salto hacia el destino. Antes de reenviar el mensaje de Solicitud de Exploración, se actualiza un número de campos en el mensaje de Solicitud de Exploración. Por ejemplo, el nodo intermedio anexa su TPSM modificado, actualiza la tasa de transferencia de datos del campo de nodo actual para reflejar la tasa de transferencia de datos entre ésta misma y el siguiente salto hacia el destino, y actualiza el retraso incurrido hasta ese momento (el cual es calculado con base en la ranura de tiempo propuesta por éste al nodo previo en el mensaje de Respuesta de Exploración) .
Mensaje de Respuesta de Exploración En el paso 1070, el siguiente nodo B de salto, también indica las ranuras seleccionadas en el mensaje de Respuesta de Exploración. Un nodo genera un mensaje de Respuesta de Exploración y lo envía al salto previo cuando un nodo intermedio puede encontrar ranuras necesarias las cuales son comunes en el TPSM de un nodo previo y su propio RPSM, y el retraso incurrido hasta ese momento es menor que el retraso máximo permisible. Un mensaje de Respuesta de Exploración es un mensaje de unidifusión (por ejemplo, no reenviado por el nodo de recepción) el cual tiene la información referente a las ranuras que han sido elegidas por el nodo intermedio para recibir datos. Un mensaje de Respuesta de Exploración puede incluir un número de corriente y un campo asignado de ranura. El número de corriente identifica de manera única el tráfico par de fuente destino. El campo asignado de ranuras indica el número de ranuras seleccionado para recepción por el siguiente salto (o transmisión para el salto previo) . El nodo que genera el mensaje de Respuesta de Exploración agrega una entrada en la SAT para este número de corriente y rellena los campos de Ranura AutoRx, salto Previo y hora de Vencimiento. El nodo que genera la Respuesta de Exploración marca AutoRx = 1 en su tabla LCM para las ranuras seleccionadas. Todos los nodos que escuchan el mensaje de Respuesta de Exploración (nodo de salto previo y nodos vecinos, para los cuales no estaba destinado este mensaje) , actualizan su tabla LCM haciendo NbrRx = 1 (en caso que no sea todavía 1) y agregan el nodo originador de la Respuesta de Exploración en la Lista NbrRx (en caso que todavía no esté presente) . El nodo de salto previo, después de recibir el mensaje de Respuesta de Exploración, agrega las ranuras asignadas para transmisión en la Tabla de Asignación de Ranura (SAT) y difunde un mensaje de reconocimiento de exploración (Rec Expl).
Mensaje de Reconocimiento de Exploración En el paso 1080, el nodo fuente A anuncia las ranuras elegidas en un mensaje de Reconocimiento de Exploración. El mensaje de reconocimiento de exploración (Rec Expl) es generado después de recibir y procesar el mensaje de Respuesta de Exploración. La transmisión del Reconocimiento de Exploración permite a los nodos vecinos actualizar el estado de ranura en sus tablas LCM locales. El mensaje de Reconocimiento de Exploración contiene los números de ranuras que este nodo estará utilizando para transmisión. El mensaje de Reconocimiento de Exploración contiene un campo de número de corriente el cual identifica de manera única el tráfico par de fuente destino, y un campo asignado de ranuras el cual especifica el número de ranuras seleccionadas para transmisión. El mensaje de Reconocimiento de Exploración es un mensaje de difusión y no es reenviado en forma adicional. El nodo que genera el mensaje de Reconocimiento de Exploración actualizará su AutoTx = 1 en su tabla LCM para las ranuras asignadas. Los nodos que reciben el mensaje de Reconocimiento de Exploración lo utilizan para actualizar su tabla LCM haciendo NbrTx = 1 (en caso que todavía no sea 1) y agregan al originador en la Lista NbrTx (en caso que todavía no esté presente) . Este intercambio de mensaje de tres vías (Solicitud de Exploración, Respuesta de Exploración y Reconocimiento de Exploración) completa la asignación de ranura en el nodo fuente A. Este intercambio también permite a los nodos vecinos actualizar la tabla LCM de acuerdo con las ranuras seleccionadas. El proceso (pasos 1030, 1070, 1080) se repite en todos los nodos intermedios .
Mensaje de Confirmación de Exploración En el paso 1090, el nodo destino Z envía un mensaje de Confirmación de Exploración el cual marca la terminación de la asignación extremo a extremo. Un mensaje de confirmación de exploración es un mensaje de unidifusión enviado por el nodo destino a su salto previo en caso que todos los nodos intermedios, incluyendo el nodo en si mismo, tengan las ranuras necesarias para cumplir con el requerimiento QoS de la corriente de datos. El mensaje de confirmación de exploración es reenviado al siguiente salto hacia el nodo fuente, pero sin el campo que contiene el número de ranura (el campo de número/números de ranura es utilizado únicamente por el nodo destino para guardar un mensaje de Respuesta de Exploración) . El mensaje de Confirmación de Exploración incluye el número de ranura (o números de ranuras) sobre la cual éste recibirá los datos desde el salto previo. El nodo que genera el mensaje de confirmación de exploración actualiza su AutoRx = 1 para las ranuras asignadas en su tabla LC . Todos los nodos (salto previo y otros nodos vecinos para los cuales no estaba destinado el mensaje) que escuchan el mensaje de confirmación de exploración, actualizan su tabla LCM haciendo NbrRx = 1 (en caso que todavía no sea 1) y agregan el nodo originador en la Lista NbrRx (en caso que todavía no esté presente) .
Error de Exploración Un mensaje de Error de Exploración es generado en un número de diferentes casos. Por ejemplo, un mensaje de Error de Exploración es generado en caso que ninguna o un número insuficiente de ranuras comunes se encuentren entre el TPSM del nodo de transmisión y el RPSM del nodo de recepción. Un mensaje de Error de Exploración también es generado en caso que el retraso total incurrido sea más que el máximo permitido para la corriente de datos. Un mensaje de Error de Exploración también es generado cuando vence una Entrada de la Tabla de Ranura. El mensaje de Error de Exploración es generado por el nodo que detecta alguna de las condiciones anteriores (Nodo de Detección de Error) . Todos los nodos que reciben el mensaje de Error de Exploración restablecen el estado de las ranuras en el LCM para que estén libres, las cuales estaban reservadas para el número de corriente particular indicado en el mensaje. El mensaje de Error de Exploración puede ser enviado con dirección de difusión o unidifusión. El mensaje de Error de Exploración contiene un número de ranura válido o inválido, el número de corriente, los números de ranura y campos de tipo de error . Cuando un nodo no asigna una ranura de tiempo o el retraso total aumenta el retraso máximo durante el proceso de asignación de ranura, éste envía un mensaje de Error de Exploración inverso de unidifusión (para el salto previo hacia el nodo fuente) con número de ranura Inválido. El nodo de salto previo lo procesará removiendo la entrada de tabla de exploración para este número de corriente y liberando la ranura. En seguida reenviará el mensaje de Error de Exploración en la dirección hacia el nodo fuente. Cuando este mensaje de Error de Exploración llega al nodo fuente, éste difundirá un mensaje de Error de Exploración para indicar a los vecinos respecto a que la ranura va a quedar libre. Cada asignación de ranura tiene una hora de vencimiento. Con cada transmisión/recepción de paquete de datos, se actualiza el temporizador de vencimiento. Si la ranura no es utilizada durante un periodo de tiempo determinado, ésta se considera no utilizada y necesita ser liberada. En caso de vencimiento de ranura, el nodo difunde un mensaje de Error de Exploración enlistando las ranuras vencidas. Este mensaje de Error de Exploración es procesado por todos los nodos vecinos y no es reenviado en forma adicional. Los nodos vecinos liberan las ranuras indicadas en el mensaje de Error de Exploración.
Método de Asignación de Ranuras de Tiempo Ejemplar La figura 11 es un diagrama de flujo que muestra un método ejemplar 1100 para determinar la asignación de ranura de tiempo a lo largo de una ruta para una comunicación entre un nodo fuente y un nodo destino en una red de múltiple salto ad hoc de acuerdo con algunas modalidades de la invención. La ruta puede comprender (pero no necesariamente necesita incluir) por lo menos un nodo intermedio a lo largo de la ruta entre el nodo fuente y el nodo destino. En el paso 1110, cuando el nodo fuente intenta comunicar una corriente de datos determinada a un nodo destino en la red, un módulo de enrutamiento proporciona una ruta al nodo destino pero no garantizará la disponibilidad de las ranuras. Para descubrir si la ruta determinada tiene suficientes ranuras para acomodar los requerimientos QoS de la corriente de datos particular, el nodo explora la ruta en busca de ranuras. Por ejemplo, después de recibir la ruta (el siguiente salto) desde el módulo de enrutamiento para el nodo destino deseado, en el paso 1120, el nodo fuente selecciona el nodo de siguiente salto a lo largo de la ruta. En el paso 1130, el nodo fuente genera y envía un Mensaje de Solicitud de Exploración (SRM) al nodo de siguiente salto hacia la dirección. El SRM contiene el mapa de las ranuras que están disponibles en el nodo fuente. El nodo fuente envía el SRM al nodo de siguiente salto para solicitar que el nodo de siguiente salto asigne ranuras de tiempo para la transmisión de una corriente de datos particular. El SRM puede comprender un paquete que comprenda un número de corriente, una dirección MAC fuente, una dirección MAC destino y requerimientos QoS para transmitir la corriente de datos particular . El número de corriente se puede utilizar para reservar las ranuras. La dirección MAC fuente es la dirección MAC del nodo que inicia el paquete de Solicitud de Exploración. La dirección MAC destino es la dirección MAC del destino final de la corriente de datos para la cual se necesitan reservar ranuras de tiempo. Los requerimientos QoS pueden comprender, por ejemplo, por lo menos uno de una pluralidad de campos para la corriente de datos. La pluralidad de campos puede comprender, por ejemplo, un campo de tasa de transferencia de datos mínima, un campo de retraso máximo, un campo de fluctuación y un campo de retraso total incurrido. El campo de tasa de transferencia de datos mínima comprende la tasa de transferencia de datos que se necesita mantener en los nodos intermedios para satisfacer el requerimiento QoS de la corriente de datos particular. Este valor puede ser transmitido tal como está (por ejemplo, en kbps) o puede ser convertido en un número de ranuras de tiempo que se requiere por cuadro a una tasa de transferencia de datos determinada. El campo de retraso máximo comprende el retraso máximo que pueden sostener los paquetes de esta corriente de datos, mientras atraviesan la ruta y seguir manteniendo el requerimiento QoS. Este valor puede ser transmitido tal como está (por ejemplo, en milisegundos ) o puede ser convertido en número de cuadros o ranuras. El campo de retraso total incurrido indica un retraso total incurrido (hasta ese momento) , y puede ser actualizado en cada nodo intermedio . El SRM también puede comprender información tal como el Mapa de Ranura Posible de Transmisión (TPSM) para el nodo actual, tasa de transferencia de datos del nodo actual (por ejemplo, tasa de transferencia de datos que será utilizada por éste para establecer comunicación con el siguiente salto) y retraso incurrido hasta ese momento. (Este valor puede ser transmitido tal como está o puede ser convertido en número de ranuras de tiempo por cuadro que serán ocupadas por el nodo fuente para adherirse al requerimiento QoS). El retraso incurrido hasta ese momento puede ser inicializado a cero por el nodo fuente y será actualizado por todos los nodos intermedios para reflejar el retraso total en el que incurrirá un cuadro de datos al llegar al nodo actual en caso que se seleccione la ruta actual. El SRM será reenviado tal como está por los nodos intermedios, y puede ser modificado por cada nodo intermedio antes de su reenvió al siguiente salto.
En el paso 1140, al momento de recibir el SRM, el nodo de siguiente salto determina si éste puede asignar ranuras de tiempo de manera que pueda cumplir con los requerimientos QoS para transmitir la corriente de datos particular. El nodo de siguiente salto puede hacer esta determinación con base en un análisis por lo menos de uno de los campos en el SRM. Por ejemplo, el nodo de siguiente salto puede hacer esta determinación ejecutando cualquiera de un número de revisiones que se describen a continuación. Si el nodo de siguiente salto determina que éste no puede asignar ranuras de tiempo de manera que se cumplan los requerimientos QoS para transmitir la corriente de datos particular, entonces en el paso 1150, el nodo de siguiente salto puede transmitir un Mensaje de Error de Exploración (SEM) hacia el nodo fuente. Por ejemplo, el nodo de siguiente salto puede generar el SEM si (a) existe un número insuficiente de ranuras comunes entre el TPSM del nodo de transmisión y el RPSM del nodo de recepción, o (b) el retraso total incurrido es mayor que el requerimiento de retraso máximo permitido para la corriente de datos. El nodo de detección de error difunde el mensaje de Error de Exploración al siguiente salto hacia el nodo fuente. El SEM puede incluir una etiqueta habilitada de "exploración_fallida" . El nodo fuente entonces necesita enviar un nuevo mensaje de Solicitud de Exploración a lo largo de una ruta diferente (en caso que esté presente) . En el paso 1155, cada nodo que recibe el SE desde el nodo de siguiente salto puede restablecer el estado de las ranuras (indicado en el SEM como reservado para el número de corriente particular) en el LCM como "Libre". Si el nodo de siguiente salto determina que puede asignar ranuras de tiempo de manera que se puedan satisfacer los requerimientos QoS para transmitir la corriente de datos particular, entonces en el paso 1160, el nodo de siguiente salto (por ejemplo, el primer nodo intermedio) compara ranuras sobre las cuales puede recibir con ranuras especificadas en el SRM (ya que está disponible al nodo fuente) , y puede entonces seleccionar o elegir las ranuras apropiadas para asignar la transmisión de la corriente de datos particular. Por ejemplo, en una red lineal que comprende los nodos A-D, en donde el nodo A es el nodo fuente y el nodo D es el nodo destino, si la tasa de transferencia de datos entre el nodo B y el nodo C es X Mb por segundo, y la tasa de transferencia de datos entre el nodo C y el nodo D es 2X Mb por segundo, entonces el nodo B requeriría dos veces el número de ranuras de tiempo que el nodo C. Si todas las "revisiones" son exitosas (por ejemplo, los requerimientos QoS pueden ser satisfechos por el nodo de siguiente salto) , entonces en el paso 1165, el nodo de siguiente salto puede generar y transmitir un mensaje de respuesta de exploración, por ejemplo, cuando el nodo de siguiente salto (u otro nodo intermedio) determina las ranuras que son comunes en el TPSM del nodo previo y su propio RPS , y el retraso incurrido hasta ese momento es menor que el máximo permitido especificado en el SRM. El mensaje de Respuesta de Exploración incluye las ranuras de tiempo seleccionadas designadas para transmitir la corriente de datos particular. El mensaje de Respuesta de Exploración puede ser un mensaje de unidifusión enviado al salto previo y no es reenviado por el nodo de recepción. Éste tiene la información referente a las ranuras que han sido elegidas por el nodo intermedio para recibir datos. Al momento de recibir el mensaje de Respuesta de Exploración, un nodo marca el campo AutoTx de la ranura correspondiente en el LCM como 1 con un temporizador que cambiará el valor de regreso a 0 en caso que un mensaje de Confirmación de Exploración no sea recibido dentro del periodo EXPLORACION_TIEMPO LIMITE. El SRM también puede ser reenviado al siguiente salto hacia el nodo destino. En el paso 1167, el nodo fuente (el cual anteriormente envió el mensaje de Solicitud de Exploración al momento de recibir un mensaje de Respuesta de Exploración) transmite un mensaje de Reconocimiento de Exploración para anunciar las ranuras elegidas a los nodos vecinos en su rango de transmisión. El mensaje de Reconocimiento de Exploración contiene un número de corrientes de datos y ranuras elegidas para transmisión. Éste anuncia las ranuras seleccionadas de manera que los nodos vecinos puedan actualizar el estado de ranuras. Este intercambio de mensaje de tres vias (Solicitud de Exploración, Respuesta de Exploración y Reconocimiento de Exploración) entre un par de nodos completa la asignación de ranuras entre los mismos. El proceso se repite entre todos los nodos en la ruta. En el paso 1170, el nodo de siguiente salto puede determinar si es el nodo destino. Si el nodo de siguiente salto determina que no es el nodo destino, entonces el proceso regresa al paso 1120 en donde se selecciona un nuevo nodo de siguiente salto. Este regreso permite que los pasos 1120-1185 sean repetidos en cada uno de los nodos intermedios hasta que se llega al nodo destino. En el paso 1185, el nodo de siguiente salto puede actualizar el SRM, antes de reenviar el SRM. Las actualizaciones del nodo de siguiente salto pueden hacer que el SRM comprenda, por ejemplo, anexar su TPSM modificado, actualizar la tasa de transferencia de datos del campo de nodo actual para reflejar la tasa de transferencia de datos entre el nodo de siguiente salto y el nuevo salto siguiente hacia el destino, actualizar el campo de retraso incurrido hasta ese momento incluyendo el retraso que se calcula con base en la ranura de tiempo propuesta por el nodo previo en el mensaje de Respuesta de Exploración, y agregar la dirección MAC del salto previo junto con el número de ranura de tiempo en donde tiene programado transmitir. Una vez que se determina que el nodo de siguiente salto es el nodo destino (Sí en el paso 1180), entonces en el paso 1190, el nodo destino puede transmitir un Mensaje de Confirmación de Exploración (SCM) . El nodo destino envía el SCM si cada uno de los nodos intermedios a lo largo de la ruta, incluyendo el nodo destino, tienen las ranuras necesarias disponibles para cumplir con el requerimiento QoS de la corriente de datos. El SCM puede ser un mensaje de unidifusión enviado por el nodo destino a su salto previo. El SCM puede incluir el número de ranura o números de ranura en las cuales el nodo destino recibirá los datos provenientes del salto previo. El salto previo, al momento de recibir el SCM, actualiza la tabla LCM. El SCM entonces será reenviado al siguiente salto hacia el nodo fuente, pero sin el campo que contiene el número de ranura.
La figura 12 es un diagrama de flujo que muestra un método ejemplar 1200 para determinar la asignación de ranura de tiempo a lo largo de una ruta para una comunicación entre un nodo fuente y un nodo destino en una red de múltiple salto ad hoc de acuerdo con algunas modalidades de la invención. El método 1200 es similar a aquél que se muestra en la figura 11, pero reduce el número de mensaje de Respuesta de Exploración que no será transmitido por el nodo destino de acuerdo con esta modalidad. En la figura 12, los pasos 1210 a 1260 son los mismos que los pasos 1110 a 1160 en la figura 11, y para propósitos de claridad, no se repetirán una vez más. Si todas las "revisiones" son exitosas en el paso 1240 (por ejemplo, los requerimientos QoS pueden ser cumplidos por el nodo de siguiente salto) y primeras ranuras de tiempo particulares han sido seleccionadas en el paso 1260, entonces en el paso 1270, el nodo de siguiente salto puede determinar si es el nodo destino. Si el nodo de siguiente salto determina que no es el nodo destino, entonces en el paso 1280, el nodo de siguiente salto puede generar y transmitir un mensaje de Respuesta de Exploración. El nodo de siguiente salto (u otro nodo intermedio) puede determinar las ranuras de tiempo que son comunes en TPSM del nodo previo y su propio RPSM, y determina si el retraso incurrido hasta ese momento es menor que el máximo permitido especificado en el SRM, y en caso de ser asi, entonces el nodo de siguiente salto enviará el mensaje de Respuesta de Exploración al salto previo. La información adicional referente al mensaje de Respuesta de Exploración se describió anteriormente con referencia al paso 1165 de la figura 11, y para propósitos de brevedad no se repetirá una vez más. En el paso 1283, el nodo fuente difunde un mensaje de Reconocimiento de Exploración para anunciar las ranuras elegidas a sus nodos vecinos. En el paso 1285, el nodo de siguiente salto puede actualizar el SRM, antes de reenviar el SRM. Las actualizaciones del nodo de siguiente salto pueden hacer que el SRM comprenda, por ejemplo, anexar su TPSM modificado, actualizar la tasa de transferencia de datos del campo de nodo actual para reflejar la tasa de transferencia de datos entre el nodo de siguiente salto y el nuevo salto siguiente hacia el destino, actualizar el campo de retraso incurrido hasta ese momento, incluyendo el retraso que se calcula con base en la ranura de tiempo propuesta por el nodo previo en el mensaje de Respuesta de Exploración, y agregar la dirección MAC del salto previo junto con el número de ranura de tiempo en donde se programó para transmitir. El proceso regresa al paso 1220 en donde se selecciona un nuevo nodo de salto siguiente. Este regreso permite que el proceso 1220-1299 sea repetido en cada uno de los nodos intermedios hasta que se llega al nodo destino. Una vez que se determina que el nodo de siguiente salto es el nodo destino (Si en el paso 1280), entonces en el paso 1290, el nodo destino puede transmitir un Mensaje de Confirmación de Exploración (SCM) , en lugar del mensaje de Respuesta de Exploración (enviado por los nodos intermedios) . El envío del mensaje de Confirmación de Exploración en lugar del mensaje de Respuesta de Exploración por el nodo destino reduce el número de mensajes enviados por uno. En otras palabras, cuando un nodo encuentra que es el nodo destino, éste enviará la Confirmación de Exploración en lugar de la Respuesta de Exploración ahorrando así un mensaje de Respuesta de Exploración en contraste con la figura 11, ya que en la figura 11 cada nodo, incluyendo el nodo destino, envía un mensaje de Respuesta de Exploración, y el nodo destino en forma adicional enviará la Confirmación de Exploración. El nodo destino envía el SCM en caso que cada uno de los nodos intermedios a lo largo de la ruta, incluyendo el nodo destino, tenga las ranuras necesarias disponibles para cumplir con el requerimiento QoS de la corriente de datos. El SCM puede ser un mensaje de unidifusión enviado por el nodo destino a su salto previo. El SCM puede incluir el número de ranura o números de ranura sobre las cuales el nodo destino recibirá los datos desde el salto previo. El salto previo, al momento de recibir el SCM, actualiza la tabla LCM. El SCM entonces será reenviado al siguiente salto hacia el nodo fuente, pero sin el campo que contiene el número de ranura. (El campo de número/números de ranura es utilizado únicamente por el nodo destino para ahorrar un mensaje de Respuesta de Exploración) . En el paso 1296, el primer nodo hacia la fuente (salto previo) envía un Reconocimiento de Exploración para reconocer la recepción del SCM. En el paso 1297, el nodo actual determina si es el nodo fuente. Si el nodo actual no es el nodo fuente, entonces en el paso 1298, el nodo actual reenvía el Mensaje de Confirmación de Exploración hacia el nodo fuente. En otras palabras, el nodo de salto previo envía el Reconocimiento de Exploración y reenvía la Confirmación de Exploración hacia la fuente. Todos los otros nodos seguirán reenviando esta Confirmación de Exploración hacia la fuente; sin embargo, no continúan enviando un Reconocimiento de Exploración. El proceso 1200 finaliza en el paso 1299. Si el nodo actual es el nodo fuente, entonces la programación se completa cuando la Confirmación de Exploración llega al nodo fuente y el proceso 1200 finaliza en el paso 1299.
Técnicas para Determinar si un Nodo de Siguiente Salto puede Cumplir con los Requerimientos QoS Tal como se observó anteriormente en los pasos 1140 y 1240, el nodo de siguiente salto puede determinar si éste puede asignar ranuras de tiempo en una manera de forma que pueda cumplir con los requerimientos QoS para transmitir la corriente de datos particular. El nodo de siguiente salto puede hacer esta determinación con base en un análisis por lo menos de uno de los campos en el SR . Ahora se describirán técnicas por medio de las cuales se puede determinar un siguiente nodo de salto, al momento de recibir un Mensaje de Solicitud de Exploración, en caso que el nodo de siguiente salto pueda cumplir con los requerimientos QoS para transmitir una corriente de datos particular. Cuando el nodo de siguiente salto recibe un mensaje de Solicitud de Exploración (SRM), el nodo de siguiente salto puede entonces determinar si el nodo de siguiente salto puede cumplir con los requerimientos QoS para transmitir la corriente de datos particular mediante la ejecución de un conjunto de revisiones tal como se describe a continuación. Por ejemplo, el nodo de siguiente salto puede comparar el mapa TPSM enviado por el salto previo al RPSM local del nodo de siguiente salto y puede determinar si el nodo de siguiente salto puede recibir una ranura de tiempo la cual queda indicada como libre en TPSM del nodo de salto previo. Si el nodo de siguiente salto puede determinar ranuras comunes en el TPSM del nodo de salto previo y RPSM del nodo de siguiente salto, entonces el nodo de siguiente salto puede ejecutar la siguiente revisión. De otra forma, el nodo de siguiente salto puede transmitir un mensaje de Error de Exploración (SEM) . En la siguiente revisión, el nodo de siguiente salto puede entonces calcular el retraso total en el que se incurrirá en caso que las ranuras elegidas previamente en realidad sean seleccionadas. A continuación, el nodo de siguiente salto puede determinar si el retraso total es menor que el retraso máximo indicado en el mensaje de Solicitud de Exploración (SRM) . En caso de ser asi, entonces el nodo de siguiente salto realizará la siguiente revisión. De otra forma, el nodo de siguiente salto intermedio transmitirá un mensaje de Error de Exploración (SEM). En la siguiente revisión, el nodo de siguiente salto entonces revisará si es el destino final o un nodo intermedio . Si el nodo de siguiente salto no es el destino final, entonces el nodo de siguiente salto revisa la tasa de transferencia de datos para el siguiente salto siguiente hacia el destino y también revisa el mapa TPS local (modificado con base en las ranuras ya elegidas) . Con base en las revisiones, el nodo de siguiente salto puede determinar si su siguiente salto tiene suficientes ranuras para cumplir con la tasa de transferencia de datos mínima indicada en el mensaje de Solicitud de Exploración (SRM) . Si el nodo de siguiente salto no es el destino final (es decir, un nodo intermedio) , al revisar el mapa TPSM modificado y la tasa de transferencia de datos entre éste mismo y el siguiente salto hacia el destino, éste puede determinar si tiene suficientes ranuras libres para soportar la tasa de transferencia de datos mínima para su transmisión a su siguiente salto hacia el destino. Si se encuentran suficientes ranuras para cumplir con el requerimiento, entonces, el nodo de siguiente salto enviará un mensaje de Respuesta de Exploración al nodo de salto previo tal como se describió anteriormente. De otra forma, el nodo de siguiente salto transmitirá un mensaje de Error de Exploración (SEM) .
Interferencia de Ranura de Tiempo En algunos casos, a dos nodos se les puede asignar las mismas ranuras de tiempo para transmisión en caso que sus transmisiones no estén interfiriendo (reutilización espacial) . Debido a la movilidad, estos nodos más adelante se pueden mover hacia el rango de transmisión del otro ocasionando interferencia, y los datos enviados en esta ranura pueden chocar y se pueden perder en el receptor. Un ejemplo de la manera en que esto puede suceder se describirá con referencia a la figura 13. La figura 13 es un diagrama de flujo de mensajes 1300 que muestra un escenario de interferencia de ranura ejemplar. Para ilustrar un escenario de interferencia de ranura ejemplar, la figura 13 muestra dos rutas que llevan una primera corriente de datos (CORRIENTE 1) desde un nodo fuente A a un nodo destino E, y una segunda corriente de datos (CORRIENTE 2) desde un nodo fuente W a un nodo destino Z. La primera ruta incluye el nodo fuente A, los nodos intermedios B-D, y el nodo destino E. El enlace entre el nodo A y el nodo B utiliza la ranura 2 para llevar la primera corriente de datos (CORRIENTE 1) , el enlace entre el nodo B y el nodo C utiliza la ranura 3 para llevar la primera corriente de datos (CORRIENTE 1), el enlace entre el nodo C y el nodo D utiliza la ranura 4 para llevar la primera corriente de datos (CORRIENTE 1), y el enlace entre el nodo D y el nodo E utiliza la ranura 5 para llevar la primera corriente de datos (CORRIENTE 1) . En la figura 13, los nodos A-E que llevan la corriente 1 y los nodos -Z que llevan la corriente 2 inicialmente están utilizando la Ranura 3 (en el enlace entre el nodo B al nodo C, y en el enlace entre el nodo Y al nodo Z ) . La segunda ruta incluye el nodo fuente W, los nodos intermedios X, Y, y el nodo destino Z. El enlace entre el nodo W y el nodo X utiliza la ranura 1 para llevar la segunda corriente de datos (CORRIENTE 2), el enlace entre el nodo X y el nodo Y utiliza la ranura 6 para llevar la segunda corriente de datos (CORRIENTE 2), y el enlace entre el nodo Y y el nodo Z utiliza la ranura 3 para llevar la segunda corriente de datos (CORRIENTE 2) . En la figura 13, en un primer instante de tiempo (en donde todos los nodos son representados utilizando circuios de linea sólida) , los nodos B y C que llevan la primera corriente de datos (CORRIENTE 1) y los nodos Y y Z que llevan la segunda corriente de datos (CORRIENTE 2) inicialmente están utilizando la ranura de tiempo 3 (en el enlace entre el nodo B al nodo C, y en el enlace entre el nodo Y al nodo Z) . En el primer instante de tiempo, los nodos A-E que llevan la corriente 1 están fuera del rango de comunicación de los nodos -Z que llevan la corriente 2. Debido a que los nodos A-E que llevan la corriente 1 están fuera del rango de comunicación de los nodos W-Z que llevan la corriente 2, este esquema de asignación funciona bien (por ejemplo, no hay problemas de interferencia de ranura) . Sin embargo, en el segundo instante de tiempo (en donde los nodos Y y Z son representados utilizando circuios con lineas discontinuas), los nodos Y, Z (que llevan la segunda corriente de datos (CORRIENTE 2)) se reubican (tal como lo indican las flechas con lineas punteadas) de manera que los nodos Y, Z ahora están dentro del rango de comunicación de los nodos B, C que llevan la corriente 1, la interferencia de ranura de tiempo puede ocurrir en la ranura de tiempo 3. Por ejemplo, los paquetes de datos provenientes del nodo B y el nodo Y chocarán en el nodo C y/o nodo Z.
Perspectiva General: Detección y Recuperación de Interferencia de Ranura de Tiempo Se proporcionan técnicas para detectar y resolver interferencia de ranura de tiempo. La interferencia de ranura puede ser detectada ya sea en un nodo de transmisor o nodo de receptor. Por ejemplo, en el ejemplo que se muestra en la figura 14, ya sea el nodo de transmisor (nodo B o nodo Y) o nodo de receptor {nodo C o nodo Z) puede detectar esta interferencia. Una vez que se detecta la interferencia de ranura, se proporcionan técnicas para liberar las ranuras utilizadas por los nodos a lo largo de la ruta entre el nodo fuente y el nodo destino, y reasignar ranuras renovadas que están libres de interferencia. La figura 14 es un diagrama de flujo que muestra un método ejemplar 1400 para la detección y recuperación de interferencia de ranura de acuerdo con algunas modalidades de la invención. En el paso 1410, un nodo que recibe en una ranura de tiempo particular, puede detectar interferencia de ranura de tiempo (por ejemplo, que la ranura particular que fue asignada para recepción está en interferencia) . El nodo puede detectar la interferencia de ranura de tiempo de acuerdo con un número de diferentes técnicas, algunas de las cuales se describen a continuación . En el paso 1420, al momento de detectar la interferencia de ranura de tiempo, el nodo puede marcar el estado de la ranura de tiempo como interferido, y transmitir el mensaje de interferencia de ranura en ambas direcciones (un mensaje de Interferencia de Ranura inversa hacia el nodo fuente y un mensaje de Interferencia de Ranura de avance hacia el nodo destino) . Esta ranura de tiempo no será utilizada en asignaciones futuras por cierto tiempo. En el paso 1430, los nodos que reciben el mensaje de Interferencia de Ranura marcan las ranuras de tiempo asignadas como libres.
Técnicas de Detección de Interferencia de Ranura Tal como se observó anteriormente, en el paso 1410, ya sea el nodo de receptor o el nodo de transmisor puede detectar conflictos de asignación de ranura o "interferencia" en las ranuras de tiempo utilizando un número de técnicas. Unas cuantas técnicas ejemplares se describirán a continuación.
Técnicas de Detección de Interferencia de Ranura en un Nodo de Transmisor En una ejecución, un nodo de transmisor puede detectar interferencia de ranura mediante la detección de un número (por ejemplo, tres) de paquetes perdidos consecutivos en la misma ranura de tiempo. En esta ejecución, cada nodo mantiene un conteo de colisión para su ranura de tiempo. Esta información es almacenada en la SAT como la entrada de tabla de exploración. Cada paquete de datos enviado en TDCH requiere reconocimiento de ranura (señal para notificar la recepción correcta del paquete dentro de la misma ranura de tiempo) para el conteo de colisiones consecutivas, pero no la retransmisión en el caso de colisión. Con cada transmisión de paquete de datos exitosa, el conteo de colisión se restablecerá a cero. Cuando un número determinado de colisiones consecutivas se detecta en la misma ranura de tiempo, el nodo de transmisor anunciará interferencia en esta ranura de tiempo, y después iniciará la recuperación de interferencia. En una ejecución alternativa, un nodo de transmisor puede detectar interferencia de ranura midiendo la velocidad de terminación de paquete promedio en una ranura de tiempo particular (por ejemplo, utilizando los últimos 10 paquetes de información enviada) . Cada nodo mantiene una velocidad de terminación de paquete promedio para sus ranuras de tiempo individuales. En la ejecución previa, si a dos nodos se les asigna la misma ranura de tiempo pero están transmitiendo con diferente velocidad de inter-llegada de paquete, pudiera no ser necesario que tres paquetes consecutivos chocaran (por ejemplo, ocasionalmente entonces chocarán los paquetes). Para detectar la interferencia de ranura de tiempo en esos casos, un nodo puede mantener la velocidad de terminación de paquete promedio por un cierto número de paquetes (por ejemplo, los últimos 10 paquetes) enviados en una ranura de tiempo particular. Si el valor de la velocidad de terminación de paquete promedio cae por debajo de un umbral, el nodo fuente/transmisor puede declarar la interferencia de ranura . En una ejecución alterna, el nodo de transmisor puede detectar la interferencia de ranura en caso que reciba un mensaje de saludo indicando que más de uno de sus vecinos está recibiendo en la misma ranura de tiempo conforme éste está transmitiendo y debido a que la corriente de datos no está destinada para multidifusión . En una ejecución alterna, el nodo de transmisor puede detectar interferencia de ranura en caso que reciba un mensaje de saludo indicando que uno de los vecinos está recibiendo en una ranura de tiempo y que el vecino no está en la lista de destinos pretendidos cuando la corriente de datos está destinada para multidifusión .
Técnicas de Detección de Interferencia de Ranura en un Nodo de Receptor En una ejecución, un nodo de receptor puede detectar interferencia de ranura recibiendo un número determinado (por ejemplo, tres) de paquetes en error consecutivos. A un nodo se le asignan diferentes ranuras en un cuadro para transmisión (TX) y recepción (RX) . El nodo puede permanecer inactivo a través de otros tiempos y despertar durante sus ranuras TX y RX. Si un nodo recibe energía en una ranura asignada para recepción (por ejemplo, éste puede sincronizar una señal pero no puede decodificar el paquete correctamente) , esto significa que ha ocurrido una colisión en esta ranura. Después de un número determinado (por ejemplo, tres) de colisiones consecutivas, el nodo de receptor declara la interferencia de ranura y ejecuta la recuperación tal como se describe a continuación. En una ejecución alterna, el nodo de receptor puede detectar interferencia de ranura cuando recibe un mensaje de saludo desde un vecino y concluye que más de uno de sus vecinos está transmitiendo en la misma ranura de tiempo sobre la cual está recibiendo. Para las ranuras de tiempo sobre las cuales está recibiendo un nodo, éste mantiene la información del nodo vecino que está transmitiendo a éste (hacer referencia a los campos SAT) . Cuando el nodo actual recibe un mensaje de saludo desde un vecino indicando que éste está transmitiendo en la misma ranura de tiempo conforme este nodo está recibiendo, el nodo actual comparará a este vecino (originador del mensaje de saludo) con su transmisor pretendido (fuente de la corriente) . Si estos nodos son diferentes, el nodo actual concluirá que éste está recibiendo desde más de una transmisión en la misma ranura de tiempo y declara la interferencia de ranura.
Recuperación de Interferencia de Ranura Cuando se detecta la interferencia de ranura, el nodo de detección envía un mensaje de Interferencia de Ranura, un mensaje de Interferencia de Ranura inversa (hacia el nodo fuente) y un mensaje de Interferencia de Ranura de avance (hacia el nodo destino) . Estos mensajes de interferencia serán procesados utilizando el procesamiento de interferencia por ranura y reenviados en sus direcciones respectivas para resolver la interferencia de ranura. La figura 15 es un diagrama de flujo 1500 que muestra un método ejemplar para el procesamiento de información de interferencia de ranura de acuerdo con algunas modalidades de la invención. Un nodo que recibe un mensaje de Interferencia de Ranura puede procesarlo (dependiendo de la información contenida en el mensaje) utilizando las técnicas que se describen a continuación. El mensaje de Interferencia de Ranura puede comprender un número de ranura que se está utilizando para la transmisión para una corriente de datos, una ID de corriente y una indicación respecto a si el mensaje de Interferencia de Ranura es un mensaje de Interferencia de Ranura inversa o de avance. Cuando un nodo recibe un mensaje de Interferencia de Ranura, éste lo procesa y actualiza sus entradas de tabla LCM (NbrTx, NbrRx, AutoTx y AutoRx) . El proceso inicia en el paso 1510, en donde el nodo determina si el número de ranura en el mensaje de Interferencia de Ranura es válido. (Nota: el número de ranura será inválido en caso que el mensaje de Interferencia de Ranura sea generado por el nodo destino ya que no utiliza alguna ranura para transmisión y únicamente para recepción) . Si el nodo determina que el número de ranura es válido, entonces el proceso avanza al paso 1512, en donde el nodo remueve este Nbr (el originador del mensaje de Interferencia de Ranura) de la Lista NbrTX, y actualiza el NbrTX. Si ninguno de los vecinos se deja en la lista NbrTX, NbrTx se establece a 0. El proceso entonces avanza al paso 1514 en donde el nodo determina si estaba recibiendo desde este vecino (Nbr) . En caso de ser asi, éste marca la ranura utilizada para recepción como libre haciendo AutoRX igual a cero. El proceso entonces avanza al paso 1516 en donde el nodo actualiza el TPSM/RPSM, es decir, actualiza el estado de cada ranura para reflejar la disponibilidad actual de transmisión/recepción. Después avanza al paso 1520, en donde el nodo determina si el mensaje de Interferencia de Ranura está destinado para el nodo. Si el nodo determina que el número de ranura es inválido, entonces el proceso avanza al paso 1520, en donde el nodo determina si el mensaje de Interferencia de Ranura está destinado para el nodo. Si el mensaje de Interferencia de Ranura no está destinado para el nodo, entonces el nodo descarta el mensaje de Interferencia de Ranura en el paso 1530. Si el mensaje de Interferencia de Ranura está destinado para el nodo, el nodo envía un Reconocimiento de ranura en el que reconoce la recepción del mensaje de Interferencia de Ranura en el paso 1542, y obtiene el número de corriente de la corriente de datos a partir del mensaje de Interferencia de Ranura en el paso 1544. En el paso 1546, el nodo libera las ranuras utilizadas por éste para este número de corriente (nota: el número de corriente es utilizado para buscar en la tabla de Asignación de Ranura la cual mantiene todas las ranuras asignadas para cada corriente de datos única) . El nodo establece AutoTX igual a 0 y en el paso 1548, el nodo remueve el nodo de receptor (de su transmisión) de la lista NbrRX, y actualiza el TPSM/RPSM en el paso 1550.
El proceso entonces avanza al paso 1560 en donde el nodo determina si el mensaje de Interferencia de Ranura es un mensaje de Interferencia de Ranura inversa. Si el nodo determina que el mensaje de Interferencia de Ranura es un mensaje de Interferencia de Ranura inversa, entonces en el paso 1570, el nodo envía un mensaje de Interferencia de Ranura inversa hacia el nodo fuente. En contraste, si el nodo determina que el mensaje de Interferencia de Ranura no es un mensaje de Interferencia de Ranura inversa (es decir, es un mensaje de Interferencia de Ranura de avance), entonces en el paso 1580, el nodo envía un mensaje de Interferencia de Ranura de avance hacia el nodo destino.
Opciones de Recuperación de Interferencia de Ranura La recuperación de interferencia de ranura se puede realizar, por ejemplo, ejecutando una completa recuperación o una recuperación local. Una completa recuperación involucra la remoción de la asignación de ranura actual a través de toda la trayectoria entre el nodo fuente y destino y reprogramar las ranuras renovadas para comunicación. Una recuperación local involucra reparar localmente las ranuras interferidas, es decir, liberar únicamente la ranura interferida y reprogramar nuevas ranuras. Estas opciones de recuperación de interferencia de ranura se describirán ahora con mayor detalle .
Plena Recuperación En una plena recuperación, un nodo que detecta interferencia marcará el estado de la ranura interferida como "Interferida" y envía mensajes de Interferencia de Ranura en ambas direcciones (por ejemplo, hacia el nodo fuente y nodo destino) . El mensaje de interferencia de ranura se desplazará hacia el nodo fuente y destino y limpiará todas las ranuras que estén siendo utilizadas a lo largo de la ruta completa. El nodo fuente iniciará un nuevo proceso de asignación de ranura en esta ruta (manteniendo el contexto de la ranura interferida) . Si la interferencia fue detectada por el nodo de transmisor, el nodo de transmisor borra el AutoTX para el número de ranura utilizado para transmisión (TX) , establece el estado del número de ranura como interferido (este estado puede ser borrado después de un periodo de tiempo corto) para evitar la reutilización de la misma ranura, remueve el nodo destino que estaba recibiendo en esta ranura de la lista NbrRX (establecer NbrRx a 0 en caso que no haya más Nbr en la lista NbrRx) , envía un mensaje de Interferencia de Ranura inversa (unidifusión a la dirección de salto previo hacia el nodo fuente) , envía un mensaje de Interferencia de Ranura de avance (unidifusión a siguiente dirección de salto hacia el nodo destino) , y remueve la entrada de tabla de exploración para este número de corriente. Los nodos que reciben el mensaje de Interferencia de Ranura liberarán la ranura mencionada en el paquete y crearán interferencia de ranura de avance o inversa (dependiendo del tipo de paquete de interferencia de ranura recibido) . El mensaje de Interferencia de Ranura será reenviado hacia el nodo fuente y el nodo destino de la corriente. Cada nodo que recibe el mensaje de Interferencia de Ranura liberará sus ranuras utilizadas para esta corriente. El nodo fuente entonces iniciará un proceso de solicitud de exploración renovado (Solicitud de Exploración sin Etiqueta de Recuperación Local) . Si la interferencia de ranura fue detectada por el nodo de receptor, entonces el nodo de receptor borra el AutoRx para el número de ranura utilizado para el nodo receptor, establece el estado del número de ranura como interferido (este estado puede ser borrado después de un periodo de tiempo corto) para evitar la reutilización de la misma ranura, remueve el nodo de salto previo que estaba enviando en esta ranura de la lista NbrTx (establecer NbrTx a 0 en caso que no haya más Nbr en la lista NbrTx), envía un mensaje de Interferencia de Ranura inversa (unidifusión a la dirección de salto previo hacia el nodo fuente) y una interferencia de ranura de avance (unidifusión a la siguiente dirección de salto hacia el nodo destino) , y remueve la entrada de tabla de exploración para este número de corriente. Recuperación Local El procedimiento de recuperación local permite la reprogramación de ranura únicamente para los nodos interferidos (y no para la ruta completa) . Cuando la interferencia es detectada por el nodo de transmisor, el nodo de transmisor envia un mensaje de Interferencia de Ranura (con una dirección de difusión como destino) seguido por un mensaje de Solicitud de Exploración. El mensaje de Interferencia de Ranura puede ser un mensaje autónomo o un mensaje de Error de Exploración puede ser utilizado para el mismo propósito con algunas etiquetas. Los nodos que reciben este mensaje de Interferencia de Ranura borran la ranura y no la reenvían. Mientras se genera el mensaje de Solicitud de Exploración, el nodo de transmisor marca la ranura interferida como "interferida" en su tabla TPSM. El mensaje de Solicitud de Exploración será enviado con una etiqueta habilitada de "Recuperación_Local" . El nodo de siguiente salto procesa el mensaje de Solicitud de Exploración pero no lo reenvía en forma adicional. Un intercambio de paquete de tres vías (Solicitud de Exploración, Respuesta de Exploración y Reconocimiento de Exploración) entonces ocurre para obtener una nueva ranura . En la descripción detallada anterior, se han descrito modalidades especificas de la presente invención. Sin embargo, un experto en la técnica aprecia que se pueden realizar diversas modificaciones y cambios sin apartarse del alcance de la presente invención tal como se estipula en las siguientes reivindicaciones. Por consiguiente, la descripción detallada y las figuras se observarán en un sentido ilustrativo en lugar de, restrictivo, y todas esas modificaciones están destinadas para que se incluyan dentro del alcance de la presente invención. Los beneficios, ventajas, soluciones a problemas, y cualesquiera elementos que pudieran ocasionar que ocurra o se vuelva más pronunciado algún beneficio, ventaja o solución, no se interpretarán como características o elementos críticos, requeridos o esenciales de alguna o todas las reivindicaciones. La invención queda definida únicamente por las reivindicaciones anexas, incluyendo cualesquiera enmiendas hechas durante la etapa pendiente de esta solicitud y todos los equivalentes de esas reivindicaciones tal como se emiten.

Claims (10)

  1. NOVEDAD DE LA INVENCION Habiendo descrito el presente invento, se considera como una novedad y, por lo tanto, se reclama como prioridad lo contenido en las siguientes: REIVINDICACIONES 1. - En una red que comprende un nodo fuente y un nodo destino, un método que comprende: enviar un mensaje de Solicitud de Exploración (SRM) desde el nodo fuente, en donde el SR comprende: requerimientos de calidad de servicio (QoS) para transmitir una corriente de datos particular desde el nodo fuente; y asignar, en el nodo fuente, una o más ranuras de tiempo con base en los requerimientos QoS para transmitir la corriente de datos particular, en donde las ranuras de tiempo son para transmitir la corriente de datos particular. 2. - El método de conformidad con la reivindicación 1, caracterizado porque los requerimientos QoS comprenden por lo menos uno de una pluralidad de campos para la corriente de datos, en donde la pluralidad de campos comprende uno o más de: un campo de tasa de transferencia de datos mínima, un campo de retraso máximo, un campo de fluctuación y un campo de retraso total incurrido, y además comprende: determinar si los requerimientos QoS pueden ser cumplidos con base en un análisis por lo menos de uno de los campos; y enviar un mensaje de Error de Exploración hacia el nodo fuente, en caso que los requerimientos QoS no puedan ser cumplidos. 3.- El método de conformidad con la reivindicación 2, caracterizado porque el campo de tasa de transferencia de datos mínima transmitido por el nodo fuente comprende la tasa de transferencia de datos que se requiere mantener para satisfacer el requerimiento QoS de la corriente de datos particular. 4. - El método de conformidad con la reivindicación 2, caracterizado porque el campo de retraso máximo transmitido por el nodo fuente comprende un retraso máximo que pueden sostener los paquetes de esta corriente de datos mientras atraviesan la ruta y mantener el requerimiento QoS. 5. - El método de conformidad con la reivindicación 2, caracterizado porque el campo de retraso total incurrido queda determinado en el nodo destino. 6. - El método de conformidad con la reivindicación 5, caracterizado porque el nodo destino envía el mensaje de Error de Exploración si el campo de retraso total incurrido excede el requerimiento de retraso máximo. 7. - El método de conformidad con la reivindicación 1, caracterizado porque el nodo fuente asigna un número de ranuras de tiempo con base en los requerimientos QoS para transmitir la corriente de datos particular, y en donde el número de ranuras de tiempo asignadas para transmitir la corriente de datos particular depende de las características del enlace entre el nodo fuente y el nodo destino. 8. - El método de conformidad con la reivindicación 7, caracterizado porque la corriente de datos particular requiere una primera tasa de transferencia de datos, en donde el número de ranuras de tiempo asignadas por el nodo fuente para transmitir la corriente de datos particular depende de una segunda tasa de transferencia de datos entre el nodo fuente y el nodo destino . 9. - El método de conformidad con la reivindicación 1, caracterizado porque la red comprende por lo menos un nodo intermedio a lo largo de una ruta entre el nodo fuente y el nodo destino, en donde el envió de un mensaje de Solicitud de Exploración (SRM) desde el nodo fuente, comprende: enviar el mensaje de Solicitud de Exploración (SRM) desde el nodo fuente a uno de los nodos intermedios, en donde el SRM comprende requerimientos QoS para transmitir la corriente de datos particular; y en donde la asignación de una o más ranuras de tiempo con base en los requerimientos QoS para transmitir una corriente de datos particular, además comprende: asignar, en cada nodo intermedio a lo largo de la ruta, una o más ranuras de tiempo con base en los requerimientos QoS para transmitir la corriente de datos particular, en donde las ranuras de tiempo son para transmitir una corriente de datos particular. 10.- El método de conformidad con la reivindicación 9, caracterizado porque los requerimientos QoS comprenden por lo menos uno de una pluralidad de campos para la corriente de datos, en donde la pluralidad de campos comprende un campo de tasa de transferencia de datos mínima, un campo de retraso máximo, un campo de fluctuación y un campo de retraso total incurrido, y además comprende: determinar, en cada nodo intermedio, si los requerimientos QoS pueden ser cumplidos con base en un análisis por lo menos de uno de los campos; y enviar un mensaje de Error de Exploración hacia el nodo fuente, en caso que los requerimientos QoS no puedan ser cumplidos.
MX2008014927A 2006-05-25 2007-03-22 Sistemas, metodos y aparatos para asignar ranuras de tiempo en una red de comunicacion inalambrica ad hoc. MX2008014927A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/420,424 US7929546B2 (en) 2006-05-25 2006-05-25 Systems, methods and apparatus for allocating time slots in an ad hoc wireless communication network
PCT/US2007/064659 WO2007140041A2 (en) 2006-05-25 2007-03-22 Systems, methods and apparatus for allocating time slots in an ad hoc wireless communication network

Publications (1)

Publication Number Publication Date
MX2008014927A true MX2008014927A (es) 2008-12-10

Family

ID=38749430

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2008014927A MX2008014927A (es) 2006-05-25 2007-03-22 Sistemas, metodos y aparatos para asignar ranuras de tiempo en una red de comunicacion inalambrica ad hoc.

Country Status (3)

Country Link
US (1) US7929546B2 (es)
MX (1) MX2008014927A (es)
WO (1) WO2007140041A2 (es)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI429219B (zh) * 2006-05-01 2014-03-01 Koninkl Philips Electronics Nv 在分散式存取無線通信網路的多重跳躍式傳輸中以最大延遲保証保留資源的方法
US20080123682A1 (en) * 2006-06-27 2008-05-29 Justin Michael Yackoski Method for scheduling transmissions in an ad hoc network
US7885240B2 (en) 2006-11-15 2011-02-08 Motorola, Inc. Hybrid time division multiple access (TDMA)-carrier sense multiple access (CSMA) medium access control (MAC) for multi-hop ad hoc networks
FR2910655B1 (fr) * 2006-12-22 2009-02-27 Thales Sa Procede de reservation et d'allocation dynamique de creneaux temporels dans un reseau avec garantie de service
US8320321B2 (en) * 2007-06-22 2012-11-27 Motorola Solutions, Inc. Optimizing positions of time slots in a hybrid time division multiple access (TDMA)-carrier sense multiple access (CSMA) medium access control (MAC) for multi-hop ad hoc networks
US7965671B2 (en) * 2007-10-01 2011-06-21 Powerwave Cognition, Inc. Dynamic channel sharing using bandwidth metrics
MX2010007908A (es) * 2008-02-11 2010-08-10 Nokia Corp Procedimiento y aparato para proporcionar una indicacion de la portadora y deteccion de la portadora en una red inalambrica.
EP2289276A1 (en) * 2008-06-06 2011-03-02 Agency for Science, Technology And Research Communication devices and methods for scheduling and allocating of radio resources and communication devices and methods for routing in a communication network
US8284738B2 (en) * 2008-11-14 2012-10-09 Bae Systems Information And Electronic Systems Integration Inc. Distributed adaptive scheduling of communications among nodes in a mobile ad hoc network
US8442023B2 (en) * 2009-04-14 2013-05-14 Bae Systems Information And Electronic Systems Integration Inc. System and method for assigning time slots for transmission of packets in a wireless communication network utilizing knowledge of a data path
US8619756B2 (en) * 2009-07-15 2013-12-31 Qualcomm Incorporated Systems and methods for providing resource allocation meeting communication constraints for multi-hop network data flows
US8451862B2 (en) * 2009-07-15 2013-05-28 Qualcomm Incorporated Systems and methods for resource allocation serving communication requirements and fairness
US8050205B2 (en) * 2009-07-16 2011-11-01 Palo Alto Research Center Incorporated Slot adaptation in a wireless dynamic TDMA network with reservations
JP5589808B2 (ja) * 2010-02-24 2014-09-17 富士通株式会社 通信装置および経路割当方法
US9356725B2 (en) * 2010-10-08 2016-05-31 Qualcomm Incorporated Method and apparatus for managing inter-cell interference coordination actions for time-domain partitioned cells
US20120093056A1 (en) * 2010-10-13 2012-04-19 Electronics And Telecommunications Research Institute Apparatus and method for managing slot
KR20120071952A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 무선 네트워크에서 큐오에스 지원을 위한 라우팅 방법 및 장치
US9584179B2 (en) * 2012-02-23 2017-02-28 Silver Spring Networks, Inc. System and method for multi-channel frequency hopping spread spectrum communication
JP5958694B2 (ja) * 2012-02-29 2016-08-02 パナソニックIpマネジメント株式会社 計測情報収集システム、無線ノード、無線ノードの通信方法及びプログラム
JP2016511586A (ja) 2013-02-07 2016-04-14 インターデイジタル パテント ホールディングス インコーポレイテッド メッシュネットワークのための装置および方法
US9176973B1 (en) * 2013-06-14 2015-11-03 Timmes, Inc. Recursive-capable lossless compression mechanism
WO2015032250A1 (en) * 2013-09-06 2015-03-12 Harman International Industries, Incorporated Time slot selection in wireless communication
CN104767682B (zh) * 2014-01-08 2018-10-02 腾讯科技(深圳)有限公司 路由方法和系统以及分发路由信息的方法和装置
WO2015186077A1 (en) * 2014-06-03 2015-12-10 Airties Kablosuz Iletism Sanayi Ve Disticaret As A universal repeater, a method of operating a universal repeater and a network including the same
EP2953271B1 (en) * 2014-06-05 2023-03-22 LG Electronics Inc. Wireless power transfer method, apparatus and system
KR101750345B1 (ko) 2014-06-05 2017-07-03 엘지전자 주식회사 무선 전력 전송방법, 무선 전력 전송장치 및 무선 충전 시스템
KR101731923B1 (ko) 2014-06-13 2017-05-02 엘지전자 주식회사 무선 전력 전송방법, 무선 전력 전송장치 및 무선 충전 시스템
WO2015190828A1 (en) * 2014-06-13 2015-12-17 Lg Electronics Inc. Wireless power transfer method, apparatus and system
US9609546B2 (en) 2015-02-02 2017-03-28 Accelerated Media Technologies, Inc. Systems and methods for electronic news gathering
US9743370B2 (en) * 2015-04-28 2017-08-22 The Charles Stark Draper Laboratory, Inc. Wireless network for sensor array
US10187285B2 (en) * 2015-06-02 2019-01-22 Texas Instruments Incorporated Adaptive time slot allocation to reduce latency and power consumption in a time slotted channel hopping wireless communication network
EP3427451B1 (en) * 2016-02-08 2020-07-01 Telefonaktiebolaget LM Ericsson (PUBL) Method and switch for managing traffic in transport network
CN106789434A (zh) * 2016-12-29 2017-05-31 国网浙江省电力公司绍兴供电公司 一种采样数据包传输延时测量方法及系统
US10542540B2 (en) * 2017-11-17 2020-01-21 Kabushiki Kaisha Toshiba Network device and method for wireless local area network scheduling
CN110139399A (zh) * 2019-04-25 2019-08-16 中国科学院上海微系统与信息技术研究所 一种移动多跳自组网及其组网方法
EP3790203A1 (en) * 2019-09-03 2021-03-10 Imec VZW Device and method for application-requirement aware medium access control
CN113162655A (zh) * 2020-01-23 2021-07-23 华为技术有限公司 一种电力线通信时隙分配方法和装置
CN112153742B (zh) * 2020-08-31 2022-07-26 西安电子科技大学 Manet网络动态时隙分配方法、系统、设备及应用
CN115065797B (zh) * 2022-08-17 2022-11-22 苏州华兴源创科技股份有限公司 多通道视频传输节点动态调节方法、装置、计算机设备

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9203384L (sv) * 1992-11-13 1993-10-25 Televerket Förfarande och anordning för dynamisk allokering av multipla bärvågskanaler för multipelaccess genom frekvensmultiplexering
US5959980A (en) * 1995-06-05 1999-09-28 Omnipoint Corporation Timing adjustment control for efficient time division duplex communication
US5732076A (en) * 1995-10-26 1998-03-24 Omnipoint Corporation Coexisting communication systems
US5982748A (en) * 1996-10-03 1999-11-09 Nortel Networks Corporation Method and apparatus for controlling admission of connection requests
JP3075217B2 (ja) * 1997-06-30 2000-08-14 日本電気株式会社 移動通信システムのキャリアセンス方法
DE10062303C2 (de) * 2000-12-14 2002-11-28 Layers Ag 7 Verfahren zum Betrieb eines Ad Hoc-Netzwerkes zur drahtlosen Datenübertragung von synchronen und asynchronen Nachrichten
US7177271B2 (en) * 2001-09-21 2007-02-13 Microsoft Corporation Method and system for managing admission to a network
US7027409B2 (en) * 2002-01-10 2006-04-11 Harris Corporation Method and device for establishing communication links and for estimating overall quality of a directional link and reporting to OLSR in a communication system
US6982987B2 (en) * 2002-01-10 2006-01-03 Harris Corporation Wireless communication network including data prioritization and packet reception error determination features and related methods
US6958986B2 (en) * 2002-01-10 2005-10-25 Harris Corporation Wireless communication system with enhanced time slot allocation and interference avoidance/mitigation features and related methods
US7224681B2 (en) * 2002-02-28 2007-05-29 Agere Systems Inc. Processor with dynamic table-based scheduling using multi-entry table locations for handling transmission request collisions
US7653003B2 (en) * 2002-03-21 2010-01-26 Stine John A Access protocol for wireless ad hoc networks using synchronous collision resolution
GB0211286D0 (en) * 2002-05-16 2002-06-26 Nokia Corp Routing data packets through a wireless network
US7020438B2 (en) * 2003-01-09 2006-03-28 Nokia Corporation Selection of access point in a wireless communication system
EP1584160B1 (en) * 2003-01-13 2011-07-06 Meshnetworks, Inc. System and method for achieving continuous connectivity to an access point or gateway in a wireless network following and on-demand routing protocol
CN1567869B (zh) * 2003-06-30 2010-05-05 叶启祥 可避免干扰损坏并增加空间再用率的干扰控制方法
US7068605B2 (en) * 2003-09-09 2006-06-27 Harris Corporation Mobile ad hoc network (MANET) providing interference reduction features and related methods
EP1692624B1 (en) * 2003-11-07 2016-05-04 Sharp Kabushiki Kaisha Method for network coordination with limited explicit message exchange
FI20031646A0 (fi) * 2003-11-12 2003-11-12 Nokia Corp Liikenteen ja radioresurssien hallinta langattomassa tietoliikennelaitteessa
US7451381B2 (en) * 2004-02-03 2008-11-11 Phonex Broadband Corporation Reliable method and system for efficiently transporting dynamic data across a network
KR101042813B1 (ko) * 2004-02-17 2011-06-20 삼성전자주식회사 시분할 듀플렉싱 이동 통신 시스템에서 상향 방향 전송증대를 위한 데이터 수신 여부 정보를 전송하는 방법
JP4779438B2 (ja) * 2004-05-31 2011-09-28 パナソニック株式会社 無線通信方法および無線通信装置
WO2006046201A1 (en) * 2004-10-29 2006-05-04 Philips Intellectual Property & Standards Gmbh A method of operating a network node of a network, a network node, a network system, a computer-readable medium, and a program element
US20050195849A1 (en) * 2005-03-03 2005-09-08 Amol Rajkotia Early termination of low data rate traffic in a wireless network
US7773569B2 (en) * 2005-05-19 2010-08-10 Meshnetworks, Inc. System and method for efficiently routing data packets and managing channel access and bandwidth in wireless multi-hopping networks
US7349362B2 (en) * 2005-06-29 2008-03-25 Meshnetworks, Inc. Method and system for implementing the time division multiple access method to AD-HOC multihopping wireless networks
US8576811B2 (en) * 2006-02-06 2013-11-05 Motorola Solutions, Inc. System, method and apparatus for reliable exchange of information between nodes of a multi-hop wireless communication network
US7561542B2 (en) * 2006-05-12 2009-07-14 Meshnetworks, Inc. System, method and apparatus for determining if data from a source has arrived properly at a destination in a time division multiplex (TDM) communication network
US7813373B2 (en) * 2006-05-25 2010-10-12 Motorola, Inc. Systems, methods and apparatus for detecting time slot interference and recovering from time slot interference in an ad hoc wireless communication network

Also Published As

Publication number Publication date
US7929546B2 (en) 2011-04-19
WO2007140041A3 (en) 2008-01-17
US20070274320A1 (en) 2007-11-29
WO2007140041A2 (en) 2007-12-06

Similar Documents

Publication Publication Date Title
MX2008014927A (es) Sistemas, metodos y aparatos para asignar ranuras de tiempo en una red de comunicacion inalambrica ad hoc.
AU2007267758B2 (en) Systems, methods and apparatus for detecting time slot interference and recovering from time slot interference in an ad hoc wireless communication network
US8300618B2 (en) User priority based preemption techniques in a time division multiple access multi-hop ad hoc network
US8576811B2 (en) System, method and apparatus for reliable exchange of information between nodes of a multi-hop wireless communication network
US8320321B2 (en) Optimizing positions of time slots in a hybrid time division multiple access (TDMA)-carrier sense multiple access (CSMA) medium access control (MAC) for multi-hop ad hoc networks
US7885240B2 (en) Hybrid time division multiple access (TDMA)-carrier sense multiple access (CSMA) medium access control (MAC) for multi-hop ad hoc networks
EP2335440B1 (en) Mac protocol for multi-channel wireless networks
US6928061B1 (en) Transmission-scheduling coordination among collocated internet radios
US20050201340A1 (en) Distributed TDMA for wireless mesh network
JP2011514691A (ja) 複数のノードを含む無線ネットワークにおいて通信するための方法
KR100965673B1 (ko) 이동통신 시스템에서 데이터 송신 방법
US8619705B2 (en) Communication method between at least one subscriber station and at least two base stations
JP2008172784A (ja) 移動体アドホックネットワークでのデータパスの動的リンク管理
WO2007008174A1 (en) Method and system of wireless communication between devices
KR101093616B1 (ko) 무선 센서 네트워크를 위한 주파수 다중화지원 기반 매체접근제어 프로토콜 구조 및 그 운영 방법
CN111343687B (zh) 基于多中继协作的网络数据传输方法、装置及电子设备
CN111277304B (zh) 一种基于多中继协作的单播传输方法及系统
JP4291375B2 (ja) セルフオルガニゼーション形無線ネットワークにおけるパケット交換データ伝送のための方法、中間ステーション並びに中央制御装置
EP1183825B1 (en) A distributed wireless medium access control protocol with support for isochronous services
JP5137806B2 (ja) 通信制御方法および通信装置
KR101268759B1 (ko) 무선 분산 비코닝 시스템에서, 의사 중앙 제어형 비코닝 방법 및 장치

Legal Events

Date Code Title Description
HC Change of company name or juridical status

Owner name: CAREFUSION 2200, INC.

FA Abandonment or withdrawal