Reducir la interferencia en la red de malla inalámbrica

1

Estoy jugando con la idea de encontrar la ruta de la red de malla. El objetivo es que cada nodo pueda encontrar la ruta más eficiente a través de otro nodo a un concentrador.

Una forma en que podría abordarlo es inundando la red para que cada nodo pueda decidir con qué nodo es mejor conectarse. Vea el siguiente pseudo código que ejecuta cada nodo

Ping out my ID
Wait for responses (all nodes that heard the ping reply their ID and to-hub 'cost')
Ignore replys with no to-node cost, they aren't connected to hub yet
Record ID and Connection Quality + to-hub cost
Pair with lowest cost node
Record as Parent
  Wait for connections from other nodes, record as child
  Forward data from children to parent

El único problema es que cuando un nodo emite un pitido, varios nodos pueden escucharlo y responder al mismo tiempo, posiblemente creando interferencia y sin darle tiempo al nodo para grabar vecinos.

Posible solución: cada nodo se retrasa por un factor de su ID y el tiempo que toma responder

¿De qué otra manera puedo limitar la cantidad de interferencia en mi red?

    
pregunta liamdiprose

1 respuesta

0

Este tipo de protocolo puede ser realmente difícil de resolver. Voy a decir algunas palabras sobre un proyecto en el que estuve involucrado hace años.

Un "nuevo nodo" no hizo ping, sino que escuchó: básicamente detectó en cualquier nodo cercano que ya era miembro (estaba escuchando la transmisión de hubs regular de node_members). Hacerlo de esta manera significa que el new_node no interfiere con nada y podría elegir silenciosamente el "padre" óptimo, es decir, el node_member con la transmisión más eficiente al hub (maestro).

A intervalos regulares (obviamente reconocibles por el new_node), cada node_member tenía un pequeño intervalo de tiempo para aceptar una solicitud de "nuevo nodo" (si llegara uno). Básicamente, esto funcionó porque siempre había un intervalo de tiempo de recepción "de repuesto" "ofrecido" por un solo nodo_miembro a la vez que se podía usar para que el new_node diera a conocer su presencia.

Una vez que el padre (node_member) adoptó el new_node, toda la red tuvo que acomodar espacio para que el nuevo chico se convirtiera en un node_member de buena fe y esto requiere cierta reflexión.

Es un problema interesante y probablemente se resuelva y se desarrolle mejor escribiendo un programa para PC que simule un sistema variable con pérdidas y abandonos aleatorios. Eso es lo que comenzamos a hacer, pero el trabajo fracasó por razones comerciales que no necesito analizar.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas