MX2010003539A - Sistemas y metódos de red ad hoc móvil. - Google Patents

Sistemas y metódos de red ad hoc móvil.

Info

Publication number
MX2010003539A
MX2010003539A MX2010003539A MX2010003539A MX2010003539A MX 2010003539 A MX2010003539 A MX 2010003539A MX 2010003539 A MX2010003539 A MX 2010003539A MX 2010003539 A MX2010003539 A MX 2010003539A MX 2010003539 A MX2010003539 A MX 2010003539A
Authority
MX
Mexico
Prior art keywords
node
data
neighbors
link
bandwidth
Prior art date
Application number
MX2010003539A
Other languages
English (en)
Inventor
Arthur E Anderson
John D Nguyen
Wendell Y Kishaba
Timothy J Hughes
Daniel R Cormier
Tyler J Ulinskas
Marina Gurevich
Chau T Trinh
Richard C Ascheri
Original Assignee
Powerwave Cognition 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
Priority claimed from US11/947,928 external-priority patent/US7801153B2/en
Priority claimed from US12/242,597 external-priority patent/US20090122753A1/en
Application filed by Powerwave Cognition Inc filed Critical Powerwave Cognition Inc
Publication of MX2010003539A publication Critical patent/MX2010003539A/es

Links

Classifications

    • 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/18Negotiating wireless communication parameters
    • H04W28/20Negotiating bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/535Allocation or scheduling criteria for wireless resources based on resource usage policies
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

En modalidades de la presente invención se describen capacidades mejoradas para proporcionar comunicaciones. En particular, las capacidades mejoradas pueden dirigirse para proporcionar comunicaciones de red en Redes Móviles Ad Hoc. En la presente, se describen sistemas, métodos, productos de programas de computadora, aplicaciones, etc.

Description

SISTEMAS Y METODOS DE RED AD HOC MOVIL CAMPO DE LA INVENCIÓN En una red compartida con múltiples usuarios que comparten la misma frecuencia, es deseable hacer que sólo un usuario transmita datos a la vez. Por ejemplo, si un usuario transmite datos al mismo tiempo que otro usuario está transmitiendo datos, pueden presentarse colisiones y los datos generalmente se corrompen y se pierden. Un método para reducir colisiones en redes compartidas es utilizar acceso múltiple de división por tiempo (TDMA) . TDMA permite que varios usuarios compartan la misma frecuencia al dividir el uso de la frecuencia compartida en diferentes intervalos de tiempo, un usuario por intervalo de tiempo. Por ejemplo, lós usuarios que transmiten datos en sucesión (es decir, ün usuario transmite datos después de que otro usuario transmite datos) , cada usuario utilizando su propio intervalo de tiempo para que sólo un usuario transmita datos durante un intervalo de tiempo. i ANTECEDENTES DE LA INVENCIÓN Esta solicitud se refiere al manejo de tráfico en redes ad hoc móviles, y más particularmente al uso de t i métricas nodales de ancho de banda para asignar acceso la ! i I canales de comunicación inalámbrica. Existe una necesidad de técnicas para asignar en forma dinámica acceso de canal en el contexto de cambiar demandas de tráfico y topologías de redés típicas de una red ad hoc móvil. ! Esta solicitud también se refiere a la comunicación de capa física en una Red Ad Hoc Móvil (MA ET) , y más particularmente a la segmentación dinámica y reensamblaje de paquetes de datos en un enlace de datos de una MANET. Existe la necesidad de manejo mejorado de datos de capa física n redes ad hoc inalámbricas, particularmente donde el tráfico de varios tipos y prioridades se intercambia sobre enlaces de datos que cambian dinámicamente . ' Esto también se refiere a la colocación en cola de los datos para la transmisión en una Red Ad Hoc Móvil (MANET) , y más particularmente a la colocación en cola de datos con prioridad de acuerdo con una cola de circuido cíclico anidada, ponderada. Existe una necesidad de manejo i mejorado de múltiples tipos de tráfico en una red ad hoc inalámbrica .
Esta solicitud también se refiere al enrutamiento de tráfico en una Red Ad Hoc Móvil, y más particularmente al uso de varias métricas de capa física y de red para mejorar los cálculos de rutas basados en costo. Existe una necesidad i de técnicas para enrutar el tráfico en forma eficiente en él contexto de una red ad hoc móvil donde las demandas de tráfico y las topologías de red cambian con frecuencia. j I SUMARIO DE LA INVENCIÓN En un aspecto, un método para programar comunicaciones de red en una red que tiene nodos conectados por enlaces incluye enviar un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo a vecinos del primer nodo, recibir los valores de ancho de banda de los vecinos del primer nodo; y determinar los valores de ponderación de nodos del primer nodo y los vecinos del primer nodo basándose en los valores de ancho de banda recibidos de los vecinos del primero nodo y el valor de ancho I de banda del primer nodo. El método también incluye enviar los valores de ponderación del nodo del primer nodo a los vecinos del primer nodo, recibir los valores de ponderación de nodo de los vecinos del primer nodo, determinar los valores de acceso de cada nodo basándose en una técnica de acceso justo y determinar la programación de red basada en los valores de acceso y los valores de ponderación de nodos .
En otro aspecto, un aparato que programa comunicaciones en una red que tiene nodos conectados por enlaces incluye circuitería para enviar, a vecinos del primer nodo, un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo; para recibir valores de ancho de banda desde los vecinos del primer nodo; para determinar los valores de ponderación de nodo del primer nodo y los vecinos del primer nodo basándose en los valores de ancho de banda recibidos de los vecinos del primer nodo y él valor de ancho de banda del primer nodo; y para enviar los valores de ponderación de nodo del primer nodo a los vecinos del primer nodo. El aparato también incluye circuitería para recibir los valores de ponderación del nodo de los vecinos del primer nodo, para determinar los valores de acceso de i cada nodo basándose en una técnica de acceso justo y para j determinar la programación de red basada en los valores de I acceso y los valores de ponderación del nodo.
En un aspecto adicional, un articulo incluye un medio que se puede leer por máquina, que almacena instrucciones ejecutables para programar comunicaciones en una red que tiene nodos conectados por enlaces. Las instrucciones provocan que una máquina envíe un valor de i ancho de banda de un primer nodo por cada enlace conectado al primer nodo a los vecinos del primer nodo, para recibir lós valores de ancho de banda de los vecinos del primer nodo, para determinar los valores de ponderación de nodo del primer nodo y los vecinos del primer nodo basándose en los valores de ancho de banda recibidos de los vecinos del primer nodo el valor de ancho de banda del primer nodo, y para enviar los valores de ponderación del nodo del primer nodo a los vecinos del primer nodo. Las instrucciones también incluyen instrucciones que provocan que una máquina reciba los valores de ponderación de nodo de los vecinos del primer nodo, para determinar los valores de acceso para cada nodo basado en uria i técnica de acceso ^usto, y para determinar la programación de red basada en los valores de acceso y los valores de ponderación de nodo.
En una Red Ad Hoc Móvil (MA ET) , cada nodo calcula un valor de salida de ancho de banda representativo de los requisitos de salida de datos para el nodo con respecto a los intervalos de tiempo de transmisión disponibles para el nodo.
Este valor se comparte con otros nodos en la MANET y pueden emplearse para asignar en forma más eficiente el uso de canales entre nodos conforme cambian las demandas de tráfico y la topología de red. j En un aspecto, un método descrito aquí incluye: determinar un valor indicativo de un requisito de salida de datos para un nodo en una red ad hoc, el nodo tiene una pluralidad de vecinos de un salto acoplados en comunicación inalámbrica directa con el nodo; determinar un valor indicativo de una capacidad de transmisión para el nodo; calcular una métrica de salida de ancho de banda para el nodo basándose en la capacidad de transmisión y el requisito de salida de datos: y comunicar la métrica de salida de ancho de banda a la pluralidad de vecinos de un salto del nodo.
En otro aspecto, un producto de programa de computadora descrito aquí incluye código que se puede ejecutar por computadora que, cuando se ejecuta en uno o más dispositivos, realiza las etapas de: determinar un valor indicativo de un requisito de salida de datos para un nodo en una red ad hoc, el nodo tiene una pluralidad de vecinos de un salto acoplados en comunicación inalámbrica directa con el nodo; determinar un valor indicativo de una capacidad de transmisión para el nodo; calcular una métrica de salida de ancho de banda para el nodo basándose en la capacidad de transmisión y el requisito de salida de datos; y comunicar la métrica de salida de ancho de banda a la pluralidad de vecinos de un salto del nodo. j En otro aspecto, un dispositivo descrito aquí incluye una cola de datos que almacena datos ; un enlace de datos que pone en paquetes los datos de la cola de datos en paquetes, y que negocia el acceso a un número de intervalo de tiempo en una red ad hoc móvil; un radio que proporciona una interfaz aérea a la red ad hoc móvil y transmite los paquetes durante uno o más intervalos de tiempo; y un procesador de señales que calcula un valor de salida de ancho de banda para el dispositivo, el valor de salida de ancho de banda representa un tamaño de la cola de datos con respecto al número de intervalos de tiempo, y que transmite el valor de salida de ancho de banda a uno o más nodos vecinos durante un intervalo de tiempo de control.
En una Red Ad Hoc Móvil (MANET) , las funciones de Segmentación y Reensamblaje de Enlace de Datos Dinámico (SAR) realiza una transformación de paquete grande a paquete pequeño y reensambla los paquetes en un nodo de recepción. El tamaño de paquetes se determina dinámicamente en respuesta los datos de calidad de enlace para cada enlace de datos individual. Al compartir periódicamente la información de calidad de enlace con los vecinos, el tamaño de segmentación y el reensamblaje correspondiente pueden realizar utilizando información de la cercanía fácilmente disponible y de la forma de onda.
En un aspecto, un método que se describe aquí incluye proporcionar un elemento de datos para transmisión desde un primer nodo hasta un segundo nodo sobre un enlace de datos en una red inalámbrica ad hoc, el elemento de dates tiene una longitud; determinar una calidad del enlace de datos; seleccionar un modo de transmisión para el enlace de datos de acuerdo con la calidad de enlace, el modo de I transmisión incluyendo un índice de datos; determinar una longitud de carga útil para el enlace de datos de acuerdo con el índice de datos; segmentar el elemento de datos en uno o más segmentos de acuerdo con la longitud de carga útil, y transmitir uno o más segmentos como uno o más paquetes sobre el enlace de datos. ' ! I En un aspecto, un dispositivo que se describe aquí I I incluye una fuente de datos que proporciona datos, un enlace de datos que pone en paquetes los datos de la fuente de datos en un paquete; un radio que proporciona una interfaz aérea una red ad hoc móvil que incluye un enlace a un nodo vecino,- y un procesador de señales que prepara el paquete para la i transmisión sobre la interfaz aérea, el procesador de señalés adaptado para segmentar dinámicamente el paquete en uno o más segmentos de acuerdo con el índice de datos para el enlace.
En un aspecto, un producto de programa die I i computadora que se describe aquí realiza las etapas de proporcionar un elemento de datos para la transmisión desde i un primer nodo hasta un segundo nodo sobre un enlace de datQs 1 en una red inalámbrica ad hoc, determinar una calidad de enlace del enlace datos; seleccionar un modo de transmisiójn para el enlace de datos de acuerdo con la calidad de enlace(, el modo de transmisión incluye un índice datos; determinajr una longitud de carga útil para el enlace de datos de acuerdo ? con el índice de datos; segmentar el elemento de datos en uno o más segmentos de acuerdo con la longitud de carga útil; transmitir uno o más segmentos como uno o más paquetes sobre el enlace de datos. ¦ En una Red Ad Hoc Móvil (MA ET) , las colas de circuito cíclico ponderadas, anidadas se emplean para proporcionar en forma selectiva acceso de canal para tráfico de acuerdo con una prioridad o Calidad de Servicio (QoS) para datos. Las métricas de servicio relativamente arbitrarias pueden lograrse al anidar las colas dentro de otras colas, y al aplicar una técnica de circuito cíclico ponderada para atender a cada cola. Tales servicios pueden incluir QoS nodal para el tráfico basado en clase, evasión de inanición de colas, etc. Las colas con prioridad también pueden i i proporcionarse para el suministro preventivo de tráfico de alta prioridad. i I I En un aspecto, se describe aquí un método que incluye almacenar una pluralidad de paquetes de datos en una pluralidad de colas para la transmisión en un número de intervalos de tiempo desde un nodo de una red ad hoc móvil, cada una de la pluralidad de colas tiene un peso; selecciona'r ¡ un primer paquete de datos de la pluralidad de paquetes de datos para la transmisión en uno del número de intervalos dje tiempo de acuerdo con un primer programa de circuito cíclico ponderado que se pondera para atender un primer grupo de la pluralidad de colas de acuerdo con sus ponderaciones respectivas; y seleccionar un segundo paquete de datos de la pluralidad de paquetes de datos de acuerdo con un segundo programa de circuito cíclico ponderado que se pondera para atender un segundo grupo de la pluralidad de colas de acuerdo con sus ponderaciones respectivas, en donde el primer programa de circuito cíclico ponderado incluye una I ponderación para el segundo programa de circuito cíclico |y atiende periódicamente el segundo programa de circuito cíclico ponderado de acuerdo con la ponderación, seleccionando de esta manera el segundo paquete de datos en i el primer programa de circuito cíclico ponderado para su transmisión en uno del número de intervalos de tiempo. Él i I método puede incluir seleccionar preventivamente los paquetes de datos de una cola con prioridad hasta que se vacíe la cola i de prioridad.
En otro aspecto, un producto de programa de computadora descrito aquí incluye código que se puede ejecutar por computadora que, cuando se ejecuta en uno o más dispositivos de cómputo, realiza las etapas de: almacenar uria pluralidad de paquetes de datos en una pluralidad de colas para su transmisión en un número de intervalos de tiempo desde un nodo de una red ad hoc móvil, cada una de ía pluralidad de colas tiene una ponderación; seleccionar un primer paquete de datos de la pluralidad de paquetes de datc>s j para su transmisión en uno del número de intervalos de tiempo de acuerdo con un primer programa de circuito cícliéo ponderado que se pondera para atender un primer grupo de la pluralidad de colas de acuerdo con sus ponderaciones respectivas; y seleccionar un segundo paquete de datos de la pluralidad de paquetes de datos de acuerdo con un segundo programa de circuito cíclico ponderado que se pondera para atender un segundo grupo de la pluralidad de colas de acuerdo con sus ponderaciones respectivas, en donde el primer programa de circuito cíclico ponderado incluye u a ponderación para el segundo programa de circuito cíclico I ponderado y atiende periódicamente el segundo programa de i circuito cíclico ponderado de acuerdo con la ponderación, seleccionando de esta manera el segundo paquetes de datos én el primer programa de circuito cíclico ponderado para su transmisión en uno del número de intervalos de tiempo.
En otro aspecto, un dispositivo descrito aquí incluye una fuente de datos que proporciona una pluralidad de paquetes de datos; una cola que programa la pluralidad de paquetes de datos para la transmisión de acuerdo con un circuito cíclico ponderado, el circuito cíclico ponderado incluye por lo menos una ponderación para una cola de circuito cíclico ponderado anidada, la cola de circuito cíclico ponderado anidada sirve de acuerdo con su ponderación en el circuito cíclico ponderado, proporcionando de esta manera paquetes programados; una radio que proporciona una interfaz aérea a una red ad hoc móvil que incluye enlaces una pluralidad de nodos vecinos; y un procesador de señales que prepara los paquetes programados para su transmisión sobre la interfaz aérea.
En una Red Ad Hoc Móvil (MANET) , la información multimétrica se reúne y se aplica a un cálculo de rutas basado en costos. En particular, cada nodo reúne métricas le recursos de nodos vecinos, junto con el índice de datos y la información de conflabilidad para los enlaces de datos hasta y desde el nodo. Esta información se aplica a un algoritmo de costos tales como el Algoritmo de Primera Trayectoria Más Corta Abierta de Dykstra para obtener rutas a través de la red. Este procedimiento puede adaptarse con modificaciones adecuadas para su uso con el tráfico de monodifusión o con in grupo de reenvío de multidifusión.
En un aspecto, un método descrito aquí incluye: recibir una métrica de recurso de cada uno de una pluralidad de vecinos de un nodo, la métrica de recurso indicativa de los recursos de red necesarios por el correspondiente de la pluralidad de vecinos, proporcionando de esta manera una métrica de recurso de capa de enlace de datos para un cálculo de rutas; determinar un índice de datos para un enlace a cada uno de la pluralidad de vecinos utilizando los datos de capa física que caracterizan un índice de datos seleccionados de acuerdo con el rendimiento físico de un canal de comunicación inalámbrica, proporcionando de esta manera una métrica de índice de datos para el cálculo de rutas; determinar una conflabilidad para un enlace en cada uno de la pluralidad de vecinos utilizando los datos de capa física que caracterizan una conflabilidad física del canal de comunicaciótn inalámbrica, proporcionando de esta manera una métrica confiable para el cálculo de rutas; y aplicar la métrica de conflabilidad, la métrica de índice de datos, y la métrica de ancho de banda de capa de enlace de datos al cálculo de rutas para calcular una pluralidad de rutas que incluye una ruta para cada uno de la pluralidad de niveles de servicio.
En un aspecto, un producto de programa de computadora descrito aquí incluye el código que se puede ejecutar por computadora que, cuando se ejecuta en uno o más dispositivos de cómputo, realiza las etapas de recuperar una métrica de recurso de cada uno de una pluralidad de vecinos de un nodo, la métrica de recurso indicativa de los recursos de red necesarios por el correspondiente de la pluralidad de vecinos, proporcionando de esta manera una métrica de recurso de capa de enlace de datos para un cálculo de rutas; determinar un índice de datos para un enlace a cada uno de la pluralidad de vecinos utilizando datos de capa física que caracterizan un índice de datos seleccionados de acuerdo con I ¡ el rendimiento físico de un canal de comunicación inalámbrica, proporcionando de esta manera una métrica de índice de datos para el cálculo de rutas; determinar una conflabilidad para un enlace a cada uno de la pluralidad de vecinos utilizando los datos de capa física que caracterizan una conflabilidad física del canal de comunicación inalámbrica, proporcionando de esta manera una métrica de conflabilidad para el cálculo de rutas; y aplicar la métrica de conflabilidad, la métrica de índice de datos y la métrica de ancho de banda de capa de enlace de datos al cálculo de rutas para calcular una pluralidad de rutas incluyendo una ruta para cada uno de la pluralidad de niveles de servicie».
El código de computadora además puede realizar las etapas de I recibir un paquete de datos en el nodo, el paquete de datos í tiene un indicador de nivel de servicio y enruta los paquetes de datos de acuerdo a la ruta para el nivel de servicio. 1 En un aspecto, un dispositivo descrito aquí incluye una fuente de datos que proporciona una pluralidad paquetes de datos; una memoria que almacena información vecindario para una pluralidad de nodos vecinos, información de vecindario incluye una pluralidad de métricas de recursos indicativas de recursos de red necesarios por cada uno de la pluralidad de nodos vecinos; un radio que proporciona una interfaz área a una red ad hoc móvil que incluye enlaces a una pluralidad de nodos vecinos; un procesador de señales que prepara la pluralidad de paquetes de datos para la transmisión sobre la interfaz aérea; y un enrutador que calcula las rutas para al menos un tráfico de monodifusión o multidif sión utilizando un algoritmo de Primera Trayectoria Más Corta Abierta de Dykstra ponderado de acuerdo con la pluralidad de métricas de recursos, y de acuerdo con los datos de capa física disponibles del procesador de señales .
Estos y otros sistemas, métodos, objeto†, características y ventajas de la presente invención serán aparentes para aquellos con experiencia en técnica a partir de la siguiente descripción detallada de la modalidad preferida y las figuras.
Todas las modalidades mencionadas aquí se incorporan en la presenta en su totalidad para referencia. Las referencias a los artículos en la forma singular deben entenderse que incluyen elementos en la forma plural, Jy viceversa, a menos que se establezca explícitamente jo contrario o sea claro a partir del texto. Las conjunciones gramaticales se pretenden para expresar cualquiera y todas las combinaciones disyuntivas y conjuntivas de cláusulás conjugadas, oraciones, palabras y similares, a menos que se establezca lo contrario o sea claro a partir del contexto.
BREVE DESCRIPCIÓN DE LAS FIGURAS La invención y la siguiente descripción detallada de ciertas modalidades de la misma pueden entenderse con referencia de las siguientes figuras: La Figura 1 representa un diagrama de bloque de una Red Ad Hoc Móvil (MA ET) .
La Figura 2 representa un diagrama de bloque de una MANET que tiene múltiples puntos de acceso de trayecto inverso .
La Figura 3 representa un diagrama de bloque de un nodo en una MANET.
La Figura 4 representa un diagrama de flujo de un proceso para medir la calidad de enlace. J La Figura 5 representa un diagrama de flujo de in proceso para la segmentación dinámica y reensamblaje de datos.
La Figura 6 representa una arquitectura de cola que puede utilizarse con un sistema de colocación en colas de circuito cíclico ponderado anidado.
La Figura 7 presenta un algoritmo de planificación para su uso con la estructura de la cola de la Figura 6.
La Figura 8 representa una estructura de cola que contiene paquetes en varias colas.
La Figura 9 representa una secuencia de planificación para las colas de la Figura 8.
La Figura 10 representa un diagrama de flujo de ún proceso para el enrutamiento multimétrico en una MANET. J La Figura 11 representa un diagrama de una red de comunicaciones que tiene nodos.
La Figura 12 representa un programa de transmisión para un vecindario de cuatro nodos .
La Figura 13 representa un diagrama de flujo de un proceso para manejar acceso de canal en una MANET. ¡ La Figura 14 representa un ejemplo de seudocódigo utilizado para determinar el valor de ancho de banda.
La Figura 15 es un diagrama de bloque de un ejemplo de un nodo de red en el cual el proceso de la Figura 13 puede implementarse .
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN ¡ j La siguiente descripción detalla ciertas modalidades de una técnica de segmentación dinámica y de reensamblaje para su uso en formar paquetes de datos para la transmisión sobre enlaces de comunicación inalámbrica. Al rastrear la calidad de enlace basada en métricas locales y/o información compartida entre nodos en la red, los datos pueden segmentarse y reensamblarse dinámicamente para proporcionar un uso más eficiente de los enlaces de comunicación sin requerir más sobrecarga en encabezados de paquetes individuales. Mientras la invención se describe en lo siguiente con respecto a Redes Ad Hoc Móviles, se entenderá que los principios de la invención pueden aplicarse ¡ adecuadamente en cualquier ambiente donde la calidad de enlace y/o los modos de transmisión varían dinámicamente, y la información con respecto a la calidad de enlace se encuentra disponible para nodos que participan en una red. 1 i Las redes denominadas "infraestructura" emplean ! j estaciones base en ubicaciones fijas para formar una i infraestructura de red sustancialmente fija. Las estaciones i base pueden permitir la comunicación entre los dispositivos inalámbricos de la red, entre un dispositivo inalámbrico y otro dispositivo en otra red, etc. Este procedimiento general se emplea, por ejemplo, en 802,11 o redes WiFi, así como en infraestructura de red fija, pueden soportar comunicacionés de red convencionales tales como comunicación de punto a punto o de difusión, y pueden adaptarse para su uso con cualquiera de los protocolos de Internet (por ejemplo, IPv4, IPv6) o protocolos de red bien establecidos similares. \ En general, una Red Ad Hoc Móvil (MA ET) en una red inalámbrica ad hoc en la cual algunos de los dispositivos participantes (o todos) -también denominados en la presente como "nodos"- son móviles. De este modo, la topografía de uña MANET puede cambiar no sólo cuando los nodos entran y salen de la red, sino cuando los nodos se mueven con respecto uno del otro dentro de la red. Conforme la topología de red cambia, las rutas de comunicación a través de la red también pueden variar en términos de disponibilidad y, en términos de calidad. Aunque las invenciones descrita aquí tienen una amplia aplicabilidad, particularmente puede ser útil en un j ambiente de MANET donde el contexto de cambiar continuamente i enlaces de nodo a nodo presenta desafíos para, jy posibilidades de mantener flujo de tráfico.
La Figura 1 representa un diagrama de bloque de una Red Ad Hoc Móvil (MANET) que pueden utilizarse con l†s sistemas y métodos descritos aquí. En general, una MANET 100 pueden incluir dispositivos 102 de suscriptor, puntos 104 de acceso y puntos 108 de acceso de trayecto inverso (para acoplarse a una red 110 central, tal como Internet) , generalmente todos interconectados como se muestra en la Figura 1. Sin limitar la generalidad de lo anterior, uno o más de los dispositivos 102 de suscriptor puede incluir un dispositivo 112 estacionario que no se mueve dentro de la MANET 100. Se entenderá que los enlaces de dispositivo ¡a dispositivo ilustrados en la Figura 1 son para propósitos de ilustración únicamente, y de ninguna forma se pretende para limitar la naturaleza o número de enlaces entre dispositivos en la MANET 100, la cual puede crearse, removerse yjo modificarse con el tiempo de acuerdo con cualquiera de los protocolos correspondientes seguidos por los dispositivos dentro de los MANET 100. En general, los vínculos entre dispositivos dentro de la MANET 100 son enlaces inalámbricos, aunque enlaces alámbricos opcionalmente pueden emplearse en varias ubicaciones tales como entre el punto 108 de acceso de trayecto inverso y las redes 110 centrales. Para mantener la MANET 100, típicamente uno o más protocolos se comparten entre los dispositivos participantes para controlar la creación, remoción y modificación de enlaces de datos individuales entre dispositivos, y para enrutar el tráfico jy controlar la información entre dispositivos. El término "protocolo" como se utiliza en la presente generalmente se refiere a cualquiera y todas las reglas, procedimientos, y/o algoritmos utilizados para el mantenimiento de la MANET 100, a menos que un protocolo específico se establezca j explícitamente o sea claramente contrario del contexto.
Los dispositivos 102 de suscriptor pueden incluir cualquiera de los nodos de propósito general que participan i en la MANET 100 de acuerdo con protocolos adecuados. Se entenderá que, mientras los dispositivos 102 de suscriptor pueden incluir nodos terminales que envían o reciben datos, en una MANET 100 como se describe aquí los dispositivos 102 de suscriptor también pueden emplearse adecuadamente como nodos intermedios para enrutar tráfico hacia y desde otros dispositivos 102 de suscriptor. De este modo, una red ad hoc, como describe aquí, generalmente es extensible, y ya qúe nuevos dispositivos 102 de suscriptor aparecen dentro de la MANET 100, pueden formar parte de la red de MANET 100 que enruta el tráfico entre otros nodos. En general, los dispositivos 102 de suscriptor pueden incluir cualquier red o i dispositivos de computo que incluya una interfaz inalámbrica, las pilas de protocolo de red, y similares adaptados paira participar en la MANET 100. El Protocolo de Internet puede emplearse en forma útil en dispositivos 102 de suscriptor dentro de la MANET 100 para utilizar esquemas de direccionamiento bien establecidos y similares. Un i dispositivos 102 de suscriptor puede incluir, sin limitación un teléfono celular, asistente digital personal, cliente de correo electrónico inalámbrico, computadora tipo laptop, computadora tipo palmtop, computadora de escritorio, dispositivo de vídeo, cámara digital, instrumento eléctrico, sensor, detector, pantalla, reproductor de medios, dispositivo de navegación, teléfono inteligente, una tarjeta de conexión de red inalámbrica, o cualquier otro dispositivo que pueda participar útilmente en una red. En algunas modalidades, los dispositivos de suscriptor pueden incluir un receptor de GPS que proporciona una referencia de posición tiempo. En las modalidades, cada dispositivo 102 de suscriptor puede autentificarse y/o autorizarse antes de tener acceso concedido a la ANET 100.
Los puntos 104 de acceso pueden proporcionarse para establecer una infraestructura permanente o de otra manera generalmente estable, en la MANET 100. En una modalidad, los puntos 104 de acceso pueden emplear funcionalidad de r†d idéntica y pilas de protocolo como los dispositivos 102 de suscriptor. Sin embargo, un punto 104 de acceso puede tener participantes en la ANET 100 y retransmitir el tráfico entre otros participantes de la red. Un punto 104 de acceso también puede incluir una conexión física a una infraestructura de energía de modo que pueda instalarse físicamente en una ubicación y operar en forma autónoma sin requerir mantenimiento regular para cambios de batería, etc. En otro aspecto, los puntos 104 de acceso pueden incluir cierta circuitería suplementaria mínima relacionada con, por ejemplo, estado y diagnóstico, o para recibir actualizaciones de software y similares. Esto puede mejorar la continuidad de la cobertura a través de una región física donde los dispositivos 102 de suscriptor pueden o no estar presentes con alguna regularidad, y pueden asegurar que los recursos de red inalámbrica se encuentren disponibles en un área deseada. En las modalidades, el punto 104 de acceso puede ser de n tamaño y peso que lo hace adecuado para montaje y/o i encubrimiento en una variedad de ubicaciones que incluyen ubicaciones en interiores y exteriores, e incluyen montaje en paredes, pisos, terreno, techos, tejados, postes de servicio público, etc.
Cada punto 104 de acceso puede incluir o utilizar una referencia de tiempo de modo que cualquiera de lis Protocolos de Tiempo de Red descritos en RFC 778, RFC 891, RFC 956, RFC 958, RFC 1305, RFC 1361, RFC 1769, RFC 2030, RFC 4330, todos publicados por la Fuerza de Tareas de Diseño de Internet. Cada punto de acceso también puede, o más bien, incluye un receptor de GPS que proporciona una referencia de posición y tiempo. En las modalidades, los puntos 104 de acceso inalámbrico pueden tener una potencia de transmisión mayor y/o una ganancia de antena mayor que los dispositivos 102 de suscriptor móvil, de este modo proporcionando una mayor cobertura física que algunos otros dispositivos dentro de la MANET 100.
La MANET 100 puede incluir uno o más puntos 108 de acceso de trayecto inverso que generalmente operan para conectar los nodos dentro de la MANET 100 a una red 110 central, tal como Internet. En una interfaz, un punto 108 de acceso de trayecto inverso puede tener una interfaz de radio inalámbrica, las pilas de protocolo y otros componentes de otros nodos dentro de la MANET 100. En otra interfaz, el punto 108 de acceso de trayecto inverso puede proporcionar cualquier interfaz adecuada a la red 110 central. El punto 108 de acceso de trayecto inverso, por ejemplo, puede desplegarse en un punto de acceso por fibra o similar que proporcione un tráfico de Internet con capacidad de datos de alta velocidad. Por ejemplo y sin limitación, el punto de acceso por fibra puede incluir un sitio de enrutador Gig-E un sitio de multiplexor añadir-soltar OC-3/12. En una modalidad, el punto 108 de acceso de trayecto inverso puede incluir dos interfaces Gig-E para conexiones de trayecto inverso. Se entenderá que cualquier número de una variedad de interfaces adecuadas para conexiones de trayecto inverso pueden emplearse en forma útil con un punto 108 de acceso de trayecto inverso, como se describe en la presente.
Un punto 108 de acceso de trayecto inverso puede atender a múltiples puntos 104 de acceso dentro de la MA ET 100, y puede distribuir carga de red a través de esos puntos 104 de acceso. Alternativamente, un punto 108 de acceso de trayecto inverso sencillo puede atender a un punto 104 de acceso sencillo. En algunas modalidades, el número de puntos 104 de acceso atendidos por un punto 108 de acceso de trayecto inverso podrá relacionarse con la cantidad de tráfico intra-MANET y tráfico extra-MANET, la naturaleza y dirección de la multidifusión contra los datos de monodifusión, etc. Esta asociación entre los puntos 108 de acceso de trayecto inverso y los puntos 104 de acceso puede cambiar de vez en cuando dependiendo de la presencia de otros dispositivos 102 de suscriptor dentro del área, las condiciones de red, etc. En algunos casos, un punto 104 de acceso por primera vez puede asociarse con más de un punto de acceso de trayecto inverso.
Las redes 110 centrales pueden proporcionar acceso a recursos de red fuera de la MA ET 100. Las redes 114 centrales pueden conectar casos desiguales, geográficamente remotos y/o locales de la MANET 100 para formar una sola red. Las redes 110 centrales pueden incluir cualquier y todas las formas de las redes IP, incluyendo redes LAN, MAN, AN, etc. Las redes 110 centrales también pueden incluir o más bien incluyen la Internet pública. En otras modalidades, las redes 110 centrales pueden consistir exclusivamente de una sola zona de control administrativo, o un número de zonas de i control administrativo, o alguna combinación de una zona administrativa y cualquiera de lo anterior.
El dispositivo 112 estacionario puede incluir cualquier dispositivo 102 de suscriptor que, por cualquier razón, no se cambia físicamente dentro de la MANET 100. En general, tales puntos físicos fijos dentro de la MANET 100 pueden proporcionar alternativas de enrutamiento útiles para ¡ el tráfico que puede explotarse socialmente para equilibrio de carga, redundancia, etc. Por ejemplo, esto puede incluir, una computadora de escritorio fija dentro de la MANET 100.
Detalles de varios protocolos de la MANET 100 denominados colectivamente en la presente como Protoco] Inalámbrico de MANET (MWP) - se proporcionan en lo siguiente. En general, cualquiera de los nodos anteriores que participan en la MANET 100 de acuerdo con el MWP puede incluir una plataforma de hardware que permita mejoras de software |y firmware de radio, las cuales pueden incluir, por ejemplo, †n dispositivo de computo dedicado o de propósito general, memoria, procesadores digitales de señales, componentes de radiofrecuencia, una antena, y cualquier otro hardware adecuado y/o software adecuado para implementar el MWP en nodos participantes En las modalidades, cualquiera de los dispositiv†s anteriores, tal como uno de los puntos 104 de acceso, también puede incluir un adaptador para otras redes, tal como in adaptador de red de Ethernet o adaptador de red IP equivalente, enrutador, y similares, para que el equipo de MANET 100 pueda participar en la MA ET 100 a través del dispositivo. También se aprecia que, si bien una conexión otras redes 110 centrales se muestra, esta conexión és opcional. Una MANET 100 (con o sin puntos 104 de acceso fijos) puede mantenerse de forma independiente, sin conexiones a ninguna otra red, y puede emplearse en forma útil para el único propósito de traficar datos entre lis dispositivos 102 de suscriptor La Figura 2 representa un diagrama de bloque de una MANET que tiene múltiples puntos de acceso de trayecto inverso. En general, la MANET 100 puede incluir dispositivos 102 de suscriptor (no mostrados) , puntos 104 de acceso y de punto 108 de acceso de trayecto inverso para conectarse a redes 110 centrales y un enrutador 202 de borde que facilita el enrutamiento entre la MANET 100 y las redes 110 centrales.
El enrutador 202 de borde puede incluir cualesquier dispositivos o sistemas para mantener conectividad entre la MANET 100 y las redes 110 centrales, y además puede soportar o mejorar la actividad de red dentro de los MANET 100. Por ejemplo, el enrutador 202 de borde puede incluir un estándar industrial y/o un servidor de Protocolo de Resolución de Dirección de Propiedad, un servidor de aplicación, un servidor de Red Privada Virtual, un servidor Translación de Dirección de Red, un cortafuegos, un servidor Sistema de Nombre de Dominio, un servidor de Protocolo de Configuración de Ordenador Dinámico, y/o un servidor de Operaciones, Administración, Mantenimiento y Provisión, así como cualquier combinación de lo anterior. Estos diversos componentes puedén integrarse en el enrutador 202 de borde, o puedén proporcionarse como sistemas separados (físico y/o lógico) que soportan la operación del enrutador 202 de borde. Estos sistemas de soporte pueden soportar en general operaciones tales como conectividad de Internet de banda ancha dentro de la MANET 100 y similares, comunicación de difusión que cruza entre la MANET 100 y las redes 110 centrales, etc., así como el uso de múltiples puntos 108 de acceso de trayecto inverso para enrutar en forma eficiente el trafico intra-MANET entre dispositivos 102 de suscriptor.
La Figura 3 representa un diagrama de bloque de †n nodo en una MANET. El nodo puede ser cualquiera de los dispositivos descritos anteriormente, tal como un dispositivos 102 de suscriptor, punto 104 de acceso, o punto de acceso de trayecto inverso. En general, el nodo 300 puede incluir fuentes 302 de datos, un enlace 304 de datos, In procesador 306 de señales, una radio 308, colas 310 de datos, información 312 de rutas, e información 314 de vecindario. Se entenderá que la siguiente descripción es por naturaleza general, y que numerosas disposiciones de procesamiento, almacenamiento y hardware de radiofrecuencia pueden emplearse adecuadamente para tener un efecto similar. Esta descripción se pretende para esquematizar ciertas operaciones de un nodo de MANET relevante a los sistemas y métodos descritos aquí, de ninguna manera limita la invención a la arquitectura específica mostrada la Figura 3.
Los recursos 302 de datos pueden incluir cualquiera de las aplicaciones u otro hardware y/o software asociado con el nodo 300. Esto puede incluir, por ejemplo, programas que se ejecutan en una computadora tipo laptop u otro dispositivo de cómputo portátil, un servidor web o de cliente, uña entrada multimedia y/o fuentes de salida, tal como una cámara 3 O digital o de vídeo, etc. En forma más general, cualquiér dispositivo, sensor, detector, o similar que pueda enviar o recibir datos puede operar como una fuente 302 de datos en él nodo 300. Además se entenderá que algunos nodos tales como los puntos 104 de acceso pueden no tener fuentes 302 de datos independientes, y pueden funcionar exclusivamente como elementos de red de la MANET 100 que ' retransmiten datos entre otros nodos y/o proporcionan estabilidad de red como se describe generalmente en lo anterior.
El enlace 304 de datos puede incluir hardware yjo software que implementa la funcionalidad de capa de enlace de datos tal como manejo de vecinos, segmentación y reensamblaje de paquetes de datos, manejo de Calidad de Servicio (QoS) de gestión, servicio de colas de datos, acceso de canal, índicés de datos adaptables, y cualesquier otras funciones de enlace de datos adecuadas. En general, el enlace 304 de datos j controla la participación de las fuentes 302 de datos, y én forma más general el nodo 300 en una MANET. Se entenderá que el enlace 304 de datos en la Figura 3 puede implement r cualquier número de protocolos de capa inferior (por ejemplo, capa física) o de capa mayor (por ejemplo, enrutamiento, transporte, sesión, presentación, aplicación) a partir de un Modelo de Interconexión de Sistemas Abiertos Convencional i (OSI) , o cualesquier protocolos y funciones relacionadás pueden implementarse en cualquier lugar dentro del nodo 300, tal como en una pila de IP que se ejecute en la fuente 302 de datos o en firmware dentro del procesador 306 de señales de radio o el radio 308, o en bloques funcionales adicionales no representado en la Figura 3. Por ejemplo, los protocolos de enrutamiento pueden implementarse dentro de hardware/software y el enlace 304 de datos para asegurar que los nodos en la MANET 100 compartan funciones de enrutamiento apropiadas. De esto modo, se apreciará que mientras ciertos elementos discutidos aquí pueden colocarse adecuadamente dentro de la capa de enlace de datos de una pila de protocolo formal, los sistemas y métodos de esta descripción también pueden implementarse de hecho con variaciones en una pila de protocolo convencional, o sin ninguna pila de protocolo formal de cualquier forma.
El enlace 304 de datos puede incluir un gestor de enlaces que recopila la información de vecinos de ,1a capa de enlace de datos, y puede formar y mantener la información 314 de vecindario para el nodo 300. Esta tabla puede utilizarse para establecer rutas a vecinos, y puede actualizarse ! periódicamente con información de vecinos de uno y dos saltos como se describe además en lo siguiente. El gestor de enlaces puede monitorear estadísticas de todos los enlaces activos i para un nodo en una base de enlace por enlace para soportar cálculos de calidad de enlace y otras funciones descritas aquí .
El procesador 306 de señales puede incluir procesamientos de formas de onda y funciones de tiempo asociada con la recepción de datos en el nodo 300. Esto puede incluir, por ejemplo, tiempo de red, intervalo de tiempo y/o configuración de forma de onda basada en trama, mantenimiento de una o más familias de los modos de forma de onda de Multiplexión de División por Frecuencia Ortogonal (u otras formas de onda de otro modo de transmisión) , detección del receptor de los modos de forma de onda, codificación de corrección de errores, etc. En general, el procesador 306 de señales puede implementarse en cualquier combinación adecuad Ia de procesadores de señales digitales, disposiciones de puerto programables de campo, circuitos integrados de aplicación específica, microprocesadores y otros dispositivos de cómputo de propósito general o especial. j i En una modalidad, una familia de formas de onda de Multiplexión de División por Frecuencia Ortogonal (OFDM) puede emplearse para comunicaciones de índice de datos adaptable. Los modos de las formas de onda de OFDM, por ejemplo, pueden incluir Modulación por Desplazamiento de Fase en Cuadratura (QPSK) de 7.2 MHz, QPSK de 4.8 MHz, QPSK de 2.4 MHz, QPSK de 1.2 MHz, Modulación por Desplazamiento de Fase Binaria de (BPSK) de 1.2 MHz, o similares. El índice de datos efectivo para transmitir formas de onda puede efectuarse por otros parámetros tales la corrección de errores. Para facilitar la implementación de un sistema de índice adaptable, los modos de transmisión pueden organizarse en una lista ordenada para incrementar en forma monotónica los índices de datos correlacionados con disminuir en forma correspondiente la fuerza de señal, de este modo permitiendo un mapeo único de calidad de enlace para el modo de transmisión. En un aspecto, el modo de forma de onda real seleccionado para transmitir datos en un enlace pueden seleccionarse de forma adaptable de acuerdo con cualquier evaluación adecuada de calidad del enlace para enlaces para nodos vecinos.
La radio 308 en general opera para transmitir datos desde las colas 310 de datos, como organizadas y codificadas por el enlace 304 de datos y el procesador 306 de señales (junto con cualquier información de control, información de encabezado de paquete, etc.), sobre una interfaz aérea inalámbrica a otros nodos en una MANET, y para realizar recepción complementaria de datos. La radio 308 puede incluir cualquier circuitería análoga de radiofrecuencia y similares, y puede acoplarse al procesador 306 de señales que convierte los datos e información de control entre una representación digital utilizada dentro del nodo 300, y una representación analógica utilizada en comunicaciones por radiofrecuencia con otros nodos. En las modalidades, una radio 308 de baja potencia puede emplearse, tal como donde el nodo 300 es In dispositivo móvil impulsado por batería. En otras modalidades, una radio 308 de alta potencia puede emplearse, tal como donde el nodo 300 es un punto de acceso o punto de acceso de trayecto inverso conectado a una infraestructura de energía fija. En una modalidad, la radio 308 y el procesador 306 de señales proporcionan codificación de índice de datos adaptable capaz de cambiar los modos de transmisión, la corrección de errores, y similares, de acuerdo con la calidad de enlace medida.
Las colas 310 de datos 310 pueden incluir cualesquier datos para transmisión desde el nodo 300. Estos pueden incluir, por ejemplo, datos desde las fuentes 302 de datos, datos que se retransmiten por el nodo 300 desde otros nodos en la MA ET, y/o información de control programada para la transmisión dentro de paquetes de datos desde el nodo 30Ó . Las colas 310 de datos pueden organizarse en cualquier forma adecuada, y pueden incluir una cola sencilla de primero en entrar, primero en salir, múltiples colas, colas con prioridad, y similares. En una modalidad, el nodo 300 puede incluir múltiples colas con prioridad para ayudar proporcionar varios niveles de servicio, tales como para tráfico de QoS. En general, los datos en las colas 310 de datos se distribuyen de acuerdo con cualquier mecanismo de formación de colas adecuado para el enlace 304 de datos, procesador 306 de señales, y la radio 308 para la transmisión dentro de la MANET.
La información 312 de rutas, tal como la tabla de rutas o de reenvío pueden proporcionarse para soportar funciones de enrutamiento por el nodo 300. En general, esto puede incluir, por ejemplo, una dirección de destino identificador, el costo de una trayectoria hacia el destino (utilizando cualquier cálculo de costos adecuado) y un siguiente salto en esa trayectoria. Otra información, tal como la calidad de servicio y otras métricas para otras rutas y enlaces también pueden proporcionarse para decisiones de rutas más refinadas.
La información 314 de vecindario puede mantenerse en una base de datos, archivo plano, tabla de rutas u otro almacén volátil o no volátil adecuadamente organizado dentro del nodo 300. La información 314 de vecindario generalmenle soporta la creación y mantenimiento de la MANET, así como las funciones de rutas de cada nodo de MANET. Dentro de la MANET, cada nodo puede interactuar con otros nodos para identificar y mantener de forma autónoma las conexiones de red local, capacidad de cambio, formar en forma dinámica a través de la red, etc. Las funciones de rutas del nodo (como soportado por la información 314 de vecindario) pueden acomodar el tráfico sensible a retardo (por ejemplo, voz) tráfico tolerante retardo con prioridad de Calidad de Servicio (QoS), etc.
La información 314 de vecindario puede incluir u†a identificación de los nodos vecinos, junto con la información con respecto a esos nodos. Esto puede incluir vecinos de un solo salto (es decir, nodos vecinos en comunicación inalámbrica directa con el nodo 300) , vecinos de dos saltos (es decir, los nodos vecinos que se comunican con el nodo 300 a través de únicamente otro nodo) , o cualquier otros nodos participantes dentro de la MANET. En un aspecto, la información 314 de vecindario incluye información de calidad de enlace para la radio 308, la cual puede obtenerse de cualquier combinación de datos de capa física y enlace de datos, y puede emplearse para adaptar el índice de datos de comunicaciones de acuerdo con las condiciones de can†l actualmente presentes. La información de vecindario también puede incluir datos de QoS utilizados para seleccionar los siguientes saltos para los datos de QoS. Otra información útil puede incluir utilización de ancho de banda, ponderaciones de nodos, posición del nodo (ya sea lógica física) , y latencia de la cola para cada tipo de QoS y/u otro tipo de prioridad.
En un aspecto, la información 314 de vecindario puede reunirse durante intercambios periódicos (tal coiio durante las transmisiones de control) con nodos vecinos, los cuales pueden presentarse bajo el control del gestor de enlaces del enlace 304 de datos. Por ejemplo, el nodo 300 puede determinar el ancho de banda de salida (es decir, los requisitos de transmisión de datos) , para cada enlace que el nodo de 300 tiene con un vecino, y puede transmitir a vecinos de un solo salto. Similarmente el nodo 300 puede recibir ancho de banda de salida de cada vecino de un solo salto. Utilizando estos datos, cada nodo 300 además puede calcular su propio ancho de banda de entrada (es decir, requisitos de recepción de datos) desde cada enlace hasta un nodo vecino, y esta información puede intercambiarse a su vez con vecinos de un solo salto. Después de un intercambio en todo el sistema con vecinos de un solo salto, el nodo 300 (y cada tercer nodo en la MANET) pueden calcular una ponderación de nodo que representa los requisitos de salida relativa para el nodo 300. Por ejemplo, la ponderación de nodo W, puede calcularle como : BWQut [Ecuación 1] W= BWout + BWin donde BWout es la salida total o requisito transmisión para cada enlace del nodo 300, y BWin es la entrada total o requisito de recepción para cada enlace del nodo 300. Finalmente, el nodo 300 puede transmitir la ponderación de nodo a cada nodo vecino, y a su vez puede recibir una ponderación de nodo de cada nodo vecino. Se apreciará que la ponderación de nodo, W, además puede procesarse para su uso con otra información 314 de vecindario, tal como al limitar el valor de acuerdo con el número de bits utilizados para la información de control, al proporcionar un ajuste suplementario a la ponderación de nodo para refinar adicionalmente el control de rutas u otras funciones de MA ET. La participación de información para el mantenimiento de la información 314 de vecindario puede controlarse, por ejemplo, por el enlace 304 de datos, el cual puede aplicar cualquier técnica adecuada para determinar cuándo compartir información con vecinos de un solo salto. En un aspecto, el enlace 304 de datos puede transmitir datos siempre que se detecte un cambio en la MANET, tal como la adición o supresión de un nodo.
En otro aspecto, para una MANET que tiene nodos 300 de atención de ubicación (por ejemplo utilizando los datos de Sistema de Posicionamiento Global (GPS) , datos de resistencia de señal, etc.) , la información 314 de vecindario puede incluir datos de posición para soportar rutas basadas en ubicación y similares.
Habiendo descrito en términos generales una MANET que se puede implementar la segmentación dinámica y reensamblaje descritos aquí, la descripción ahora regresa a un tratamiento más detallado de una modalidad de los sistemas y métodos para la segmentación dinámica y reensamblaje de datos. Primero, una modalidad ejemplar de la medida de calidad de enlace se proporciona, seguida por una modalidad ejemplar del uso de estos datos de calidad de enlace para segmentar y reensamblar paquetes de datos en la capa física de una radio de MANET. j i La Figura 4 representa un diagrama de flujo de un proceso para medir la calidad del enlace. El proceso 4Ó0 puede iniciar en 402 con un nodo que cuenta paquetes recibidos en un enlace durante cierto periodo de tiempo predeterminado tal como un segundo como se muestra en la í etapa 404. Durante un periodo de tiempo correspondiente, él i nodo también puede contar paquetes enviados en el enlace como i se muestra en la etapa 406. Para un sistema de Acceso Múltiple de División por Tiempo (TDMA) , los conteos de paquete pueden incluir un conteo del número de intervalos recibidos en una trama de TDMA. | Cada nodo entonces puede intercambiar información de conteo de paquetes para cada enlace con nodos vecinos como se muestra en la etapa 408. Esto puede incluir, por ejemplo, transmitir un conteo de paquetes recibidos para cada enlace a cada nodo vecino, y recibir de cada nodo vecino el número de paquetes que puede recibirse sobre cada enlace. Estos datos pueden utilizarse, por ejemplo, para evaluar paquetes extraviados, sueltos o de otra forma perdidos para cada enlace de datos como se describe en lo siguiente.
Cada nodo puede obtener un Indicador de Señal de Resistencia de Recepción (RSSI) de un canal, como se muestra en la etapa 410. Estos datos pueden obtenerse, por ejemplo, directamente del hardware de radio para el nodo. Se entenderá que mientras un RSSI es una métrica común disponible del hardware de radio, cualquier indicador de intensidad de señal i I adecuado también o de hecho puede emplearse .
Como se muestra en la etapa 412, el nodo entonc†s puede calcular una calidad de enlace para cada enlace, y el proceso 400 puede regresar a la etapa 404 donde nuevos conteos de paquetes pueden obtenerse. Cualquier cálculo adecuado puede utilizarse para calcular la calidad de enlace. j Por ejemplo, una relación de paquetes enviados a recibidos pueden obtenerse y ponderarse de acuerdo con el RSSI . Estos i valores proporcionan una métrica útil que combina la resistencia de señal física actual y la integridad de paquete observada actual, para un enlace. Otras métricas también o de hecho pueden emplearse tal como una relación de señal ! a ruido, una relación promedio de señal a ruido durante uria señal durante un intervalo de tiempo predeterminado, un índice de bits erróneos (antes de cualquier corrección de errores sin retorno), o un conteo de paquetes sueltos simple. i Las métricas de calidad de enlace resultantes pueden emplearse en forma útil en varias formas. En un aspecto, l s métricas de calidad de enlace pueden emplearse para seleccionar un modo de transmisión (y el índice de datos correspondientes) para cada enlace, de este modo soportando un canal de comunicación de índice de datos adaptable. En I otro aspecto, la información de calidad de enlace puede almacenarse la información de vecindario para el nodo, !y I puede emplearse en cálculos de rutas basados en costos !y í otras funciones de rutas o red. Más específicamente, ya que I se relaciona con esta descripción, las métricas de calidad de i enlace pueden emplearse para soportar segmentación dinámica y reensamblaje de paquetes como se describe en mayor detalle én I lo siguiente. | Se entenderá que numerosas variaciones al proceso i 400 anterior son posibles sin apartarse del alcance de la invención. Por ejemplo, el índice de cambio en la calidad de enlace, la distancia entre los nodos, la topología de red, el movimiento de nodos, o cualquier otra métrica que pueda capturarse por uno o más nodos y emplearse en una forma útil en un cálculo de calidad de enlace. Similarmente, el orden de las etapas en el proceso 400 anterior no se requiere estrictamente, y una etapa tal como cálculo de calidad enlace puede realizarse en cualquier intervalo regular con respecto a los conteos de paquete y las medidas de canal . Además , aunque se ilustra como un proceso sencillo, se entenderá que cualquier número de cálculos de enlace puede realizarse, ya sea en serie o en paralelo, para algunos o todos los enlaces de un nodo. Todas las variaciones que puedan ser aparentes para alguien de experiencia en la técnica y que pueda emplearse en forma útil en un nodo de MANET se pretenden para caer dentro del alcance de esta descripción.
La Figura 5 representa un diagrama de flujo de un proceso para segmentación dinámica y reensamblaje de datos. En general, el proceso 500 incluye un proceso 502 de nodo de transmisión y un proceso 504 de nodo de recepción ejecutados en un nodo que transmite los datos y un nodo que recibe los datos respectivamente. El proceso 500 puede comenzar 506 cdn recibir un paquete de datos como se muestra en la etapa 508. El paquete puede recibirse desde cualquier fuente dentro de un nodo incluyendo sin limitación una de las fuentes de datls del nodo como se describe en lo anterior, o desde una de lis colas de datos del nodo utilizado para retransmitir datos de en la información de vecindario mantenida por el enlace de datos y simplemente puede requerir recuperar información relevante para el enlace. De este modo, la calidad de enlace, un modo de transmisión y la longitud de carga útil correspondiente puede predeterminarse para el enlace de acuerdo con cualquier protocolo de índice de datos adaptable empleado dentro del nodo y/o la MANET, y accedido como cuando es necesario por el proceso de segmentación y reensamblaje j para facilitar la segmentación eficiente y reensamble de datos . La longitud de carga útil puede almacenarse con otra información para el enlace, o puede calcularse basándose en otros parámetros para el modo de forma de onda correspondiente. La información relevante, también, de hecho puede obtenerse por la medida directa de características de capa física o mediante cierta combinación de estas. De estte modo, en general la evaluación del enlace de datos puede I derivarse de la información recolectada y mantenida por él nodo durante la operación ordinaria, o puede presentarse concurrentemente con la recepción del paquete utilizando cualesquier datos disponibles o alguna combinación de estos.
Sin embargo, la evaluación realizada del enlace de datos puede resultar en una determinación o selección de uña í longitud de carga útil para los paquetes de capa física transmitidos por la radio.
Como se muestra en la etapa 512, después de I determinar una longitud de carga útil para los datos í basándose en la evaluación de un enlace de datos particular, el paquete recibido en la etapa 508 puede segmentarse. Én general, esta etapa implica una comparación de la longitud de paquete con la longitud de carga útil disponible para el modo de transmisión del enlace de datos. Si la longitud de paquete es menor que la longitud de carga útil, los datos en el paquete pueden transmitirse sin segmentación. Si la longitud del paquete es mayor que la longitud de carga útil, cualquier tipo de segmentación puede emplearse adecuadamente. A manera de ejemplo, para un sistema de índice de datos adaptable que utiliza cuatro modos de transmisión que tiene longitudes de carga útil de lx, la longitud de paquete de red 0.5x de ja i longitud de paquete de red 0.25x de la longitud de paquete de red y 0.125x de longitud de paquete de red, un paquete de réd puede dividirse en uno, dos, cuatro u ocho segmentos. En ün aspecto, la capacidad adicional en una carga útil de modo de transmisión puede llenarse con otros datos, incluyendo otros i segmentos de otros paquetes de red pretendidos para el mismo enlace de datos o nodo. Se apreciará que el ejemplo anterior se proporciona a manera de ilustración y no de limitación y que existen numerosos tipos de segmentación que puede implementarse adecuada y útilmente en un proceso de segmentación y reensamblaje como se describe en la present†, El solicitante ha desplegado con éxito una segmentación dinámica y reensamblaje como se describe aquí utilizando tanto como doce modos de forma de onda diferentes.
Como se muestra en la etapa 514, cada segmento puede encapsularse para comunicación a otro nodo en la MANET. Esto puede incluir la adición de un encabezado que contiene cualquiera de la información de encabezado del paqueie original, así como la información suplementaria para soportar su reensamblaje. Por ejemplo, el encabezado de segmento puede incluir un modo de transmisión del segmento, una longitud de carga útil para .el segmento que especifica una longitud y una porción de datos del paquete (por ejemplo en bytes) , un identificador de fragmento que especifica una posición del segmento en el paquete original, y un indicador de último fragmento. Un identificador de corriente puede proporcionarse que identifica un número segmentos relacionados tales como segmentos que comparten un destino y/o una dirección de origen, el tipo de servicio, y el modo de transmisión. Estte puede utilizarse, por ejemplo, para identificar un número de segmentos que pertenecen a una corriente común, pero q e abarca dos o más de los paquetes de red recibidos en la etapa 508. Un paquete no segmentado puede identificarse utilizando está información de encabezado, tal como al establecer el identificador de fragmentos y el indicador de ultimo fragmento en un valor de uno. Se entenderá que la información de encabezado de segmentación descrita en lo anterior es opcional. La información tal como los tipos de servicio y los modos de transmisión también puede o de hecho se obtiene o se infiere a partir de la información de vecindario mantenida por el nodo de recepción como se describe generalmente en lo anterior.
Como se muestra en la etapa 516, un segmento puede transmitirse a un nodo de recepción. Esto puede incluir analizar la información de encabezado y poner en cola él segmento para la transmisión utilizando cualquiera de las técnicas adecuadas . El segmento entonces puede transmitirse sobre un enlace de la interfaz aérea utilizando un enlace correspondiente y el modo de transmisión. j Como se representa en la etapa 518, el segmento puede recibirse por un nodo de recepción sobre el enlace i corresponde de la interfaz aérea. El segmento entonces puede reensamblarse con otros segmentos en un paquete de red i utilizando operaciones complementarias a aquellas descritas I en lo anterior. En general, este reensamblaje puede incluir utilizar datos en el encabezado de segmento y/o información mantenida en el nodo de recepción que con respecto a los nodos vecinos. ; Como se muestra en la etapa 520, el paquete de red de reensamblado puede ponerse en cola para la transmisión a i otro nodo en la MANET de acuerdo con cualquier información de destino anexada a los datos. Se entenderá que esta etapa es opcional, y donde los datos se pretenden para uso en el nodo i de recepción, el paquete de red puede descodificarse de hecho adicionalmente para su uso en aplicaciones o similares que se ejecuten en el nodo de recepción de acuerdo con cualquiera de las pilas de protocolo en el nodo. Donde el paquete se pone en cola para reenviar a otro nodo, el paquete de red puede segmentarse nuevamente como se describe generalmente en lo anterior. ! Como se muestra en la etapa 522, el proceso puede finalizar. Se apreciará que el proceso 500 puede repetirse en cada salto de una trayectoria a través de una red. De estie modo, en un aspecto se describe en la presente un proceso de segmentación y reensamblaje que se segmenta dinámicamente ¡y ! i reensambla datos en una base de enlace por enlace a través de una ruta de red de multi-saltos . Además se apreciará que él orden de las etapas anteriores puede variarse y que las etapas pueden agregarse, removerse de o modificarse en el proceso 500 anterior sin apartarse de alcance de estja descripción. Por ejemplo, las etapas que evalúan las i calidades de enlace y asignan los modos de transmisión de forma de onda a enlaces individuales puede ejecutarse én forma independiente del proceso de segmentación y reensamblaje, y puede proporcionar una interfaz de programación, llamada de función, objeto, servicio o similar que proporcione datos de vecindario o relevantes en una base según se necesite. Además, un nodo puede soportar múltiples colas de datos, de las cuales cada una puede ejecutar procesos de segmentación y reensamblaje en paralelo o én serie. Además se entenderá que los métodos y sistemas descritos en lo anterior pueden adaptarse adecuadamente otro hardware y/o software, tal como al utilizar antenas I direccionales para mantener enlaces de datos individuales jo al utilizar la información de vecindario en lugar de ía información de encabezado de segmento para controlar la segmentación y reensamblaje. Todas las variaciones que puedan ser aparentes para alguien de experiencia ordinaria en la técnica, se pretenden para caer dentro del alcance de es¿a descripción.
La Figura 6 representa una arquitectura 600 de cola que puede utilizarse con un sistema de formación de colas circuito cíclico ponderado anidado con prioridad. arquitectura 600 de colas puede desplegarse, por ejemplo las colas 310 de datos de la Figura 3. La arquitectura 600 cola puede incluir un contador 602 de entrada de flujo de paquetes, un contador 604 de exceso de flujo de paquetes, un medidor 606 de profundidad de cola, colas de prioridad colas 610 de circuito cíclico ponderadas. La estructura 600 de colas puede almacenarse en una memoria volátil o no volátil utilizando cualquier lista adecuada, lista ordenada, i memoria intermedia, índice u otra estructura de memoria adecuada para almacenar colas de datos junto con código u otros mecanismos para agregar y remover datos de las colas 612, contar el flujo de paquetes entrante y saliente, medir la profundidad de cola, etc. En general, cada cola 612 opera como una memoria intermedia de primera en entrar primero en salir para paquetes que se transmitirán desde el nodo antes descrito. El contador 602 de entrada de flujo de paquetes, el contador 604 de exceso de flujo de paquetes, y el medidor 606 de profundidad de cola pueden utilizarse para monitorear el rendimiento de las colas 608, 610 y donde es apropiado, puede I proporcionar realimentación para ajustar las ponderaciones de las colas 610 de WRR para ajustar la programación de paquetes de acuerdo con las condiciones de tráfico. Por ejemplo, el contador 602 de entrada de flujo de paquetes puede contar los paquetes conforme llegan para formarse en la cola y pueden proporcionar conteos regados y/o conteos de cola específica. El contador 604 de exceso de flujo de paquetes puede contener paquetes que se soltaron por las colas debido al envejecimiento, al exceso de flujo de la memoria intermedia, o similares. El medidor 606 de profundidad de cola puede proporcionar una profundidad para cada cola y puede actualizarse continuamente conforme los paquetes se agregan, se distribuyen o se sobrecargan fuera de las colas .
Las fuentes 614 de paquetes pueden incluir cualquier fuente de datos dentro de un nodo, tal como software de aplicación que se ejecuta en el nodo o datos recibidos en el nodo para retransmisión a otro nodo en la MANET. En general, las fuentes 614 de paquetes pueden alimentar las colas utilizando datos de prioridad explícitos o implícitos que incluyen sin limitación tipos de tráfico u otra prioridad, modo de transmisión, o datos de calidad de enlace etiquetados en datos de las fuentes 614 de paquetes, asociados con enlaces de la interfaz aérea que se utilizará para transmitir los datos. En una modalidad, las fuentes 614 de paquetes pueden incluir trafico con niveles de QoS, de Tráfico de Voz sobre IP, video de propagación y similares. El tráfico puede identificarse utilizando los Puntos de Código DiffServ (DSCPs) IETF RFC 2475 tal como Reenvío Acelerado, Entrega Asegurada y Mejores Esfuerzos. Cada clase de tráfilo puede dividirse adicionalmente en subtipos de prioridad dentro de la clase. Más generalmente, cualquier esquema de prioridad explícito o implícito puede emplearse, sin embargo, tal tráfico se categoriza, un mecanismo de entrega adecuado puede desplegarse utilizando los sistemas y métodos descritos aquí .
Un servidor 614 de cola puede operar para atender las colas 612 al seleccionar los datos de las colas 612 de acuerdo con un algoritmo de programación y programar los datos para la transmisión sobre una interfaz aérea del nodo, tal como en un intervalo de tiempo de un sistema de Acceso Múltiple de División por Tiempo. En general, las colas 608 de prioridad, si las hubiera, recibirán servicio inmediato completo desde el servidor 614 de cola, de modo que cualesquier datos colocados en estas colas 612 se programaran inmediatamente para su transmisión. Las colas 608 de prioridad pueden tener prioridad para proporcionar múltiples niveles de prioridad para este servicio preventivo. De este modo, una prioridad 1 o cola de prioridad "Elevada" siemp e se atenderá inmediatamente. Una prioridad 2 o cola ce prioridad "Mediana" siempre se atenderá inmediatamente a menos e que existan datos de prioridad 1. Una prioridad 3 cola de prioridad "Baja" siempre se atenderá inmediatamente menos que exista datos de prioridad 1 y/o prioridad 2. En las modalidades, pueden no existir colas con prioridad, y la formación de colas de circuito cíclico ponderado anidada puede utilizarse exclusivamente para programar datos. Las colas 610 de circuito cíclico ponderado (WRR) pueden incluir cualquier número de colas de datos. Como se representa, las colas 610 WRR incluyen tres colas (Q1-Q3) , de las cuales una es una cola de WRR anidad que incluye tres colas adicionales (Q4-Q6) . Cada cola 610 de WRR tiene una ponderación asociada con la misma, como se indica entre paréntesis bajo la etiqueta de cola (por ejemplo, Ql tiene una ponderación de 6, Q2 tiene una ponderación de 3, etc.) El servidor 616 de cola controla la forma en la cual los datos se remueven de esas colas diversas y se programa para su entrega, como se describe en mayor detalle en lo siguiente.
La Figura 7 presenta un algoritmo de programación para su uso con la estructura de cola de la Figura 6. Aunque no se representa explícitamente en la Figura 7, se entenderá que cada vez que se "selecciona" un paquete, el paquete puede colocarse en un intervalo de tiempo o programarse de otra forma para su transmisión en orden de selección. Además se entenderá que mientras la siguiente descripción se refiera Ja I paquetes, el proceso 700 aquí puede emplearse en forma más general con datos de diversas longitudes y tipo sin apartarse del alcance de esta descripción. El proceso 700 puede comenzar en 702 al determinar si existen datos de prioridad en una cola de prioridad preventiva como se muestra en lia etapa 704.
Como se muestra en la etapa 706, si existen datos en una de las colas de prioridad, entonces puede seleccionarse un paquete de las colas de prioridad y el proceso puede regresar a la etapa 704 donde las colas de prioridad se comprueban nuevamente para los datos . Las etapas 704 y 706 pueden repetirse hasta que las colas de prioridad se vacíen. En una modalidad, una cola de prioridad preventiva i sencilla puede emplearse. En otra modalidad, un número de colas preventivas puede emplearse, las cuales pueden tener prioridad relativa de modo que una de las colas preventivas que tiene una prioridad más alta primero se vacía, seguida en orden por cualquiera de las . colas preventivas de prioridad descendente .
Como se muestra en la etapa 708, si no existen datos de prioridad, el proceso 700 puede continuar determinando si es momento de atender una cola de RR anidada. Un programa de circuito cíclico ponderado generalmente atiende a una cola de WRR de acuerdo con la ponderación de cola. Sin embargo, en un WRR anidado, una de las colas se refiere a una cola de WRR anidada que tiene su propio programa de cola, pero se accede solo en forma periódica cuando la cola de WRR no anidada alcanza la cola anidad en su propio programa. De este modo si no existie tiempo para atender la cola anidada, el proceso 700 puede proceder a la etapa 710 donde se selecciona un paquete de la cola de WRR de acuerdo con un programa de WRR, y después regresa a la etapa 704 donde los datos de prioridad (si los hubiera) una vez más se les da una atención preventiva. Si existe tiempo para atender a un WRR anidado - es decir, las colas anidadas son la cola actual en el programa de WRR no anidado, entonces el proceso 700 puede proceder a la etapa 1 712 donde se selecciona un paquete de la cola de WRR anidada de acuerdo con el programa de WRR anidado. El proceso 700 ¡ entonces puede regresar a la etapa 704 donde los datos de i prioridad, (si los hubiera) se les da una atención preventiva. i Se entenderá que la ilustración anterior se proporciona a manera de ilustración y no de limitación, y que numerosas adiciones, supresiones y modificaciones en las etapas anteriores pueden hacerse sin apartarse de la generalidad de esta descripción. Por ejemplo, en una i modalidad, el programa de cola de WRR anidado puede comenzar desde su comienzo cada vez que se atienda por el WRR rio anidado. En otra modalidad, la secuencia de la cola de WRR anidada puede conservarse entre solicitudes, de modo que cada vez que la cola de WRR no anidada regrese a la cola anidad de WRR, la cola anidad de WRR puede tomarse de donde se quedo en su secuencia. Similarmente , la cola de WRR no anidada reestablecerse o continuar cada vez que se prevacíe por los datos de prioridad. Como otro ejemplo, las colas de prioridad pueden implementarse en forma asincrona y separadamente de las colas de WRR. En tales modalidades, una cola preventiva puede operar continuamente, y puede pausar y prevaciar las colas de WRR siempre que se presenten datos de prioridad.
Un ejemplo detallado ahora se proporciona para quitarle la cola a los datos de acuerdo con un mecanismo de programación de circuito cíclico ponderado anidado con prioridad.
La Figura 8 muestra una estructura 800 de cola que contiene paquetes en varias colas. En particular, la estructura de cola contiene los siguientes paquetes: 10 paquetes en una cola de prioridad alta, PR1, 7 paquetes en una cola de prioridad baja, PR3 , 9 paquetes en una primera cola de WRR, Ql, ' 7 paquetes en una segunda cola de WRR, Q2, 7 paquetes en una cola anidada de WRR, Q4, 2 paquetes en una cola anidada de WRR, Q5, y 5 paquetes en una cola anidada de WRR, Q6. La Figura 9 representa una secuencia de programación para las colas de la Figura 8. La secuencia 900 se presenta como una primera línea de tiempo 902, una segunda línea de tiempo 904, y una tercera línea de tiempo 906, las I j cuales ilustran colectivamente una secuencia de paquetes atendidas de la estructura de cola de la Figura 8. En una primera linea de tiempo 902 que representa dieciocho paquetes programados en serie, puede observarse que inicialmente los diez paquetes en PR1 se programan preventivamente. En segundo lugar, los siete paquetes de la cola de prioridad más baja, PR2 se programan preventivamente . Después de que los datos preventivos se han programado, las colas restantes pueden atenderse en una forma de circuito cíclico ponderado. Es¿o comienza con un paquete de Ql, como se muestra en la primera línea de tiempo 802.
Como se muestra en la segunda línea de tiempo 904 , la programación puede proceder para atender las colas Ql, Q2 i y Q3 (anidadas) en forma de circuito cíclico de acuerdo con las ponderaciones de cola. Con las ponderaciones 6, 3 y í, j respectivamente, un circuito cíclico ponderado atenderá a Ql seis veces, Q2 tres veces, y Q3 una vez cada 10 seleccionas de paquete. En un programa de circuito cíclico ponderado, el orden puede variar en cualquier forma con la condición que el resultado sea un servicio correspondientemente ponderado de ! las colas. Como se ilustra, seis paquetes consecutivos se seleccionan de Ql, comenzando con el último paquete en la primera línea de tiempo 902, y concluyendo con los primeros i cinco paquetes en la segunda línea de tiempo 904. En la forma de circuito cíclico ponderado, tres paquetes entonces pueden seleccionarse de Q2. En este punto, las colas anidadas WRR se atienden en proporción a su ponderación en las colas WRR rio i I anidadas. Es decir, con una ponderación de 1, las colas i anidadas de WRR se atienden una vez por cada ciclo de lás colas de WRR. Como se ilustra, esto resulta en una selección de un paquete de una de las colas anidadas de WRR (Q4 en este ejemplo) , seguida por un retorno a la cola no anidada de WRR. El anidado se indica en las líneas de tiempo 902, 904, 906 por el uso de paréntesis en la cola de WRR significa el punto de anidado, con el paquete seleccionado actual mostrado en el intervalo de tiempo correspondiente para las colas anidadas de WRR. ! En este momento, no existen paquetes de prioridad restantes, y los siguientes paquetes en las colas WRR: 3 paquetes en una primera cola de WRR, Ql, 4 paquetes en una segunda cola de WRR, Q2 , 6 paquetes en una cola anidada de WRR, Q4, 2 paquetes en una cola anidada de WRR, Q5, y \ i 5 paquetes en una cola anidada de WRR, Q6.
Regresando a las colas no anidadas de WRR, Ql, Q2 jy Q3 una vez más se atienden de acuerdo con la ponderación. De este modo, tres paquetes restantes en Ql se programan, seguidos por tres de los paquetes de Q2 , seguido por una referencia a las colas anidadas de WRR. Regresando ahora a la parte principal del programa no anidado de WRR, solo un paquete permanece en las colas no anidadas, cuyo paquete se programa inmediatamente para su entrega. En el resto de la segunda línea de tiempo 904, todos los paquetes restantes para su entrega se encuentran en la cola anidada de WRR, la cual puede entonces proceder para atender a los paquetes cié Q4 , Q5 y Q6 en una forma ponderada. Como se muestra en la Figura 8, estas ponderaciones son 5, 3 y 1 respectivamente. De este modo, ya han proporcionado dos paquetes de Q4 , tres paquetes adicionales entonces pueden atenderse a partir de esta cola como se muestra en el último intervalo de tiempo de la segunda línea de tiempo 904 y los dos primeros intervalos de tiempo de la tercera línea de tiempo 906. Después, tres paquetes pueden atenderse de Q5. Sin embargo, solo dos paquetes quedan, de modo que se atienden en secuencia pa a hacer la cola Q5. Finalmente, un paquete de Q6 puede atenderse. En este punto, lo siguientes paquetes permanecen para su entrega desde la estructura de cola: 2 paquetes en una cola anidada de WRR, Q4, y 4 paquetes en una cola anidada de WRR, Q6. En este punto, WRR anidado continua atendiendo los paquetes de la estructura de cola de acuerdo con las ponderaciones respectivas de Q4(5) y Q6(l). Por consiguiente, j los dos paquetes restantes se suministran desde Q4, seguido por los 4 paquetes restantes de Q6. En este punto, todas las colas se vacían, y ninguna programación adicional se presentará hasta que todos los datos adicionales se proporcionen a la estructura de cola.
Se apreciará que la noción general de anidar las colas de circuito cíclico puede extenderse fácilmente para acomodar múltiples capas de anidado tal como la cola de WRR de nivel superior que contiene una primera cola anidada de WRR, con al menos una cola anidada de WRR adicional que se anida dentro de la primera cola anidada de WRR. La estructura I también puede extenderse al proporcionar múltiples grupos de cola de WRR en cada nivel de anidado. De este modo, por I ejemplo, una cola de WRR puede incluir una primera cola qúe tiene una ponderación de 7, una segunda cola que tiene una ponderación de 3, una primera cola anidada de WRR que tiene i una ponderación de 4 y una segunda cola anidada de WRR que tiene una ponderación de 2. En esta modalidad, la primeta cola anidada de WRR accederá dos veces tanto como la segunda cola anidada de WRR, y los paquetes en las colas anidadas de WRR recibirán colectivamente (2+4=) 6 de cada (7+3+4+2=) 16 intervalos de tiempo, mientras se programan dentro de cada cola anidada puede establecerse en forma arbitraría ál ponderar las colas ahí. De este modo como materia general, la programación de multicapa relativamente arbitraria puede proporcionarse para lograr varios niveles de servicios |u otros objetivos de rutas o red.
Otras variaciones y mejoras para lo anterior también pueden proporcionarse. Por ejemplo, el procedimiento general descrito en lo anterior puede adaptarse para su uso con antenas direccionales al utilizar formación de colas basadas en destino en lugar de, o además de los tipos de tráfico. En otras modalidades, las colas pueden conectar.se explícitamente a ciertos tipos de tráfico, y las ponderaciones pueden ajustarse periódicamente para estos tipos de tráfico de acuerdo con la profundidad de cola. En otras modalidades, ponderaciones pueden ajustarse periódicamente de acuerdo con las ponderaciones de nodo (descritas en lo anterior) para mejorar las posibilidades de cumplir con varios propósitos de nivel de servicio paira ! tráfico. También como se observa en lo anterior, transiciones entre colas de prioridad, colas de WRR y colas anidadas de WRR pueden manejarse en un número de formas incluyendo reiniciar cada grupo de colas cada vez que se accedan, regresar a un punto en el programa para ese grupo de colas donde se hizo el último acceso o servicio.
La Figura 10 representa un diagrama de flujo de un proceso para enrutamiento multimétrico en una MANET. En general, el proceso 1000 opera para reunir datos multimétricos en un nodo en la MANET, y aplicar los datos multimétricos para cálculos de rutas, y al final para enrutar paquetes .
El proceso 1000 puede comenzar 1002 con recibir métricas de recursos desde vecinos como se muestra en la etapa 1004. Esto puede incluir una amplia gama de métricas y/o resultados de cálculo descriptivos de los requisitos de entrada y salida de datos en nodos vecinos, y puede abarcar un vecindario de salto, un vecindario de dos saltos, o algún vecindario más grande. Esto puede incluir información de vecindario adquirida en un nodo como se describe generalmente en lo anterior. En particular, el ancho de banda de salida puede emplearse en forma útil como una medida de los requisitos de transmisión de datos para un nodo con respecto al acceso del nodo a los intervalos de tiempo o capacidad de transmisión. El ancho de banda de salida puede calcularse (después de un intercambio de información con nodos vecinos) como se describe generalmente en lo anterior. El ancho de banda de salida también puede manipularse para su uso como sistemas descritos en la presente. Por ejemplo el valor de ancho de banda de salida puede representar un valor numérico actual (o margen de valores) para el número de paquetes o un valor relativo normalizado de acuerdo con el conteo de paquetes para cada cola. En una modalidad, el valor de ancho de banda de salida puede determinarse con respecto a la capacidad de datos de salida total para un nodo tal como la capacidad basada en intervalos de tiempo asignados para el nodo para transmitir utilizando una técnica de acceso jusío ponderado, una técnica de acceso justo no ponderado o cualquier otro mecanismo de programación y/o control de acceso empleado por el nodo. De este modo, el valor de ancho de banda de salida puede proporcionar una indicación relativa de los datos puestos en cola para la capacidad de salida. En una modalidad, un valor mínimo o máximo puede proporcionarse para el valor de ancho de banda de salida. En una modalidad, un tamaño en incremento mínimo o máximo puede proporcionarse para limitar el índice de cambio en el valor de ancho de banda de salida. De este modo, por ejemplo, la salida de ancho de banda puede ajustarse para elevarse inmediatamente en respuesta a una profundidad adecuada en incremento, aunque también puede caer lentamente en respuesta a una profundidad de cola en disminución.
En forma más general, el valor de ancho de banda de salida puede ajustarse, ponderarse, o de otra forma revisarse o ajustarse para lograr una variedad de objetivos de programación. Por ejemplo, un ambiente donde la mayoría de los nodos se espera que se descarguen grandes cantidades de datos idénticos (por ejemplo video de propagación) puede ajustarse para diferente rendimiento al de un ambiente donde cada nodo se espera que origine regularmente datos únicos (por ejemplo, voz) en general, factores que pueden explicarse al ajustar un cálculo de ancho de banda de salida incluyen latencia, producción, sobrecarga, número de frecuencias de canal, estabilidad de la red, y tamaño de la red, etc. Mientras estos factores no dicten un cálculo particular para el valor de ancho de banda de salida bajo alguna circunstancia específica, si ilustra los tipos de objetivos de diseño e intercambios que pueden dirigirse por los ajustes en el cálculo de valor de salida de ancho de banda, de los cuales cada uno puede servir para dividir el cálculo de rutas en proporción al tráfico de red existente y la capacidad de red. Además se apreciará que el cálculo de valor de ancho de banda de salida puede tomarse en cuenta para variar tipos de tráfico, tal como al ponderar colas de más alta prioridad en forma más pesada en el cálculo, o al utilizar In multiplicador cuando se presenten datos de alta prioridad en las colas.
Como se muestra en la etapa 1006, los índices de datos pueden determinarse para enlaces a nodos vecinos. Donde la MANET emplea un sistema de índice de datos adaptable, el índice de datos para cada enlace puede variar de acuerdo con la calidad del enlace. Este valor se determina en forma nominal por un modo de forma de onda de transmisión utilizado en cada enlace. En modo de forma de onda de transmisión puede seleccionarse utilizando cualquier técnica de índice de datos adaptable adecuada, y el índice de datos nominal correspondiente puede ajustarse cuando según sea apropiado para sobrecarga, para explicar la información de encabezados de paquetes, la sincronización, etc. En un aspecto, para ayudar en los cálculos de costos de rutas, un índice de datos neto puede determinarse que refleje los índices de datos de canal reales así como el número de intervalos de tiempo que un nodo actualmente atiende para la transmisión sobre una interfaz aérea compartida. De este modo, por ejemplo, un nodo i que tiene dos veces tantos intervalos de tiempo de transmisión como un vecino puede tener dos veces tanto índice i I de datos de salida efectivo aún donde el modo de transmisión para el nodo y el vecino son los mismos . i Como se muestra en la etapa 1008, la confiabilidád j de enlace puede determinarse . Cualquier medida adecuada de calidad de enlace puede emplearse adecuadamente. La conflabilidad puede determinarse, por ejemplo, basándose en I los datos de capa física para el enlace, o alguna combinación de capa física y enlace de datos o información de capa de i red. Por ejemplo, cada nodo puede intercambiar información de forma útil en varias formas. En un aspecto, las métricas de conflabilidad de enlace pueden almacenarse y asociarse con el enlace para su uso en cálculos de ruta subsiguiente.
Como se muestra en la etapa 1010, las rutas pueden calcularse . Cualquier cálculo de rutas basándose en costos adecuado puede emplearse en combinación con las métricas de recursos de vecindario, los índices de datos y las métricas de conflabilidad de enlace descritas en lo anterior. Por ejemplo, un algoritmo de Primera Trayectoria Más Corta de Dykstra puede emplearse usando estas métricas como costos para cada salto en una trayectoria. La Calidad de Servicio (QoS) puede incorporarse en cálculos de rutas en un número de formas. En un aspecto, donde cada nodo mantiene diferentes colas para diferentes niveles de servicio de QoS, la latencia o profundidad de cola puede aplicarse como costo para I cálculos específicos de nivel de servicio en cada nodo. En otro aspecto, cada nivel de servicio, tipo de tráfico o prioridad puede tener parámetros de entrega independientes 1 i tal como latencia, producción y similares. Cada parámetr io i puede ponderarse o tener un costo diferente del cálculo de ruta de acuerdo con el nivel de servicio. De este modo, un cálculo de rutas para cada nivel de servicio puede resultar en una ruta diferente para cada nivel de servicio resultando del costo explícito de parámetros asociados con el nivel de servicio, del tráfico actual como reflejado en colas para i varios niveles de servicio, o desde cierta combinación de estos y otros costos basados en nivel de servicio explícitos o implícitos.
Al combinar las características de capa físicas tal como los índices de datos, los accesos de canal, y la conflabilidad de enlace con datos de todo el vecindario con respecto a patrones de tráfico y demandas de cada nodo vecino ! I (como capturados en ponderaciones de nodos o similares, descritos en lo anterior) , diferentes rutas puede obtenerse para diferentes niveles de servicio. Mientras estie procedimiento generalmente puede nivelar las cargas dentro de red, la nivelación de carga además se mejora al poner el I costo basándose en métricas de recursos de nodos para qúe rutas posibles eviten nodos congestionados o de otra forma dañados dentro de red. j Como se muestra en la etapa 1012, los datos pueden enrutarse de acuerdo con las rutas calculadas en la etapa 1010. En general, esto incluye recibir un paquete, I identificar un nivel de servicio para el paquete, el cual por ejemplo puede ser contenido de encabezado de paquete, seleccionar una ruta para ese nivel de servicio, y después i seleccionar un enlace de salida para el paquete basándose en la ruta para ese nivel de servicio. En un aspecto, un mecanismo de rompimiento de conexión puede emplearse para distribuir en forma uniforme el tráfico sobre rutas de costo sustancialmente iguales. Esto puede incluir, por ejemplo, distribución entre direcciones IP más baja y más alta de destinos de paquetes, direcciones de IP par y non de destinos de paquetes, o similares.
El proceso 1000 entonces puede regresar a la etapa 1004 donde los nuevos cálculos de ruta se inician con la colección de nuevas métricas de recurso de vecinos. Se entenderá que numerosas adiciones, supresiones modificaciones a las etapas del proceso 1000 pueden hacerse sin apartarse del alcance de esta descripción. Por ejemplo, una variedad de métricas pueden emplearse a partir de las capas de enlace de red/datos de una pila de protocolo y de la capa física, incluyendo cualquiera de la información de vecindario, información de enlace, u otros datos descritos en lo anterior, ya sea solos o en varias combinaciones. También se apreciará que el orden para adquirir datos puede variarse, y puede presentarse en forma asincrónica. De este modo, los datos de capa física pueden revisarse con cada transmisión recepción de datos o en algún otro intervalo y pueden promediarse a través de un número de transacciones, mientras la información de vecindario puede actualizarse en cierio intervalo regular tal como un segundo, dos segundos, o algún otro intervalo consistente con la propagación de los datos de vecindario de un salto o dos saltos a través de la MANET. Lo|s costos de rutas pueden calcularse en cualquier intervalo correspondiente adecuado o intermedio. En una modalidad, lojs costos de ruta se calculan después de que la información d|e vecindario se ha actualizado para todos los nodos vecinos Similarmente se apreciará que numerosos paquetes pueden enrutarse entre actualizaciones para la información de rutas Todas las variaciones y modificaciones que pueden ser aparentes para alguien de experiencia ordinaria en la técnica se pretenden para caer dentro del alcance de est¡a descripción.
Se apreciará que, mientras la descripción anterior puede aplicarse a enrutamiento de monodifusión o multidifusión, surgirán ciertas consideraciones para cada tipo de ruta, algunos detalles de los cuales se discuten e lo siguiente.
En un proceso de rutas de monodifusión, el alcanc'e de multinivel puede emplearse para reducir la sobrecarga de actualización de ruta para redes grandes. En tal proceso cada nodo puede difundir dos tipos de mensajes de control: un mensaje de inter-alcance y un mensaje de intra-alcance . Ejl mensaje inter-alcance puede difundirse cada cinco segundos b algún otro intervalo adecuado, y puede incluir sólo vecinos de un salto. El mensaje de intra-alcance puede difundirse ejn algún intervalo más grande, por ejemplo, cada quince segundas y puede incluir todos los vecinos de dos saltos o más. Cada nodo puede almacenar la información de topología proporcionada por los mensajes de intra/inter alcance una tabla de topología que incluye la información de inter-alcance y la información de intra-alcance. La tabla de topología puede comprobarse una vez por segundo par|a determinar si existe o no un cambio en topología. Si Je presenta un cambio, entonces nuevas rutas pueden calcularse utilizando, por ejemplo, el algoritmo de Primera Trayectoria Más Corta de Dykstra descrito en lo anterior. Como resultado, la ruta en la cual un paquete viaja puede volversje progresivamente más precisa cuando el paquete se aproxima ja su destino. En un aspecto, un nodo puede exportar rutas en los protocolos de rutas de Internet inalámbricas estándJr IETF tal como el Protocolo de Información de Rutas (RIP) , el protocolo de Primera Trayectoria Más Corta Abierta (OSPF) , o el Protocolo de Puerto de Enlace de Borde (BGP) para soportar rutas sobre múltiples redes alámbricas e inalámbricas.
Para rutas de multidifusión, un grupo de reenvido puede emplearse para enrutar tráfico de multidifusión a miembros de grupos. La membresía de grupo puede establecersje utilizando un esquema de publicidad de receptor. La membresía de grupo y las rutas de multidifusión pueden establecerse y actualizarse por receptores sobre pedido. Sin dejar grupos actuales, cada nodo puede inundar periódicamente un paquete de publicidad de miembro, denominado en la presente como solicitud de unión. Múltiples Solicitudes de Unión pueden combinarse en un solo paquete de control para reducir la sobrecarga. La transmisión periódica puede renovar la información de membresia y actualizar la información de ruda para corresponder grupos de reenvío de multidifusión en vista de cualesquier movimientos de nodo. Cuando un nodo recibe un paquete de solicitud de unión, el nodo puede almacenar identificadores de grupos de multidifusión, un identificador i I de fuente, y un número, de secuencia en una memoria caché de mensajes (para detectar duplicados) . El identificador de nodo previo puede almacenarse también. La Solicitud de Unión pued'e emplear un conteo de saltos que se actualiza (por ejemplo, se reduce drásticamente) en cada salto, con un valor inicial de Tiempo De Vida que establece un alcance margen para la Solicitud de Unión. Cuando el paquete de Solicitud de Unión alcanza un emisor de multidifusión, el nodo de recepción puede crear una entrada en una tabla de miembros que almacena la información del grupo de reenvío, o actualiza una entrada existente para indicar que una trayectoria previa sie encuentra disponible aún. Las entradas expiradas pueden borrarse de la tabla de miembros después de un tiempo predeterminado. En general, en tal esquema, los emisores de multidifusión no envían paquetes de control. De hecho, un nodo entre emisores y receptores puede construir una tabla del grupo de reenvío al extraer información de las Solicitudes de Unión transitorias en su memoria caché de miembros. En la tabla de grupo de reenvío, para cada identificador de grupo de multidifusión e identificador de emisor, un identificador de siguiente nodo puede establecerse en el campo de identificador de nodo previo en una Solicitud de Unión.
Ningún paquete de control explícito se requiere para dejar un grupo de reenvío. Cuando un receptor de multidifusión deja de recibir paquetes para un grupo particular, ese nodo puede dejar de responder automáticamente al Protocolo de Manejo de Grupos en Internet (IGMP) ? í consultas de protocolo similares, que provocarán un tiempo fuera de entradas en la memoria caché de miembros de nodó. Esto a su vez provoca hace que el nodo deje de enviar solicitudes de unión, lo cual eventualmente interrumpirá en la ruta de multidifusión en ese nodo a través del grupo de reenvío. En general, este procedimiento de multidifusión puede coexistir con cualquier protocolo de ruta de monodifusión puesto que las rutas se determinan de forma independiente. Una vez que se establece, los grupos de reenvió pueden utilizarse para cálculos de rutas de multidifusión utilizando cualquiera de las técnicas de cálculo de ruta descritas en lo anterior.
También se describe aquí un procedimiento para programar comunicaciones de red utilizando una técnica de acceso justo combinada con una técnica de ponderación basada en un ancho de banda del canal. El procedimiento descrito aquí permite que un proceso de decisión debe determinar qué nodo transmite se hace en un ambiente distribuido sin la necesidad de un protocolo centralizado. El procedimiento también proporciona acceso para transmitir un canal basándose en la necesidad en lugar de solicitudes previas para acceso de canal, por ejemplo. Además, el procedimiento se adapta a las condiciones de canal cambiantes. j Mientras la técnica de acceso justo descrita aquí utiliza una técnica de Acceso Múltiple de Activación de Nodo ( AMA) , cualquier técnica de acceso justo puede utilizarse, por ejemplo, un Acceso Múltiple Orientado a Recursos (ROMA), .
También, mientras los canales descritos aquí son intervalós de tiempo dentro de una TDMA, las técnicas descritas aquí no se limitan a TDMA. Con referencia a la Figura 11, una réd 1110 de comunicación incluye nodos (por ejemplo, un primer i nodo 1112a, un segundo nodo 1112b, un tercer nodo 1112c y un cuarto nodo 1112d) . En un ejemplo, los nodos 1112a- 1112d son enrutadores de red. En otro ejemplo, los nodos 1112a- 1112d son radios inalámbricas. Los nodos 1112a-1112d se conectán i por enlaces que representan que los dos nodos se encuentran dentro del rango de transmisión/recepción entre sí (por ejemplo, un primer enlace 1114a que conecta el primer nodo 1 1112a, al segundo nodo 1112b, un segundo enlace 1114b que I conecta el segundo nodo 1112b al tercer nodo 1112c, y un I tercer enlace 1114c que conecta el tercer nodo 1112c al cuarto nodo 1112d) .
En un ejemplo, los enlaces 1114a-1114c son enlaces inalámbricos. En otro ejemplo, los enlaces 1114a-1114c son enlaces alámbricos. En otro ejemplo, los enlaces 1114a-1114c pueden ser una combinación de enlaces alámbricos e inalámbricos. La red 1110 de comunicación puede ser cualquier medio compartido.
Los enlaces 1114a- 1114c pueden incluir uno o más i canales. j ¡ i El primer nodo 1112a y el segundo nodo 1112b son de un salto lejos uno del otro (es decir, vecinos de un solo salto) . Un salto significa la trayectoria de red más corta desde el primer nodo 1112a al segundo nodo 1112b que río incluyen ningún nodo de intervención (es decir, un enlace) .
De igual forma, el segundo nodo 1112b y tercer nodo 1112c |y el tercer nodo 1112c y cuarto nodo 1112d todos son vecinos de un solo salto entre sí.
El primer nodo 1112a y tercer nodo 1112c son de dos saltos entre sí (es decir, vecinos de dos saltos) . Dos saltos significan que la trayectoria de red más corta del primer nodo 1112a al tercer nodo 1112c incluye sólo un nodo de intervención (el segundo nodo 1112b) (es decir, dos enlaces) . De igual forma, el segundo nodo 1112b y el cuarto nodo 1112d son vecinos de dos saltos entre sí.
Una meta de la programación de comunicación de re'd es asegurar que sólo un nodo de red se comunique a la vez. Por ejemplo, en una red inalámbrica, si un nodo transmite datos al mismo tiempo que otro nodo que está transmitiendo datos, colisiones, las cuales corrompen los datos, se presentarán en un nodo de recepción, el cual se encuentra en un rango inalámbrico de ambos nodos de transmisión. Una forma utilizada en la técnica anterior para reducir las colisiones es utilizar acceso de multiplexión de división por tiempo (TDMA) . Una implementación particular de TDMA utiliza una técnica de acceso múltiple de activación de nodo ( AMA) . ÑAMA es un protocolo de acceso múltiple inalámbrico diseñado para generar programación de intervalo de tiempo de TDMA dinámica y libre de colisión. ÑAMA logra programación de intervalo del tiempo de TDMA libre de colisiones al tener nodos dentro de uno y dos saltos entre sí, por ejemplo, participar en un proceso de elección aleatoria cooperativo. Cada nodo realiza el mismo proceso de elección aleatorio para determinar en forma simultánea qué nodo transmite datos para un intervalL de tiempo particular.
Por ejemplo, y sin limitación, los nodos 1112aj 1112d pueden implementar un proceso de elección para cuatro intervalos de tiempo (por ejemplo, intervalo de tiempo 1 , intervalo de tiempo 2 , intervalo de tiempo 3 e intervalo de tiempo 4 ) . Durante cada intervalo de tiempo, cada nodo 1112a-1112d en la red 1110 determina un conjunto de números seudoaleatorios basados en cada ID de nodo para esos nodos que se encuentran dentro de una distancia de uno o dos saltos. La suposición de que cada nodo está al tanto de todos los otros nodos (por ejemplo, tiene la ID de nodo de los otros nodos) dentro de un vecindario de dos saltos. Puesto que cada nodo está utilizando la misma función de generación de números seudoaleatorios para determinar los números aleatorios, cada nodo vendrá con un valor aleatorio consistente para cada uno de los nodos dentro del vecindario de dos saltos. Una vez que se determina un conjunto de valores el nodo con el valor más alto en un intervalo Je tiempo particular transmite durante ese intervalo de tiempo.
En un ejemplo particular para determinar valore aleatorios, en el intervalo de tiempo 1, el primer nodo 1112ja se determina que tiene un valor de 4 , el segundo nodo 1112 se determina que tiene un valor de 8, el tercer nodo 1112c sje determina que tiene un valor de 1 y el cuarto nodo 1112d se determina que tiene un valor de 7. Puesto que el segundo nodo 1112b tiene el valor más alto, el segundo nodo es el únicjo nodo que transmite durante el intervalo de tiempo 1.
El intervalo de tiempo 2, el primer nodo 1112a sje determina que tiene un valor de 3, el segundo nodo 1112b sje determina que tiene un valor de 5, el tercer nodo 1112c se determina que tiene un valor de 4 y cuarto nodo 1112d se determina que tiene un valor de 9. Puesto que el cuarto nodo 1112d tiene el valor más alto, el cuarto nodo es el único nodo que transmite durante el intervalo de tiempo 2. | El intervalo de tiempo 3, el primer nodo 1112a se determina que tiene un valor de 2, el segundo nodo 1112b se determina que tiene un valor de 1, el tercer nodo 1112c se determina que tiene un valor de 6 y cuarto nodo 1112d se determina que tiene un valor de 3. Puesto que el tercer nodjo 1112c tiene el valor más alto, el tercer nodo es el únicjo nodo que transmite durante el intervalo de tiempo 3.
El intervalo de tiempo 4, el primer nodo 1112a se determina que tiene un valor de 8 , el segundo nodo 1112b se determina que tiene un valor de 5 , el tercer nodo 1112c se determina que tiene un valor de 2 y el cuarto nodo 1112d se determina que tiene un valor de 7. Puesto que el primer nodo 1112a tiene el valor más alto, el primer nodo es el único nodo que transmite durante el intervalo de tiempo 4.
La Figura 12 representa una tabla 1200 que indica un programa de transmisión para los nodos durante los cuatro intervalos de tiempo en el ejemplo precedente. El programa resultante del proceso de elección logra un programa libre de colisión al permitir que sólo un nodo transmita (dentro de vecindarios de uno o dos saltos) durante cada intervalo de tiempo .
Por lo tanto es deseable que en programación de AMA cada nodo tenga una vista consistente de la red para poder garantizar los programas libres de colisiones. En una red dinámica, una consistencia puede lograrse al intercambiar en forma constante información de control entre vecinos de ujn salto. La información de control utilizada para establecer consistencia en programación de AMA incluye por lo menos la última ID de nodo del creador y el nodo de los vecinos de un salto del creador. Al recibir la información de control, cada nodo puede acumular una lista integral de vecinos utilizando la ID de nodo del creador (el cual se vuelve vecinos de újn salto del receptor) y el nodo de los vecinos de un salto (él cual se vuelve vecinos de dos saltos del receptor) .
La programación de AMA sola no toma en cuenta los requisitos de ancho de banda para cada nodo. En el proceso descrito en la Figura 13, cada nodo 1112a-1112d determina un valor de ancho de banda para cada enlace 1114a- 1114c basándose en el tamaño de cola. El valor de ancho de banda se utiliza para desviar la técnica de acceso justo en favor de esos nodos 1112a- 1112d que actualmente tienen la mayoría de los paquetes para enviar.
Adicionalmente o alternativamente, la Figura 12 ilustra un programa de transmisión para un vecindario de cuatro nodos que incluye nodos 1202a a 1202d. En general, v.l programa 1200 transmisión proporciona programación libre de colisión entre los nodos al permitir que un solo nodo í transmita (por ejemplo, dentro de un vecindario de uno o dos I saltos) durante cada intervalo de tiempo. Para que el programa de transmisión proporcione en forma efectiva él acceso de canal, cada nodo participante debe tener una vista consistente de la red. En una red dinámica, esta consistencia puede lograrse al intercambiar en forma constante de ía i información de control entre vecinos de un salto, como se describe generalmente en lo siguiente. Esto puede incluir, por ejemplo, la ID de nodo del creador y la ID del nodo de todos los vecinos de un salto del creador. Al recibir la información de control, cada nodo puede crear una listia integral de vecinos utilizando la ID del nodo del creador (él cual es un vecino de un salto del receptor) y la ID de nodo de cada vecino de un salto del creador (los cuales son vecinos de dos saltos del receptor) . Mientras este i intercambio simple de información proporciona información de topología útil, generalmente no refleja las demandas de uso de canal dentro del vecindario de MANET.
La Figura 13 representa un diagrama de flujo para un proceso 1300, el cual puede ser un ejemplo de un proceso para programación de red que incluye ponderar resultados de una técnica de acceso justo tal como AMA con ancho de banda necesario. El proceso 1300 puede realizarse por cada nodo 1112a-1112d en forma independiente. Los nodos 1112a-1112d determinan otros nodos en la red (1302) . Por ejemplo, durante los intervalos de tiempo de control, cada nodo 1112a-1112d difunden su ID de nodo a vecinos de un salto. En este ejemplo particular, el nodo 1112a recibe una ID de nodo del nodo 1112b; nodo 1112b recibe las ID de nodo de los nodos 1112a, 1112c, el nodo 1112c recibe las ID de nodo de los nodos 1112b, 1112d y el nodo 1112d recibe una ID de nodo del nodo 1112c .
Cada nodo 1112a-1112d determina su valor de ancho de banda de salida para cada enlace 1114a-1114c (1304) . Por ejemplo, el nodo 1112a determina el valor de ancho de banda 1112a, 1112c, respectivamente, el nodo 1112c envía sus valores de ancho de banda de salida para los enlaces 1114b, 1114c a sus vecinos de un salto, los nodos 1112b, 1112d I respectivamente, y el nodo 1112d envía su valor de ancho de I banda de salida para el enlace 1114c a su vecino de un saltó; el nodo 1112c.
En un ejemplo particular, el nodo 1112a determina un valor de ancho de banda de salida de 3 para el enlaqe 1114a; el nodo 1112b determina los valores de ancho de banda de salida de 1 y 5 para cada uno de los enlaces 1114a, 1114b, respectivamente, el nodo 1112c determina los valores de ancho de banda de salida de 5 y 2 para cada uno de los enlacejs i 1114b, 1114c, respectivamente, y el nodo 1112d determina un valor de ancho de banda de salida de 2 para el enlace 1114c|. De este modo, el nodo 1112a envía el valor de ancho de banda de salida de 3 al nodo 1112b durante un intervalo de tiempjo de control; el nodo 1112b envía el valor de ancho de banda de salida del 1 al nodo 1112a durante un intervalo de tiempo de control y J el valor de ancho de banda de salida de 5 al nodo 1112c durante un intervalo de tiempo de control; el nodo 1112c envía el valor de, ancho de banda de salida de 1112b durante un intervalo de tiempo de control y el ancho de banda de salida de 2 al nodo 1112d durante uin I I intervalo de tiempo de control y el nodo 1112d envía el valor de ancho de banda de salida de 2 al nodo 1112c durante un intervalo de tiempo de control. Cada nodo 1112a-1112d recibe los valores de ancho de banda de salida de sus vecinos (por ejemplo, vecinos de un salto) (1308) .
Cada nodo 1112a-1112d envía los valores de ancho de banda de entrada por el enlace a sus vecinos (66) . Un valor de ancho de banda de entrada para un enlace en un nodo es un valor de ancho de banda de salida para el nodo en el extremo opuesto del enlace conectado. Por ejemplo, para el enlaje 1114a, si el nodo 1112a tiene un valor de ancho de banda Je salida de 3 entonces el nodo 1112b tiene un valor de ancho Je banda de entrada que tiene el mismo valor. j En un ejemplo, los vecinos son vecinos de un saltjo de modo que cuando ejecutan el bloque 103 de procesamiento, un nodo recibirá los valores de ancho de banda por el enlace por vecinos de dos saltos desde sus vecinos de un salto. Por ejemplo, el nodo 1112b comparte el valor de ancho de banda dje entrada recibido del nodo 1112c para el enlace 1114b con eL nodo 1112a, el nodo 1112b comparte el valor de ancho de banda de entrada recibido del nodo 1112a para el enlace 1114a con el nodo 1112c, el nodo 1112c comparte el valor de ancho Je banda de entrada recibido del nodo 1112b para el enlace 1114b con el nodo 1112d y el nodo 1112c comparte el valor de anche-de banda de entrada recibido del nodo 1112d para el enlace 1114c con el nodo 1112b.
En un ejemplo particular, utilizando los valores de ancho de banda de salida en el ejemplo descrito para el bloque de 1306 de procesamiento, cada uno de los nodos, durante un intervalo de tiempo de control, envía sus valores de ancho de banda de entrada. Por ejemplo, el nodo 1112a envía al nodo 1112b su valor de ancho de banda de entrada de 1 para el enlace 1114a; el nodo 1112b envía a ambos nodos 1112a, 1112c su valor de ancho de banda de entrada de 3 para el enlace 1114a y su valor de ancho de banda de entrada de ! 5 para el enlace 1114b; el nodo 1112c envía a ambos nodos 1112b, 1112d su valor de ancho de banda de entrada de 5 para el enlace 1114b y su valor de ancho de banda de entrada de 2 para el enlace 1114c,· y el nodo 1112d envía al nodo 1112c su valor de ancho de banda de entrada de 2 para el enlace 1114c.
Cada nodo 1112a-1112d recibe los valores de ancho de banda de entrada de sus vecinos (1310) y almacena ambos valores de ancho de banda de entrada y de salida (1312) .
Cada nodo 1112a-1112d determina su valor de ponderación del nodo basándose en los valores de ancho de banda (1314) . En un ejemplo, entre más grande es el valor de ponderación del nodo, es más probable qué nodo transmitirá y entre más bajo es el valor de ponderación del nodo, es más probable qué nodo recibirá.
En un ejemplo, cada uno de los nodos 1112a-1112d, para todos los vecinos de un salto del nodo, suma sus valores de ancho de banda de salida para cada enlace. Total BW Out, y suman sus valores de ancho de banda de entrada para cada enlace. Total BW IN. En un ejemplo, una ponderación del nodo es igual a (Total BW Out) /(Total BW Out + Total BW In) .
Por ejemplo, utilizando los valores de ancho de banda en los ejemplos precedentes, el nodo 1112a tiene un I valor de ponderación del nodo igual a: (3) / (3 + 1) = 0.75, el nodo 1112b tiene el valor de ponderación dél nodo igual a: (1+5) / (1+5+3+5) = 0.43, ¡ el nodo 1112c tiene un valor de ponderación dél I nodo igual a: í í (5 + 2) / (5 + 2 + 5 + 2) = 0.50, ¡ y el nodo 1112a tiene un valor de ponderación dél nodo igual a: (2) / (2 +2) = 0.50 En otros ejemplos, el valor de ponderación del nodo Total BW out/ (Total BW in + total BW out) es igual a un valor de ponderación del nodo sin procesar, RawNodeWt . Utilizando i RawNodeWt, un valor de ponderación del nodo limitado, LimNodeWt, se determina para limitar el valor de ponderación del nodo para estar entre un rango particular. Por ejemplo, LimNodeWt : = 0.25 (si RawNodeWt <.25) = RawNodeWt = 0.9 (si RawNodeWt > .9) El LimNodeWt puede modificarse adicionalmente pa†a llenar un requisito de bit particular en una palabra de control para la transmisión a otros nodos. En particular, un nodo valor de ponderación de nodo de difusión, I BroadcastNodeWt, se determina para transmisión a los vecinos un salto de un nodo. Por ejemplo, si una palabra de control utilizada en un intervalo de tiempo de control es un byte, ! ocho bits o menos pueden utilizarse para llevar el valor de ancho de banda. En un ejemplo particular, para un requisito de seis bits (es decir, 26 = 64) , el BroadcastNodeWt es igual a CEIL (64 * LimNodeWt) . Un valor de ponderación del nodo, NodeWt, utilizado para determinar la ponderación es igual í a BroadcastNodeWt 164.0. De este modo, cada nodo que recibe el BroadcastNodeWt puede dividirse por 64.0 para utilizar el NodeWt para uso en ponderación.
Cada nodo 1112a- 1112d envía los valores de ponderación del nodo a los otros nodos en la red (1316) . En un ejemplo, los valores de ponderación del nodo se envían a vecinos de un salto. Cada uno de los nodos 1112a-1112d recibe los valores de ponderación del nodo de los otros nodos (1318) y almacena los valores de ponderación del nodo (1320) .
Cada uno de los nodos 1112a-1112d determina e|l acceso a la transmisión utilizando una técnica de acceso justo para los nodos (1322) . Por ejemplo, cada uno de los nodos 1112a-1112d utiliza una técnica de AMA, para generar números aleatorios para nodos basándose en las IDs de nodo.
Cada uno de los nodos 1112a-1112d determina la programación de red utilizando la técnica de acceso justo los valores de ponderación del nodo (1324) . Por ejemploj, utilizando ÑAMA, los valores aleatorios generados se ponderan por los valores de ponderación del nodo.
En un ejemplo particular de ponderación, lqs valores de nodos utilizados en el ejemplo para la técnica de AMA en la Figura 12, el intervalo de tiempo 1, el primer nodo 1112a se determina que tiene un valor de (4*0.75) 1= 3.00, el segundo nodo 1112b se determina que tiene un valJr de (8*0.43) = 3.44, el tercer nodo 1112c se determina que tiene un valor de (1 * 0.50) = 0.50 y el cuarto nodo 1112d se determina que tiene un valor de (7 * 0.50) = 3.50. Puesto que el cuarto nodo 1112d tiene el valor más alto, el cuarto nodo es el único nodo que transmite durante el intervalo de tiemp¡o 1.
En el intervalo de tiempo 2, el primer nodo 1112a se determina que tiene un valor de (3 * 0.75) = 2.25, el segundo nodo 1112b se determina que tiene un valor de (5 * 0.43) = 2.15, el tercer nodo 1112c se determina que tienen un valor de (4 * 0.50) = 2.00 y el cuarto nodo 1112d sje determina que tiene un valor de (9 * 0.50) = 4.50. Puesto que el cuarto 1112d tiene el valor más alto, el cuarto nodo es el único nodo que transmite durante el intervalo de tiempo 2.
En el intervalo de tiempo 3, el primer nodo 1112a se determina que tiene un valor de (2 * 0.75) = 1.50, e¡l segundo nodo 1112b se determina que tiene un valor de (1 0.43) = 0.43, el tercer nodo 1112c se determina que tienen un valor de (6 * 0.50) = 3.00 y el cuarto nodo 1112d se determina que tiene un valor de (3 * 0.50) = 1.50. Puesto que el tercer nodo 1112c tiene el valor más alto, el tercer nodo es el único nodo que transmite durante el intervalo de tiempo 3.
En el intervalo de tiempo 4, el primer nodo 1112a se determina que tiene un valor de (8 * 0.75) = 6.00, el segundo nodo 1112b se determina que tiene un valor de (5 j* 0.43) = 2.15, el tercer nodo 1112c se determina que tienen un valor de (2 * 0.50) = 1.00 y el cuarto nodo 1112d se determina que tiene un valor de (7 * 0.50) = 3.50. Puesto que el primer nodo 1112a tiene el valor más alto, el primer nodo es el único nodo que transmite durante el intervalo de tiempo ¡ 4. I Con referencia nuevamente a la Figura 12 la tabla 1200 puede indicar un programa de transmisión para los nodos durante los cuatro intervalos de tiempo en el ejempljo precedente. El programa resultante del proceso de elección se pondera por la necesidad de ancho de banda para cada intervalo de tiempo. En lugar de que el nodo 1112b transmita el intervalo de tiempo 1 como se muestra en la Figura 12, el i j nodo 1112d transmite el intervalo de tiempo 1 debido el valor de ponderación del nodo, de este modo, el acceso justo se pondera en la necesidad de ancho de banda.
Puesto que la recepción de los intervalos de tiempo de control es en cualquier vecindario de un salto no se garantiza, 15 de esos nodos 1112a-1112d que no recibe los intervalos de tiempo de control puede utilizar un conjuntó diferente de ancho de banda y los valores de ponderación de j modo comparados con aquellos nodos que recibieron los valores I de ancho de banda y los valores de ponderación del nodo eh los intervalos de tiempo de control. De este modo, con datos I inconsistentes para los cuales se basan las comunicaciones!, se presentan colisiones. Una solución es agregar un valor de conteo en reversa asociado con cada valor de ancho de banda I en el intervalo de tiempo de control. Por ejemplo, si él intervalo de tiempo de control tiene una palabra de 1 byte y 6 bits se utilizan para un valor de ponderación del nodo, dos i bits pueden utilizarse para un valor de conteo en reversa, j i En un ejemplo particular, cada nodo se sincroniza utilizando el Sistema de Posicionamiento Global (GPS) de modo que cada nodo se sincroniza cada 1 pulso por segundo (PPsj , ! por ejemplo. Puesto que los valores de conteo en reversa necesitan propagarse a vecinos de dos saltos, los valores de conteo en reversa asociados con cada elemento es "2" . Cada j nodo aún calcula un valor de ancho de banda para cada enlace ; i sin embargo cuando un valor de ancho de banda de enlace cambia (hacia arriba o hacia abajo) , ese nodo, nodo X, por ejemplo, no se le permite utilizar inmediatamente el nuevo valor de ancho de banda en la programación de red (por ! ejemplo, bloque 1324 de procesamiento de la Figura 13) . De j hecho, el nodo X se envía (utilizando intervalos de tiempo de control) a todos sus vecinos de un salto el nuevo valor d ie ancho de banda y establece el valor de conteo en reversa en i 2. El valor de ancho de banda antiguo se utiliza en la programación de red por el nodo X durante el siguiente I segundo. Después, el siguiente 1 PPS; Nodo X envía (utilizando intervalos de tiempo de control) a todos sus vecinos de un salto el nuevo valor de ancho de banda ? establece el valor de cuenta regresiva a 1. El nodo X utiliza el valor B antiguo en la programación de red durante el siguiente segundo. Después, el siguiente 1 PPS, el Nodo X envía (utiliza los intervalos de tiempo de control) a todos sus vecinos de un salto un valor nuevo ancho de banda ¡y establece el valor de cuenta regresiva 0. El nodo X utiliza i i ahora el nuevo valor ancho de banda en la programación de red durante el siguiente segundo. Hasta que el valor de ancho de banda necesite cambiarse, todos los intervalos de tiempo de control futuros tendrán el nuevo valor de ancho de banda y mantendrán el valor de cuenta regresiva en 0. En un ejemplo, i j un valor de cuenta regresiva de 0 indica un valor ancho de banda dado que se utiliza. En un ejemplo, el valor de la cuenta regresiva no cae por debajo de cero y una vez que ha comenzado la cuenta regresiva, continúa en cero. En otros ejemplos, un valor de cuenta regresiva puede reemplazarse por un contador que incrementa en lugar de disminuir a un valor predeterminado. En otros ejemplos, si el contador incrementa o disminuye, el valor final puede ser cualquier valor predeterminado . I i Con referencia a la Figura 15, uno o más de los nodos 1112a-1112d pueden configurarse como un nodo 1546 de implementarse en el programa de computadora ejecutado en computadoras/máquinas programables que incluyen cada una un procesador, un medio de almacenamiento u otro artículo de fabricación que se pueda leer sobre el procesador (incluyendo memoria volátil y no volátil y/o elementos de almacenamiento) , por lo menos un dispositivo de entrada, uno o más dispositivos de salida. El código de programación puede aplicarse a datos ingresados utilizando un dispositivo de entrada para realizar los procesos y para generar información de salida.
Los procesos descritos aquí no se limitan a la¡s modalidades específicas descritas aquí. Por ejemplo, e proceso 1300 no se limita al orden de procesamiento específico de la Figura 13. De hecho, cualquiera de los bloques de procesamiento de la Figura 13 puede reordenarse, combinarse o removerse en paralelo o en serie, cuando e necesario, para lograr los resultados establecidos en l¡o anterior.
Uno o más procesadores programables que ejecutan uno o más programas de computadora para realizar las funciones del sistema pueden realizar los bloques de procesamiento en la Figura 13. Todo o parte del proceso 1300 puede implementarse como, circuítería lógica de propósito especial (por ejemplo, una FPGA (Puerta Programable de Campoj) y/o un ASIC (circuito integrado de aplicación específica) ) .
Adicional o alternativamente, la Figura 13 pued i representar un diagrama de flujo de un proceso para manejar uso del canal en una MANET . En general, el proceso 1300 opera para programar acceso de canal (tal como intervalos Je tiempo) , utilizando una técnica de acceso justo que se pondera de acuerdo a las necesidades de ancho de banda de cada nodo. Cada nodo en una MANET puede realizar el proceso 1300 en forma independiente.
Como se muestra en la etapa 1302, el proceso 1300 puede comenzar a determinar otros nodos en una red. Por ejemplo, durante los intervalos de tiempo de control, cada nodo puede difundir su ID de nodo a vecinos de un salto.
Como se muestra en la etapa 1304, cada nodo pued' determinar entonces su valor de ancho de banda de salida para cada enlace. En general, el valor de ancho de banda de salidL es un valor representativo de los requisitos de salida de datos para un nodo. Esta etapa puede incluir una evaluación de cualesquier paquetes en las colas de datos para cada enlace . El valor actual puede ser el número de paquetes qu|e esperan en colas de salida de un nodo. O el valor actual puede ser un valor representativo de la profundidad de colaj, tal como un valor de 1 a 7 que representa una escala deslizable asociada con los números de paquetes. El valor de ancho de banda de salida puede representar un valor numérico actual (o rango de valores) para el número de paquetes, o un valor relativo normalizado de acuerdo con el conteo de paquetes para cada cola. En una modalidad, el valor de ancho i de banda de salida puede determinarse con respecto a la capacidad de datos de salida total para un nodo, tal como una I capacidad basada en intervalos de tiempo asignados para el nodo para transmitir utilizando una técnica de acceso justo ponderada, una técnica de acceso justo no ponderada, o cualquier otro mecanismo de programación y/o de control d'e acceso empleado por el nodo. De este modo, el valor de ancho i de banda de salida puede proporcionar una indicación relativa de los datos en cola para la capacidad de salida. Esta métrica puede emplearse en forma útil en cálculos de ponderación del nodo, resultando en mecanismo de acceso justo inclinado hacia nodos con requisitos de salida relativamente í altos o en crecimiento. En una modalidad, un valor mínimo b I máximo puede proporcionarse para el valor de ancho de banda de salida. En una modalidad, un tamaño en incremento mínimo b máximo puede proporcionarse para limitar el índice de cambijo en el valor de ancho de banda de salida. De este modo, por ejemplo, la salida de ancho de banda puede ajustarse para elevarse inmediatamente en respuesta a una profundidad d'e cola en incremento, pero puede caer lentamente en respuesta a una profundidad de cola en disminución. | i En forma más general, el valor de ancho de banda de ? salida puede ajustarse, ponderarse, o de otra maneta revisarse o ajustarse para lograr una variedad de objetivos de programación. Por ejemplo, un ambiente donde la mayoría <ke los nodos se espera que estén descargando grandes cantidades i de datos idénticos (por ejemplo, vídeo continuo) puede ajustarse para diferente rendimiento al del ambiente donde cada nodo se espera que origine regularmente datos únicos (por ejemplo, voz) . En general, factores que pueden explicarse para ajustar un cálculo del ancho de banda de I i salida incluyen latencia, producción, sobrecarga, números de frecuencias de canal, estabilidad de la red, tamaño de la ¡ red, etc. Mientras estos factores no dictan un cálculo particular para el valor de ancho de banda de salida bajo I alguna circunstancia específica, sí ilustran los tipos de objetivos de diseño y los intercambios que pueden dirigiráe i l por ajustes en el calculo de valor de salida de ancho de i banda, de los cuales cada uno puede servir para inclinar él uso del canal en proporción a las necesidades actuales jo . . . I anticipadas. Ademas, se aprecia que el cálculo del valor de i ancho de banda de salida también puede tomar en cuenta lós diversos tipos de tráfico, tal como al ponderar colas de mayor prioridad con peso en el cálculo, o al utilizar ún multiplicador cuando los datos de alta prioridad se presentan en las colas .
Como se muestra en la etapa 1306, cada nodo puede enviar entonces sus valores de ancho de banda de salida a sus vecinos, tales como sus vecinos de un salto. ! Como se muestra en la etapa 1308, cada nodo entonces puede recibir el ancho de banda de salida de cada vecino, y como resultado, puede determinar un valor de ancho de banda de entrada para si mismo representativo de los requisitos de entrada de datos para el nodo para recibir los datos en cola para la transmisión al nodo desde cada uno de los nodos vecinos.
Como se muestra en la etapa 1310, cada nodo entonces puede recibir un ancho de banda de entrada desde cada vecino que corresponde con el valor determinado en cada vecino en la etapa 1308.
Como se muestra en la etapa 1312, el ancho de banda de entrada y el ancho de salida pueden almacenarse en cadía nodo, tal como en la información 312 de vecindario descrita en lo anterior.
Como se muestra en la etapa 1314, calcular un valor de ponderación del nodo valores de ancho de banda. Este cálculo por ejemplo, puede utilizar la Ecuación 1 anterior o cualquier otro cálculo adecuado para obtener una métrica representativa de los datos. Por ejemplo, en lugar de sólo utilizar el valor de ponderación del nodo como se determina por la Ecuación 1, i este valor puede limitarse con un enlace superior y/o inferior. El valor de ponderación del nodo también, o de hecho puede modificarse para cumplir los requisitos de bits en los requisitos de bits en una palabra de control, tal como al proporcionar un byte, ocho bits, o un valor representativo menor . i Como se muestra en la etapa 1316, cada nodo entonces puede enviar el valor de ponderación del nodo calculado en la etapa 1314 para cada vecino de un salto.
Como se muestra en la etapa 1318, cada nodo í entonces puede recibir en una forma complementaria un valor de ponderación del nodo desde cada vecino de un salto.
Como se muestra en la etapa 1320, cada nodo i entonces puede almacenar los valores de ponderación del nodo para otros nodos en un vecindario de un salto y dos saltos .
Al propagar la información de esta manera, cada nodo puede obtener una pista de las demandas de entrada y de salida para cada nodo en un vecindario de dos saltos, como se representja en la información 312 de vecindario para cada nodo. j Como se muestra en la etapa 1322, cada nodo puedje determinar acceso a intervalos de tiempo para transmitir a otros nodos utilizando una técnica de acceso justo como se describe por ejemplo en la solicitud norteamericana No 11/947,928 presentada el 30 de noviembre del 2007 y titulado "Programación de Comunicación de Nodos de Red Utilizando Técnicas de Acceso Justo y de Ponderación" , de la cu al la totalidad del contenido se incorpora en la presente para referencia. Sin pérdida de generalidad de esta descripción b la solicitud 4978, la técnica de acceso justo puede incluir generar un número aleatorio para cada nodo en cada intervalo de tiempo, y utilizar el número aleatorio para seleccionar un nodo de transmisión exclusivo (por ejemplo, el nodo con el números aleatorio más alto) para ese intervalo de tiempo. Al utilizar el mismo generador de números seudoaleatorios en todos los nodos, y al utilizar identificadores de nodos u otra información conocida por todos los nodos en un vecindario de uno o dos saltos para colocar el generador de números seudoaleatorios, una secuencia consistente de números aleatorios puede crearse en cada nodo para que sólo un nodo dentro del vecindario transmita en cada intervalo de tiempo Esta etapa puede resultar en un programa de transmisión ta como aquel representado en la Figura 12.
Como se muestra en la etapa 1324, la programación de red entonces puede determinarse basándose en la técnica de acceso justo y los valores de ponderación de nodo, nuevamente i como se describe por ejemplo en la solicitud norteamericana No. 11/947,928. Nuevamente, sin pérdida de generalidad de esta descripción o la solicitud '978, esto puede incluir ponderar los resultados del generador de números aleatorios de acuerdo con las ponderaciones de nodo para que cada nodo obtenga acceso a intervalos de tiempo en proporción a los requisitos de datos del nodo. En forma más en general, cada técnica para sincronizar los intervalos de tiempo de transmisión en una MANET puede emplearse en forma útil, y los resultados de esta sincronización-más particularmente la asignación de intervalos de tiempo de transmisión a un nodo -puede realimentarse a los cálculos del valor de salida de ancho de banda descritos para equilibrar el acceso de canal con los requisitos de salida de datos para cada nodo.
Puesto que la recepción de intervalos de tiempo dé control en un vecindario de un salto no se garantiza, ciertos nodos (aquellos que no reciben los intervalos de tiempo de control) pueden utilizar un conjunto diferente de valores de ponderación de ancho de banda y de nodo comparados con aquellos nodos que sí reciben valores de ancho de banda y los valores de ponderación de nodo en los intervalos de tiempo de control. De este modo, con datos inconsistentes con los cuales se basan cálculos de acceso justo, pueden presentarse i colisiones. En una modalidad, esto puede solucionarse al agregar un valor de cuenta regresiva asociado con cada valor de ancho de banda en el intervalo de tiempo de control. Por ejemplo, si el intervalo de tiempo de control tiene una palabra de 1 byte y 6 bits se utilizan para un valor de ponderación del nodo, dos bits pueden utilizarse para un valor de cuenta regresiva. En otros ejemplos, si el contador incrementa o disminuye, el valor final puede ser cualquier valor predeterminado. j Un amplio margen de plataformas de software y hardware pueden utilizarse para implementar los sistemas y métodos descritos aquí. Generalmente, los componentes del sistema pueden realizarse en hardware, software, o alguna combinación de estos. Los componentes pueden realizarse en uno o más microprocesadores, microcontroladoresj, microcontroladores integrados, procesadores digitales de señales programables u otros dispositivos programables junto con memoria interna y/o externa tal como memoria de sólo lectura, memoria de sólo lectura programable, memoria de sólo lectura programable eléctricamente borrable, memoria de acceso aleatorio, memoria de acceso aleatoria dinámica, y memoria de acceso aleatorio de doble índice de datos, memoria de acceso aleatorio directa Rambus, memoria flash, o cualquier otra memoria volátiles o no volátil para almacenar instrucciones de programación, datos de programación, y salida del programa u otros resultados intermedios o finales. Los componentes también, o de hecho, pueden incluir uno o más circuitos integrados de aplicación específica (ASICs) , dispositivo semiconductores dedicados, disposiciones de puerta programable, dispositivos lógicos de disposición programable, o cualquier otro dispositivo que pueda configurarse para procesar señales electrónicas.
Cualquier combinación de los circuitos anteriores y componentes, ya sea en paquetes discretos, como chip, un conjunto de chips, o como una matriz, pueden adaptarse en forma adecuada para utilizarse con los sistemas descritos aquí. Además se aprecia que los componentes anteriores pueden realizarse como código que se puede ejecutar por computadora creado utilizando un lenguaje de programación estructurado tal como C, un lenguaje de programación orientado a objetos tal como C++, o cualquier otro lenguaje de programación de alto nivel o bajo nivel que pueda compilarse o interpretarse para ejecutarse en uno de los dispositivos anteriores, así I como combinaciones heterogéneas de procesadores', arquitecturas de procesador, o combinaciones de diferente hardware y software. Cualquier combinación de hardware y software adecuada para su uso en una red ad hoc como se describe aquí pueden emplearse sin apartarse del alcance de esta descripción.
Aquellos con experiencia en la técnica reconocerán o serán capaces de averiguar utilizando no más de la rutina de experimentación rutinaria, numerosos equivalentes a los sistemas y métodos descritos aquí. Tales equivalentes se consideran que caen dentro del alcance de la presente invención. Además, las modalidades descritas aquí se pretenden para ejemplificar la invención y no para limitarla.
Mientras la invención se describe en lo anterior junto con ciertas modalidades preferidas, aquellos de experiencia ordinaria en la técnica pueden entender otras modalidades · Todas las variaciones, modificaciones, extensiones, adiciones, omisiones, y similares que puedan ser aparentes para alguien de experiencia ordinaria en la técnica se I pretenden para caer dentro del alcance de esta descripción, la cual se interpretará en el sentido más amplio admisible por la ley.
Mientras modalidades particulares de la presente invención se han mostrado y descrito, será aparente para aquellos con experiencia en la técnica que varios cambios modificaciones en forma y detalles pueden hacerse en lia mismas sin apartarse del espíritu y alcance de estla descripción y se pretenden para formar parte de la invención i como se define por las siguientes reivindicaciones, las cuales se interpretarán en el sentido más amplio admisible por la ley.

Claims (1)

  1. NOVEDAD DE LA INVENCION Habiendo descrito la presente invención se considera como novedad y por lo tanto se reclama comjo propiedad lo descrito en las siguientes: REIVINDICACIONES 1. Un método para programar comunicaciones de red en una red que tiene nodos conectados por enlaces, caracterizado porque comprende: enviar un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo a vecinos del primer nodo; : recibir valores de ancho de banda de los vecinos del primer nodo; i determinar valores de ponderación de nodo del primer nodo y los vecinos del primer nodo basándose en los valores de ancho de banda recibidos de los vecinos del primer i nodo y el valor de ancho de banda del primer nodo; j i enviar los valores de ponderación del nodo del primer nodo a los vecinos del primer nodo; ¡ recibir los valores de ponderación del nodo de los vecinos del primer nodo; determinar valores de acceso para cada nodó basándose en una técnica de acceso justo; y ! determinar la programación de red basándose en los valores de acceso y los valores de ponderación del nodo. 2. El método de conformidad con la reivindicación i 1, se caracteriza porque enviar un valor de ancho de banda dje un primer nodo para cada enlace conectado al primer nodo k vecinos del primer nodo comprende enviar un valor de un ancho de banda de un primer nodo para cada enlace conectado al primer nodo a vecinos de un salto del primer nodo. 3. El método de conformidad con la reivindicación 2, se caracteriza porque recibir los valores de ancho de banda de vecinos comprende recibir valores de ancho de banda ¡ para vecinos de dos saltos del primer nodo desde los vecinos de un salto. i 4. El método de conformidad con la reivindicación 1, se caracteriza porque determinar valores de acceso para cada nodo basándose en una técnica de acceso justo comprende determinar valores aleatorios para cada vecino de dos saltos del primer nodo utilizando una técnica de Acceso Múltiple de Activación de Nodo ( AMA) . ! 5. El método' de conformidad con la reivindicación 1, se caracteriza porque el envío de un valor de banda de un primer nodo para cada enlace conectado nodo a vecinos del primer nodo comprende enviar un valor dé ancho de banda que corresponde con un número de paquetes dé salida en una cola del primer nodo para un enlace. j 6. El método de conformidad con la reivindicación 1, se caracteriza porque el envío de un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo a vecinos del primer nodo comprende enviar un valor de ancho de banda de un primer nodo durante un intervalo de tiempo de control . ¡ 7. El método de conformidad con la reivindicación 6, se caracteriza además porque comprende enviar un valor de contador con el valor de ancho de banda durante el intervalo de tiempo de control. 8. El método de conformidad con la reivindicación 7, se caracteriza además porque comprende, utilizar el valor de ancho de banda para la programación de red cuando el valor del contador es igual a un valor predeterminado. 9. Un aparato para programar comunicaciones en una red que tiene nodos conectados por enlaces, caracterizado porque comprende : circuitería para: j enviar un valor de ancho de un primer nodo para cada enlace conectado al primer nodo a vecinos del primer nodo ; recibir los valores de ancho de banda de los vecinos del primer nodo; determinar los valores de ponderación de nodo del primer nodo y los vecinos del primer nodo basándose en los valores de ancho de banda recibidos de los vecinos del primeir nodo y el valor de ancho de banda del primer nodo; enviar los valores de ponderación de nodo del primer nodo a los vecinos del primer nodo, recibir los valores de ponderación de nodo de los vecinos del primer nodo; I determinar los valores de acceso para cada nodo basándose en una técnica de acceso justo; y determinar la programación de red basándose en los valores de acceso y los valores de ponderación de nodo. 10. El aparato de conformidad con la reivindicaciqn 9, se caracteriza porque la circuitería comprende por lo menos de un procesador, una memoria, lógica programable jy puertas lógicas . ' 11. El aparato de conformidad con la reivindicación 9, se caracteriza porque la circuitería para enviar un valór de ancho de banda de un primer nodo para cada enlace conectado al primer nodo a vecinos desde el primer nodo comprende circuitería para enviar un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo a vecinos de un salto de primer nodo. ¡ I 12. El aparato de conformidad con la reivindicación 11, se caracteriza porque de la circuitería para recibir valores de ancho de banda de los vecinos contiene circuitería para recibir valores de ancho de banda para vecinos de dos saltos del primer nodo desde los vecinos de un salto. 13. El aparato de conformidad con la reivindicación 9, se caracteriza porque la circuitería para determinar valores de acceso para cada nodo basándose en una técnica de acceso justo comprende circuitería para determinar valores aleatorios para cada vecino de dos saltos del primer nodo utilizando una técnica de Acceso Múltiple de Activación de Nodo ( AMA) . 1 . El aparato de conformidad con la reivindicación i 9, se caracteriza para enviar un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo ¡a i vecinos del primer nodo comprende circuitería para enviar un valor de ancho de banda que corresponde con un número de i paquetes de salida en una cola del primer nodo para un enlace . 15. El aparato de conformidad con la reivindicación 9, se caracteriza porque la circuitería para enviar un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo a vecinos del primer nodo comprende circuitería para enviar un valor de ancho de banda a un primer nodo durante un intervalo de tiempo de control . 16. El aparato de conformidad con la reivindicación 15, se caracteriza porque además comprende circuitería para enviar un valor de contador con el valor de ancho de banda durante el intervalo de tiempo de control. | 17. El aparato de conformidad con la reivindicación 16, se caracteriza además porque comprende que comprende circuitería para utilizar el valor de ancho de banda para programación de red cuando el valor de contador es igual a un valor predeterminado. 18. Un artículo caracterizado porque comprende un medio que se puede leer por máquina que almacena instrucciones ejecutables para programar comunicaciones en una red que tiene nodos conectados por enlaces, las instrucciones provocan que la máquina: envíe un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo a vecinos del primer nodo; ! reciba valores de ancho de banda de los vecinos d l I primer nodo; I i determine valores de ponderación de nodo del primer nodo y los vecinos del primer nodo basándose en valores de ancho de banda recibidos de los vecinos del primer nodo y el valor de ancho de banda del primer nodo; | envíe los valores de ponderación de nodo del primer nodo a los vecinos del primer nodo; reciba los valores de ponderación de nodo de los vecinos del primer nodo; determine los valores de acceso para cada nodo basándose en una técnica de acceso justo; y determine la programación de red basada en los valores de acceso y los valores de ponderación de nodo. 19. El artículo de conformidad con la reivindicación 18, se caracteriza porque instrucciones que provocan que una máquina envíe un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo a vecinos del primer nodo comprende instrucciones que provocan que una máquina envíe un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo a vecinos y salto del primer nodo. 20. El artículo de conformidad con la reivindicación 19, se caracteriza porque las instrucciones I que provocan que una máquina reciba valores de ancho de banda de los vecinos comprende instrucciones que provocan que una máquina reciba valores de ancho de banda para vecinos de dos saltos del primer nodo desde los vecinos de un salto. 21. El artículo de conformidad con la reivindicación 18, se caracteriza porque instrucciones que provocan que una máquina determina valores de acceso para cada nodo basándose en una técnica de acceso justo comprende instrucciones que provocan que una máquina determine valores aleatorios para cada uno de los vecinos de dos saltos del primer nodo utilizando una técnica de Acceso Múltiple de i Activación de Nodo ( AMA) . ? 22. El articulo de conformidad con la reivindicación 18, se caracteriza porque instrucciones qué provocan que una máquina envíe un valor de ancho de banda de i un primer nodo para cada enlace conectado al primer nodo a vecinos del primer nodo comprende instrucciones que provocan que una máquina envíe un valor de ancho de banda qué I corresponde con un número de paquetes de salida en una cola del primer nodo para un enlace. 23. El artículo de conformidad con la reivindicación 18, se caracteriza porque las instrucciones que provocan que una máquina envíe un valor de ancho de banda de un primer nodo para cada enlace conectado al primer nodo i. vecinos del primer nodo comprende instrucciones que provocan que una máquina envíe un valor de ancho de banda de un primer nodo durante un intervalo de tiempo de control. 24. El artículo de conformidad con la reivindicación 23, se caracteriza además porque comprendej instrucciones que provocan que una máquina envíe un valor de contador con el valor de ancho de banda durante el intervalo de tiempo de control. 25. El artículo de conformidad con la reivindicación 24, se caracteriza además porque comprende instrucciones que provocan que una máquina utilice el valor de ancho de banda para la programación de red cuando el valor de contador es igual a un valor predeterminado. 26. Un método caracterizado porque comprende: determinar un valor indicativo de un requisito de salida de datos para un nodo en una red ad hoc, el nodo tiene ! I una pluralidad de vecinos de un salto acoplados en comunicación inalámbrica directa con el nodo; determinar de un valor indicativo de una capacidad de transmisión para el nodo; calcular una métrica de salida de ancho de banda para el nodo basándose en la capacidad de transmisión y el requisito de salida de datos; y comunicar la métrica de salida de ancho de banda j con la pluralidad de vecinos de un salto del nodo. | í 27. El método de conformidad con la reivindicación I 26, se caracteriza porque el requisito de salida de datos se basa en un tamaño de un número de colas de salida de datos. 28. El método de conformidad con la reivindicación 27 se caracteriza además porque comprende ajustar la métrica. de salida de ancho de banda de acuerdo con un cambio de del tamaño del número de colas de salida de datos . 29. El método de conformidad con la reivindicación 26, se caracteriza porque determinar un valor indicativo de la capacidad de transmisión incluye negociar uno o más derechos de acceso de canal con por lo menos uno de la pluralidad de vecinos de un salto. 30. El método de conformidad con la reivindicación 26, se caracteriza además porque comprende recibir uila métrica de salida de ancho de banda de uno de la pluralidajd de vecinos de un salto. 31. El método de conformidad con la reivindicación 30, se caracteriza además porque comprende recibir una métrica de salida de ancho de banda de vecino desde cada uno de la pluralidad de vecino de un salto. 32. El método de conformidad con la reivindicación 31, se caracteriza además porque comprende determinar uno o más derechos de acceso de canal para el nodo basándose en Ja métrica de salida de ancho de banda de vecino desde cada uno de la pluralidad de vecinos de un salto. 33. El método de conformidad con la reivindicaciqn 32, se caracteriza además porque comprende determinar uno más derechos de acceso de canal utilizando una técnica de acceso justo ponderada de acuerdo con la métrica de salida de ancho de banda de diseño desde cada uno de la pluralidad de diseños de un salto. 34. El método de conformidad con la reivindicación 32, se caracteriza además porque comprende determinar Ja capacidad de transmisión para el nodo basándose en uno o más derechos de acceso de canal . 35. El método de conformidad con la reivindicación 30, se caracteriza además porque comprende retransmitir la métrica de salida de ancho de banda vecino a cada uno de Ja pluralidad de vecinos de un salto. 36. El método de conformidad con la reivindicación 26, se caracteriza además porque comprende transmitir la métrica de salida de ancho de banda para el nodo a cada uno de la pluralidad de vecinos de un salto. 37. Un producto de programa de computadora caracterizado porque comprende código que se puede ejecutar por computadora que, cuando se ejecuta en uno o más dispositivos de cómputo, realiza las etapas de: determinar un valor indicativo de un requisito de salida de datos para un nodo en una red ad hoc, el nodo tiene una pluralidad de vecinos de un salto, acoplados en comunicación inalámbrica directa con el nodo; determinar un valor indicativo de una capacidad de transmisión para el nodo; calcular una métrica de salida de ancho de banda para el nodo basándose en la capacidad de transmisión y el requisito de salida de datos; y comunicar la métrica de salida de ancho de banda la pluralidad de vecinos de un salto de un nodo. 38. El producto de programa de computadora de en el tamaño del número de colas de salida de datos. j 40. El producto programa de computadora de conformidad con la reivindicación 37, se caracteriza porque I determinar un valor indicativo de la capacidad de transmisión incluye negociar uno o más derechos de acceso de canal con al menos uno de la pluralidad de vecinos de un salto. 41. El producto de programa de computadora de conformidad con la reivindicación 37, se caracteriza además porque comprende código que realiza la etapa de recibir una métrica de salida de ancho de banda de vecino de uno de la pluralidad de vecinos de un salto. i 42. El producto de programa de computadora de conformidad con la reivindicación 41, se caracteriza ademáis porque comprende código que realiza la etapa de recibir uJa métrica de salida de ancho de banda de vecino desde cada unL de una pluralidad de vecinos de un salto. 43. El producto de programa de computadora d'e conformidad con la reivindicación 42, se caracteriza además porque comprende código que realiza la etapa de determinar uno o más derechos de acceso de canal para el nodo basándose en la métrica de salida de ancho de banda de vecino de cada uno de la pluralidad de vecinos de un salto. 44. El producto de programa de computadora d'e conformidad con la reivindicación 43, se caracteriza además porque comprende código que realiza la etapa de determinar uno o más derechos de acceso de canal utilizando una técnica de acceso justo ponderada de acuerdo con la métrica de salida de ancho de banda de vecino para cada uno de la pluralidad de vecinos de un salto. 45. Un dispositivo caracterizado porque comprende una cola de datos que almacena datos ; un enlace de datos que forma paquetes de datos de la cola de datos en paquetes, y que negocia el acceso a un número de intervalos de tiempo en una red ad hoc móvil; una radio que proporciona la interfaz aérea a la red ad hoc móvil y transmite los paquetes durante uno o más intervalos de tiempo; y ! un procesador de señales que calcula un valor de I salida de ancho de banda para el dispositivo, el valor de salida de ancho de banda representa un tamaño de la cola de datos con respecto al número de intervalos de tiempo, y que transmite el valor de salida de ancho de banda a uno o más nodos vecinos durante un intervalo de tiempo de control. 46. Un método caracterizado porque comprende: ! proporcionar un elemento de datos para transmisión desde un primer nodo hasta un segundo nodo sobre un enlace de datos en una red inalámbrica ad hoc, el elemento de dato|s tiene una longitud; ¡ determinar una calidad enlace del enlace de datos; ¡ seleccionar un modo de transmisión para el enlace de datos de acuerdo con la calidad enlace, el modo de transmisión, incluye un índice de datos; determinar una longitud de carga útil para el enlace de datos de acuerdo con el índice de datos; segmentar el elemento de datos en uno o más segmentos de acuerdo con la longitud de carga útil; y ¡ transmitir uno o más segmentos como una o máL paquetes sobre el enlace de datos. | 47. El método de conformidad con la reivindicación 46, se caracteriza además porque comprende medir una calidad de enlace del enlace de datos, y seleccionar un índice de 47, se caracteriza porque seleccionar un índice de datos I además incluye seleccionar uno de la pluralidad de modos de transmisión para el enlace de datos. 49. El método de conformidad con la reivindicación 47, se caracteriza porque medir una calidad de enlace incluy obtener un indicador de resistencia de señal de recepción para el enlace de datos . 50. El método de conformidad con la reivindicación I 49, se caracteriza además porque comprende comunicar el indicador de resistencia de señal de recepción desde ejl primer nodo hasta el segundo nodo. 51. El método de conformidad con la reivindicación í 47, se caracteriza además porque comprende contar el númerp de paquetes enviado desde el segundo nodo hasta el primer nodo y transmitir este número desde el segundo nodo hasta el primer nodo. 52. El método de conformidad con la reivindicación 51, se caracteriza porque medir la calidad del enlace incluy= í comparar del número de paquetes enviados desde el segundo nodo hasta un número de paquetes recibidos desde el segundo nodo . j I 53. El método de conformidad con la reivindicación 46, se caracteriza a demás porque comprende seleccionar el enlace de datos de una pluralidad de enlaces de datos disponibles entre el primer nodo y el segundo nodo. ¡ 54. El método de conformidad con la reivindicación 46, se caracteriza además porque comprende: recibir uno o más paquetes en el segundo nodo; recibir una señal de recepción en un indicador de resistencia de señal de recepción en el segundo nodo, el indicador de resistencia de señal de recepción indicativo de una resistencia de una señal para el enlace de datos recibido en el primer nodo desde el segundo nodo; i recibir un primer conteo de paquetes del primer nodo, el primer conteo de paquetes indicativo de un número paquetes recibidos en el primer nodo desde el segundo nodo durante un período de tiempo; mantener un segundo conteo de paquetes en el segundo nodo de segundo, el segundo conteo de paquetes indicativo de un número de paquetes transmitidos desde él segundo nodo hasta el primer nodo durante el período de i tiempo; j inferir una segmentación para uno o más paquetes basándose en el primer conteo de paquetes, el segundo conte'o de paquetes y el indicador de resistencia de señal de recepción; y reensamblar el elemento de datos basándose en lja segmentación de uno o más paquetes. 55. El método de conformidad con la reivindicación 54, se caracteriza además porque comprende determinar un segundo indicador de resistencia de señal de recepción de acuerdo con una resistencia de una señal para el enlace de datos recibido en el segundo nodo desde el primer nodo transmitir el segundo indicador de resistencia de señal de recepción desde el segundo nodo al primer nodo. 56. El método de conformidad con la reivindicación 46, se caracteriza además porque comprende, cuando la i longitud de carga útil es mayor que el segmento del elemento de datos de uno de los paquetes, agregar un segundo segmento de un segundo elemento de datos a la carga útil de uno de lojs paquetes . ¡ i 57. El método de conformidad con la reivindicación 46, se caracteriza porque segmentar incluye ^ utilizar selectivamente uno, dos o cuatro segmentos para cada uno de uno o más paquetes de acuerdo con una longitud del elemenJo de datos . I 58. Un dispositivo caracterizado porque comprende: ': una fuente de datos que proporciona datos; ¡ i un enlace de datos que forma paquetes de datos de la fuente de datos en un paquete; una radio que proporciona una interfaz aérea a una i red Ad Hoc Móvil que incluye un enlace a un nodo de vecino; y un procesador de señales que prepara el paquete para transmisión sobre la interfaz aérea, el procesador de señales adaptado para segmentar dinámicamente el paquete al menos más segmentos de acuerdo con un índice de datos para el enlace . 59. El dispositivo de conformidad con la reivindicación 58, se caracteriza porque la interfaz aérea i I incluye una pluralidad de enlaces a una pluralidad de nodos vecinos. 60. El dispositivo de conformidad con la reivindicación 58, se caracteriza porque el procesador de señales modula uno o más segmentos con una pluralidad de modos de forma de onda, uno de la pluralidad de modos dje forma de onda seleccionado de acuerdo con una métrica de calidad enlace para el enlace. j 61. El dispositivo de conformidad con la reivindicación 60, se caracteriza porque la métrica dje calidad enlace se determina utilizando un indicador de i resistencia de señal para el enlace. I 62. El dispositivo de conformidad con la reivindicación 60, se caracteriza porque la métrica dé calidad de enlace se determina utilizando un conteo dé paquete recibido y un conteo de paquete enviado para el enlace. 63. Un producto de programa de computadora caracterizado porque comprende el código que se puede I ejecutar por computadora que, cuando se ejecuta en uno o máls dispositivos de cómputo, realiza las etapas de: proporcionar un elemento de datos para l'a transmisión desde un primer nodo hasta un segundo nodo sobre un enlace de datos en una red inalámbrica ad hoc, determinar una calidad enlace del enlace de datos; seleccionar un modo de transmisión para el enlacé de datos de acuerdo con la calidad del enlace, el modo de transmisión, incluye un índice de datos; determinar una longitud de carga útil para el enlace de datos de acuerdo con el índice de datos; j segmentar el elemento de datos en uno o más computadora que realiza la etapa de medir una calidad dé enlace del enlace de datos, y seleccionar un índice de datos para el enlace de datos basándose en la calidad del enlace. 65. El producto programa de computadora de conformidad con la reivindicación 63, se caracteriza porqué seleccionar un índice de datos además incluye seleccionar uno I de la pluralidad de nodos de transmisión para el enlace de datos . 66. Un método caracterizado porque comprende: almacenar una pluralidad de paquetes de datos una pluralidad de colas para transmisión en una número intervalos de tiempo desde un nodo de una Red Ad Hoc Móvil, cada una de la pluralidad de colas tiene una ponderación; seleccionar un primer paquete de datos de la claridad de paquetes de datos para la transmisión de uno del número de intervalos de tiempo de acuerdo con un primer programa de circuito cíclico ponderado que se pondera para atender un primer grupo de la pluralidad de colas de acuerda con sus ponderaciones respectivas; y seleccionar un segundo paquete de datos de la pluralidad de paquetes de datos de acuerdo con un segundo programa de circuito cíclico ponderado que se pondera para atender un segundo grupo de la pluralidad de colas de acuerdlo con sus ponderaciones respectivos, en donde el primer programa de circuito cíclico ponderado incluye una ponderación para el segundo programa de circuito cíclico y atiende periódicamente el segundo programa de circuito cíclico ponderado de acuerdo con la ponderación, seleccionado de esta manera que se junte el paquete de datos en el primer programa de circuito cíclico ponderado para transmisión en un número de intervalos de tiempo. 67. El método de conformidad con la reivindicación I 66, se caracteriza además porque comprende seleccionar precavidamente tarjetas de datos de una cola de prioridad hasta que se vacíe la cola de prioridad. 68. El método de conformidad con la reivindicación 67, se caracteriza además porque comprende: proporcionar una pluralidad de colas con prioridad, cada una de las colas con prioridad tiene una prioridad; y seleccionar precavidamente paquetes de datos de la pluralidad de colas de prioridad de acuerdo con la prioridad hasta que cada una de las colas de prioridad se vacíe. 69. El método de conformidad con la reivindicación 67, se caracteriza además porque comprende asignar un nivel de Calidad de Servicio a la cola de prioridad, con lo que los datos que tiene la Calidad de Servicio correspondiente sé colocan en la cola de prioridad y se programan preventivamente para transmisión. I 70. El método de conformidad con la reivindicación 66, se caracteriza además porque comprende asignar una ponderación por lo menos a una de la pluralidad de las colas de acuerdo con un nivel de Calidad de Servicio para esa cola! 71. El método de conformidad con la reivindicación 66, se caracteriza porque por lo menos el segundo grupo de la pluralidad de colas tiene una prioridad más baja de la pluralidad de colas . ¡ 72. El método de conformidad con la reivindicación 66, se caracteriza porque el segundo grupo de la pluralidad de colas incluye por lo menos una cola de mejor esfuerzo para la cual el suministro no se asegura. 73. El método de conformidad con la reivindicación 66, se caracteriza porque la ponderación utilizada por el primer programa de circuito cíclico ponderado para atender el segundo programa de circuito cíclico ponderado es la más baja de las ponderaciones utilizadas por el primer programa de circuito cíclico ponderado. í 74. El método de conformidad con la reivindicación 66, se caracteriza porque el primer programa de circuito cíclico ponderado atiende a una pluralidad de programas de circuito cíclico ponderado adicionales . ¡ 75. El método de conformidad con la reivindicación 66, se caracteriza porque el segundo programa de circuito cíclico ponderado atiende a un tercer programa de circuito cíclico ponderado. j 76. El método de conformidad con la reivindicación 66, se caracteriza además porque comprende ajustar una o más ponderaciones para el primer programa de circuito cíclico ponderado de acuerdo con una profundidad de cola para una o más del primer grupo de la pluralidad de colas. 77. El método de conformidad con la reivindicación 66, se caracteriza además porque comprende ajustar una o más ponderaciones para el segundo programa del circuito cíclico ponderado de acuerdo con una segunda profundidad para una o más ponderaciones del segundo grupo de la pluralidad de colas . 78. El método de conformidad con la reivindicación 66, se caracteriza además porque comprende llenar por lo menos el número de entrada de tiempo con datos de la actual de las colas antes de cambiar a una siguiente cola en otro ramo de circuito cíclico ponderado. 79. Un producto de programa de computadora. caracterizado porque comprende el código que se puede ejecutar por computadora que, cuando se ejecuta en uno o más dispositivos de cómputo, realiza las etapas de: | almacenar una pluralidad de paquetes de datos en una pluralidad de colas para la transmisión en un número dé intervalos de tiempo desde un nodo de una red ad hoc móvil, cada una de la pluralidad de colas tiene una ponderación; seleccionar un primer paquete de datos de la pluralidad de paquetes de datos para la transmisión en una del número de intervalos de tiempo de acuerdo con una primer i programa de circuito cíclico ponderado que se pondera para atender un primer grupo de la pluralidad de colas de acuerdó con sus ponderaciones respectivas; y seleccionar un segundo paquete de datos de la i ! pluralidad de paquetes de datos de acuerdo con un segundo programa de circuito cíclico ponderado que se pondera para atender un segundo grupo de la pluralidad de las colas dé i acuerdo con sus ponderaciones respectivas, en donde el primer i programa de circuito cíclico ponderado tiene una ponderación para el segundo programa de circuito cíclico y atiende I periódicamente el segundo programa de circuito ponderado dé acuerdo con la ponderación, seleccionado de esta manera el segundo paquete de datos en el primer programa de circuito I cíclico ponderado para transmisión en uno de los número dé intervalos de tiempo. I I 80. El producto de programa de computadora dé conformidad con la reivindicación 79, caracterizado porque „ , i comprende el código que se puede ejecutar por computadora qué realiza la etapa de proporcionar una cola con prioridad y 130 seleccionar paquetes de datos de cola de prioridad hasta que la cola de prioridad se vacíe. 81. El producto de programa de computadora dé conformidad con la reivindicación 80, se caracteriza además 5 porque comprende un código que se puede ejecutar por computadora que realiza las etapas: ' proporcionar una pluralidad de colas de prioridad; cada una de las colas de prioridad tiene una prioridad; y ¡ seleccionar preventivamente los paquetes de datos 10 de la pluralidad de colas de prioridad de acuerdo a la prioridad hasta que cada una de las colas de prioridad sé vacíe. ! 82. El producto programa de computadora de conformidad con la reivindicación 80, se caracteriza además 15 porque comprende código que se puede ejecutar por computadora que realiza la etapa de asignar un nivel de Calidad de Servicio a la cola de prioridad, por lo que los datos qué I tienen la Calidad de Servicio correspondiente se colocan en i la cola de prioridad y se programa precavidamente para j 20 transmisión. 83. El producto de programa de computadora de ! conformidad con la reivindicación 79, se caracteriza además porque comprende código que se puede ejecutar por computadora que realiza la etapa de asignar una ponderación peso por lo menos a una de la pluralidad de colas de acuerdo con un nivel de Calidad de Servicio para esa cola. 84. El producto de programa de computadora de conformidad con la reivindicación 79, se caracteriza porqué por lo menos un segundo grupo de la pluralidad de colas tiene una prioridad más baja de la pluralidad de las colas. 85. Un dispositivo caracterizado porque comprende: una fuente de datos que proporciona una pluralidad de paquetes de datos ; i una cola que programa la pluralidad de paquetes de j i datos para transmisión de acuerdo con un circuito cíclico ponderado, el circuito cíclico ponderado incluye por lo menos una ponderación para una segunda cola de circuito cíclico ponderado, y la cola de circuito cíclico ponderado anidada se obtiene de acuerdo con su ponderación en el circuito cíclico I ponderado, proporcionando de esta manera paquetes programados ; > una radio que proporciona una interfaz aérea a una red ad hoc móvil, que incluye enlaces a una pluralidad dé nodos vecinos; y un procesador de señales que prepara los paquetes programados para transmisión sobre la interfaz aérea. 86. Un método para determinar rutas en una red ad hoc caracterizado porque comprende: recibir una métrica de recursos de cada una de la pluralidad de vecinos de un nodo, la métrica de recursos indicativa de recursos de red necesarios para la correspondiente de la pluralidad de vecinos, proporcionando 5 de esta manera una métrica de recursos de capa de enlace de datos para un cálculo de rutas, ; determinar un índice de datos para un enlace para una de una pluralidad de vecinos utilizando datos de capa física que caracterizan un índice de datos seleccionado de 10 acuerdo con el rendimiento físico de un canal de comunicación inalámbrica, que proporciona de esta manera una métrica dé i índice de datos para el cálculo de rutas; < determinar una conflabilidad para un enlace para cada uno de la pluralidad de vecinos utilizando datos de capá 15 física que caracteriza una conflabilidad física del canal de i comunicación inalámbrica, proporcionando de esta manera una métrica de conflabilidad para el cálculo de rutas, y ! aplicar la métrica de conflabilidad, la métrica dé índice de datos, y la métrica de ancho de banda de capa dé 20 enlace de datos al cálculo de rutas para calcular una pluralidad de rutas que incluye una ruta para cada uno de la pluralidad de niveles de servicio. 87. El método de conformidad con la reivindicación 86, se caracteriza además porque comprende: I recibir un paquete de datos en el nodo, el paquete de datos tiene un indicador de nivel de servicio; y enrutar los paquetes de datos de acuerdo con la ruta para el nivel de servicio. 88. El método de conformidad con la reivindicación 86, se caracteriza porque cada uno de la pluralidad de niveles de servicio impone requisitos diferentes en eí cálculo de ruta, por lo que dos o más de los niveles de 86, se caracteriza porque la métrica de recursos es una ponderación de nodo que representa una relación del ancho de banda requerido para los datos en el ancho de banda requerido para la salida de datos para el correspondiente de la pluralidad de vecinos. 90. El método de conformidad con la reivindicación 86, se caracteriza porque el cálculo de ruta incluye un algoritmo de Primera Trayectoria Más Corta de Dykstra. j 91. El método de conformidad con la reivindicacióri 86, se caracteriza además porque comprende equilibrar la carga de tráfico de red, al proporcionar un mecanismo dé I rompimiento de unión para distribuir el tráfico entre uii número de rutas de costos sustancialmente igual. j 92. El método de conformidad con la reivindicación 91, se caracteriza porque el mecanismo de rompimiento de unión se basa en la dirección de Protocolo de Internet de destino . 93. El método de conformidad con la reivindicación i 86, se caracteriza porque el cálculo de ruta es un cálculo dé ruta de radiodifusión. 94. El método de conformidad con la reivindicación 86, se caracteriza porque el cálculo de ruta es un cálculo de ruta de multidifusión. 95. El método de conformidad con la reivindicación i 94, se caracteriza porque el cálculo de ruta de multidifusión emplea un grupo de reenvío de nodos responsable de reenviar el tráfico de multidifusión. 96. El método de conformidad con la reivindicación 94, se caracteriza además porque comprende inundar periódicamente un paquete de publicidad del miembro desde el nodo para solicitar membresía en un grupo de reenvío de multidifusión. i 97. El método de conformidad con la reivindicacióri i 94, se caracteriza además porque comprende recibir una solicitud de unión de uno de la pluralidad de vecinos y retransmitir con condición la solicitud de unión cuando un i conteo de saltos para la solicitud de unión no exceda un umbral predeterminado. 98. Un producto de programa de computadora caracterizado porque comprende código que se puede ejecutar por computadora que, cuando se ejecuta en uno o más 5 dispositivos de cómputo, determina las rutas en una red ad hoc móvil al realizar las etapas de: ¡ i recibir una métrica de recursos de cada uno de la j pluralidad de vecinos de un nodo, la métrica de recursos indicativa de los recursos de red necesarios por 10 correspondiente de la pluralidad de vecinos, proporcionando I de esta manera una métrica de recursos de capa de enlace para un cálculo de ruta; determinar un índice de ruta para un enlace para cada uno de la pluralidad de vecinos utilizando datos de capa i 15 física que caracterizan un índice de datos seleccionados dé i : acuerdo con el rendimiento físico de un canal de comunicación inalámbrica, proporcionando de esta manera una métrica de índice de datos para el cálculo de ruta; determinar una conflabilidad para un enlace para 20 cada uno de la pluralidad de vecinos utilizando datos de capa física que caracterizan una conflabilidad física del canal dé I comunicación inalámbrica, proporcionando de esta manera una métrica de conflabilidad para el cálculo de rutas, y 1 ' j aplicar la métrica de conflabilidad, la métrica dé índice de datos y, la métrica de ancho de banda de capa de enlace de datos al cálculo de rutas para calcular una pluralidad de rutas que incluye una ruta para cada uno de la pluralidad de niveles de servicio. 99. El producto de programa de computadora de conformidad con la reivindicación 98, se caracteriza además i porque comprende el código que realiza las etapas de: \ recibir un paquete de datos en el nodo, el paquete de datos tiene un indicador de nivel de servicio y enrutar el paquete de datos de acuerdo con la ruta i para el nivel de servicio. 100. El producto de programa de computadora de conformidad con la reivindicación 98, se caracteriza porque el cálculo de rutas incluye un algoritmo de Primera Trayectoria Más Corta de Dykstra. j i 101. El producto de programa de computadora de conformidad con la reivindicación 98, se caracteriza además porque comprende el código que realiza la etapa de equilibrar-de carga de tráfico de red, al proporcionar un mecanismo de rompimiento de unión para distribuir tráfico entre un número de rutas de costo sustancialmente igual. i 102. El producto de programa de computadora de conformidad con la reivindicación 98, se caracteriza porque el cálculo de rutas es un cálculo de ruta de multidifusión. ! 103. El producto programa de computadora de conformidad con la reivindicación 98, se caracteriza porqué el cálculo de rutas es un cálculo de ruta de multidifusión. 104. El producto programa de computadora de conformidad con la reivindicación 103 se caracteriza porque el cálculo de ruta de multidifusión emplea un grupo de reenvío de nodos responsables de reenviar el tráfico de multidifusión . 105. Un dispositivo caracterizado porque comprende:' una fuente de datos que proporciona una pluralidad de paquetes de datos ; una memoria que almacene información de vecindario para una pluralidad de nodos vecinos, la información de vecindario incluye una pluralidad de métricas de recurso indicativas de recursos de red necesarios por cada uno de la pluralidad de nodos vecinos; ! una radio que proporciona una interfaz aérea a una red ad hoc móvil que incluye enlaces a una pluralidad de nodos vecinos; un procesador de señales que prepara la pluralidad de paquetes de datos para la transmisión sobre la interfaz aérea; y un enrutador que calcula las rutas para al menos un tráfico de monodifusión y multidifusión utilizando un Algoritmo de Primera Trayectoria Más Corta Abierta Dykstra ponderado de acuerdo con la pluralidad de métricas de recursos, y de acuerdo con los datos de capa física disponibles del procesador de señales.
MX2010003539A 2007-10-01 2008-10-01 Sistemas y metódos de red ad hoc móvil. MX2010003539A (es)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US97674807P 2007-10-01 2007-10-01
US97674407P 2007-10-01 2007-10-01
US97673007P 2007-10-01 2007-10-01
US97674007P 2007-10-01 2007-10-01
US97673507P 2007-10-01 2007-10-01
US97674707P 2007-10-01 2007-10-01
US11/947,928 US7801153B2 (en) 2007-10-01 2007-11-30 Communication scheduling of network nodes using fair access and weighting techniques
US12/242,597 US20090122753A1 (en) 2007-10-01 2008-09-30 Dynamic data link segmentation and reassembly
US12/242,697 US20090122766A1 (en) 2007-10-01 2008-09-30 Nested weighted round robin queuing
US12/242,747 US7948966B2 (en) 2007-10-01 2008-09-30 Multi-metric routing calculations
US12/242,462 US7965671B2 (en) 2007-10-01 2008-09-30 Dynamic channel sharing using bandwidth metrics
PCT/US2008/078501 WO2009046143A2 (en) 2007-10-01 2008-10-01 Mobile ad hoc networking systems and methods

Publications (1)

Publication Number Publication Date
MX2010003539A true MX2010003539A (es) 2011-05-30

Family

ID=40588035

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2010003539A MX2010003539A (es) 2007-10-01 2008-10-01 Sistemas y metódos de red ad hoc móvil.

Country Status (5)

Country Link
US (2) US7965671B2 (es)
EP (1) EP2201725B1 (es)
CA (1) CA2739458A1 (es)
MX (1) MX2010003539A (es)
WO (1) WO2009046143A2 (es)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7616565B2 (en) 2007-02-26 2009-11-10 Raytheon Company Network communication scheduling
US8014279B2 (en) 2007-08-22 2011-09-06 Raytheon Company Communication scheduling of network nodes
US20090067390A1 (en) * 2007-09-12 2009-03-12 Frank Grass Method for specifying transmitting times for cyclically sending out data messages, and subscriber device therefor
US7965671B2 (en) 2007-10-01 2011-06-21 Powerwave Cognition, Inc. Dynamic channel sharing using bandwidth metrics
US7948966B2 (en) 2007-10-01 2011-05-24 Powerwave Cognition, Inc. Multi-metric routing calculations
US7801153B2 (en) * 2007-10-01 2010-09-21 Powerwave Cognition, Inc. Communication scheduling of network nodes using fair access and weighting techniques
WO2009094264A2 (en) * 2008-01-24 2009-07-30 Firetide, Inc. Channel assignment for wireless access networks
US8175101B2 (en) 2008-08-15 2012-05-08 Raytheon Company Multicasting in a network using neighbor information
US8179838B2 (en) * 2008-10-20 2012-05-15 Motorola Mobility, Inc. Wi-Fi enabled router having uplink bandwith sharing capability
US8218522B2 (en) 2009-01-21 2012-07-10 Raytheon Company Communication scheduling of network nodes using a cluster coefficient
US8665063B2 (en) * 2009-09-25 2014-03-04 Northwestern University Neighbor discovery techniques
US9832769B2 (en) 2009-09-25 2017-11-28 Northwestern University Virtual full duplex network communications
US8483735B2 (en) * 2010-08-26 2013-07-09 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for parallel scheduling of frequency resources for communication nodes
US8773992B2 (en) 2010-10-11 2014-07-08 At&T Intellectual Property I, L.P. Methods and apparatus for hierarchical routing in communication networks
US9124449B2 (en) * 2011-02-01 2015-09-01 Cisco Technology, Inc. Network topologies for energy efficient networks
US9049692B2 (en) 2012-04-13 2015-06-02 Itron, Inc. Hybrid access protocol for network nodes
ES2664829T3 (es) * 2012-04-13 2018-04-23 Itron, Inc. Protocolo de acceso hibrido para nodos de red
US10536861B2 (en) * 2013-04-19 2020-01-14 Linear Technology Corporation Monitoring of channel stability and interference in wireless networks
CN103442440A (zh) * 2013-07-30 2013-12-11 白羽 一种同步Mesh网络的时隙分配方法
US10015808B2 (en) * 2014-03-20 2018-07-03 Panasonic Intellectual Property Corporation Of America Method of detecting device resource-utilization and adjusting device behavior and related wireless device
US9717067B2 (en) * 2014-09-09 2017-07-25 Vivint, Inc. Location-based access point module control
US10237766B2 (en) * 2014-09-11 2019-03-19 Raytheon Company Estimation of available user data rate in a communications channel
US9575794B2 (en) * 2014-09-30 2017-02-21 Nicira, Inc. Methods and systems for controller-based datacenter network sharing
CN104579787B (zh) * 2015-01-20 2018-02-27 中南大学 一种考虑适应度的在线社会网络拓扑生成方法
GB201519090D0 (en) * 2015-10-28 2015-12-09 Microsoft Technology Licensing Llc Multiplexing data
US10374975B2 (en) * 2015-11-13 2019-08-06 Raytheon Company Dynamic priority calculator for priority based scheduling
US10492084B2 (en) * 2016-10-10 2019-11-26 Microsoft Technology Licensing, Llc Collaborative communications
CN106792980B (zh) * 2016-11-25 2020-08-18 北京中电普华信息技术有限公司 一种联合路由度量与部分重叠信道分配方法
EP3435273A1 (en) * 2017-07-25 2019-01-30 Gemalto Sa Consensus protocol for permissioned ledgers
EP3457645A1 (en) * 2017-09-18 2019-03-20 Siemens Aktiengesellschaft Scheduling of data traffic
EP3461166B1 (en) * 2017-09-22 2022-06-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A method to classify a neighbor in an ad-hoc network, a classification device, a vehicle comprising a classification device and a computer program
US10813169B2 (en) 2018-03-22 2020-10-20 GoTenna, Inc. Mesh network deployment kit
CA3107919A1 (en) 2018-07-27 2020-01-30 GoTenna, Inc. Vinetm: zero-control routing using data packet inspection for wireless mesh networks
CN111343668B (zh) * 2020-03-03 2022-05-03 重庆邮电大学 基于背压策略的编码感知路由方法
WO2021186585A1 (ja) * 2020-03-17 2021-09-23 日本電信電話株式会社 端末、通信方法及び通信プログラム

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3075251B2 (ja) * 1998-03-05 2000-08-14 日本電気株式会社 非同期転送モード交換網における仮想パス帯域分配システム
US6331973B1 (en) * 1999-04-30 2001-12-18 Rockwell Collins, Inc. Unifying slot assignment protocol multiple access system
DE60007487T2 (de) 1999-07-12 2004-09-16 International Business Machines Corp. Anordnung und Verfahren zum Bestimmen der Datenrate in einem drahtlosen Kommunikationssystem
US6788702B1 (en) 1999-10-15 2004-09-07 Nokia Wireless Routers, Inc. Protocol for neighborhood-established transmission scheduling
US6757263B1 (en) * 2000-04-13 2004-06-29 Motorola, Inc. Wireless repeating subscriber units
US6781967B1 (en) * 2000-08-29 2004-08-24 Rockwell Collins, Inc. Scheduling techniques for receiver directed broadcast applications
AU2001296378A1 (en) * 2000-09-29 2002-04-08 The Regents Of The University Of California Ad hoc network accessing using distributed election of a shared transmission schedule
US20020085525A1 (en) * 2000-12-28 2002-07-04 Junpei Ikegawa Wireless transmission system
KR20020055285A (ko) 2000-12-28 2002-07-08 구자홍 무선에이티엠 시스템의 무선 구간에서의 슬롯 할당 방법
ATE333176T1 (de) * 2001-03-09 2006-08-15 Vitesse Semiconductor Corp Zeitabhängige planung für datenpakete und verfahren zur sortierung
US7333458B2 (en) * 2002-01-10 2008-02-19 Harris Corporation Wireless communication network including directional and omni-directional communication links 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
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
US7107498B1 (en) 2002-04-16 2006-09-12 Methnetworks, Inc. System and method for identifying and maintaining reliable infrastructure links using bit error rate data in an ad-hoc communication network
US7068600B2 (en) * 2002-04-29 2006-06-27 Harris Corporation Traffic policing in a mobile ad hoc network
IL150281A0 (en) 2002-06-18 2002-12-01 Teracross Ltd Method and system for multicast and unicast scheduling
US7336967B2 (en) * 2002-07-08 2008-02-26 Hughes Network Systems, Llc Method and system for providing load-sensitive bandwidth allocation
US7580394B2 (en) * 2002-11-27 2009-08-25 Nokia Corporation System and method for collision-free transmission scheduling in a network
US6970713B2 (en) 2003-07-09 2005-11-29 Interdigital Technology Corporation Method and system wherein timeslots allocated for common control channels may be reused for user traffic
US7085290B2 (en) * 2003-09-09 2006-08-01 Harris Corporation Mobile ad hoc network (MANET) providing connectivity enhancement features and related methods
US7639662B1 (en) * 2003-09-19 2009-12-29 Rockwell Collins, Inc. Quality of service congestion metrics propagated using routing updates system and method
US7388841B2 (en) * 2003-10-20 2008-06-17 Mitsubishi Electric Research Laboratories, Inc. Selecting multiple paths in overlay networks for streaming data
US7466676B2 (en) * 2004-11-30 2008-12-16 Stmicroelectronics Asia Pacific Pte. Ltd. Method and apparatus for multi-channel MAC protocol using multi-tone synchronous collision resolution
US8705567B2 (en) 2004-12-10 2014-04-22 Broadcom Corporation Upstream channel bonding using legacy maps in a cable communications system
EP1882384A4 (en) * 2005-05-11 2009-11-18 Texas Instruments Inc WIRELESS NETWORK ROUTING ROUTING BASED ON THE QUALITY OF A SERVICE
JP4606249B2 (ja) * 2005-05-18 2011-01-05 富士通株式会社 情報処理方法及びルータ
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
KR100800659B1 (ko) 2005-11-04 2008-02-01 삼성전자주식회사 무선 통신 시스템에서 대역 할당 시스템 및 방법
US7729257B2 (en) * 2006-03-30 2010-06-01 Alcatel-Lucent Usa Inc. Method and apparatus for link transmission scheduling for handling traffic variation in wireless mesh networks
US7929546B2 (en) * 2006-05-25 2011-04-19 Motorola Solutions, Inc. Systems, methods and apparatus for allocating time slots in an ad hoc wireless communication network
US7729321B2 (en) 2007-02-21 2010-06-01 Itt Manufacturing Enterprises Inc. Nearly collision-free channel access system and method
US7616565B2 (en) 2007-02-26 2009-11-10 Raytheon Company Network communication scheduling
US7801153B2 (en) 2007-10-01 2010-09-21 Powerwave Cognition, Inc. Communication scheduling of network nodes using fair access and weighting techniques
US7965671B2 (en) 2007-10-01 2011-06-21 Powerwave Cognition, Inc. Dynamic channel sharing using bandwidth metrics

Also Published As

Publication number Publication date
EP2201725B1 (en) 2012-06-20
US20090116511A1 (en) 2009-05-07
WO2009046143A2 (en) 2009-04-09
US7965671B2 (en) 2011-06-21
EP2201725A4 (en) 2010-09-22
US20110205925A1 (en) 2011-08-25
EP2201725A2 (en) 2010-06-30
CA2739458A1 (en) 2009-04-09
WO2009046143A3 (en) 2009-06-25

Similar Documents

Publication Publication Date Title
MX2010003539A (es) Sistemas y metódos de red ad hoc móvil.
US7948966B2 (en) Multi-metric routing calculations
CN109565467B (zh) 配置网络的方法和设备
US20110164527A1 (en) Enhanced wireless ad hoc communication techniques
US10708787B2 (en) Mesh islands
EP2366261A1 (en) Enhanced wireless ad hoc communication techniques
US8060017B2 (en) Methods and systems for a mobile, broadband, routable internet
TWI387369B (zh) 無線網狀通訊網路中的網路公用設施
US20110164546A1 (en) Vehicular mobility vector based routing
US20100142446A1 (en) Business management systems for a mobile, broadband, routable internet
US20110063979A1 (en) Network traffic management
KR20110050460A (ko) 개선형 애드혹 무선 통신
JP2007306206A (ja) 通信システム
CN116232990A (zh) 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
US20130088970A1 (en) Methods and apparatus for router-to-radio flow control
Manikantan Shila et al. An interference-aware admission control design for wireless mesh networks
Kandah et al. Diverse path routing with interference and reusability consideration in wireless mesh networks
CN114268577B (zh) 网络连接的建立方法、装置、设备及存储介质
WO2023005745A1 (zh) 报文转发方法、装置及系统、计算机可读存储介质
Vázquez Rodas Contribution to the improvement of the performance of wireless mesh networks providing real time services
Zahariadis et al. The implications of Service Virtualisation on the routing procedure in Wireless Sensor Networks
Zhang et al. Architecture of QoS guaranteed joint design of node-disjoint multipath routing and subcarrier allocation in OFDMA mesh networks
Chen et al. An intelligent routing protocol for wide-area Ad Hoc network
Zeng et al. Bandwidth guaranteed shortest path routing in wireless mesh networks