Unicast e variazioni: algoritmi di trasmissione per una rete domotica

L’Unicast rappresenta probabilmente l’algoritmo più semplice, ma al contempo efficace e ampiamente utilizzato nel contesto domotico e di building automation. Immaginiamo di voler trasmettere un messaggio da un nodo s (sorgente) a un nodo d (destinazione).

Si potrà procedere allora, ad esempio, trasmettendo ricorsivamente il messaggio a quello che tra i nodi contigui alla sorgente (x) è più vicino a d oppure minimizza l’angolo che ha per vertice s e per lati sx e sd.

La variante dell’algoritmo basato sulla distanza non è però efficace se, ad esempio, tutti i nodi x contigui a s sono più distanti dello stesso nodo s dalla destinazione. Si tratta di un caso piuttosto frequente e in questo caso si dice che la rete ha un “hole”, letteralmente un “buco”, tra s e d.

Si dimostra che la rete non contiene “buchi” se il grafo che la identifica soddisfa la proprietà di triangolazione di Delaunay, ovvero se per ogni ramo è possibile costruire un cerchio che contenga gli estremi, ma non contenga nessun altro vertice del grafo.

L’algoritmo detto “compass”, basato invece sull’angolo, non garantisce che il pacchetto non si trovi a transitare lungo un ciclo infinito. Generalmente tali problemi vengono però semplificati e risolti applicando alla rete, prima che venga messa in funzione, un algoritmo di “clustering”.

Si definiscono cioè dei “cluster”, dei blocchi di nodi e, per ciascun cluster, un nodo leader. Gli algoritmi di routing vengono ora definiti unicamente tra i nodi leader, mentre gli altri nodi si servono dei nodi leader per la trasmissione. Ciò risulta vantaggioso a livello di semplicità degli algoritmi di comunicazione, di riutilizzo delle risorse (ad esempio le stesse frequenze radio in cluster diversi) e a livello di risparmio energetico.

Ti consigliamo anche

Link copiato negli appunti