10.05.2013 Views

Ruteo con Entrega Garantizada en Redes Geométricas y Sin Cables.

Ruteo con Entrega Garantizada en Redes Geométricas y Sin Cables.

Ruteo con Entrega Garantizada en Redes Geométricas y Sin Cables.

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Ruteo</strong> <strong>con</strong> <strong>Entrega</strong> <strong>Garantizada</strong> <strong>en</strong> <strong>Redes</strong><br />

<strong>Geométricas</strong> y <strong>Sin</strong> <strong>Cables</strong>.<br />

Jorge Figueroa Canales.<br />

jfigueroac@uxmcc2.iimas.unam.mx<br />

Maestría <strong>en</strong> Ci<strong>en</strong>cia e Ing<strong>en</strong>iería de la Computación.<br />

Universidad Nacional Autónoma de México.<br />

Extracto. El principal estudio aquí es sobre algoritmos locales de ruteo para comunicación<br />

<strong>en</strong> redes. Estos algoritmos muestran v<strong>en</strong>tajas cuando se utilizan <strong>en</strong> redes geométricas que<br />

sean planas. Prestamos especial at<strong>en</strong>ción <strong>en</strong> los algoritmos de ruteo los cuales garantic<strong>en</strong><br />

que un m<strong>en</strong>saje llegue a su destino. Un m<strong>en</strong>saje <strong>con</strong>siste <strong>en</strong> paquetes de datos que t<strong>en</strong>gan<br />

que <strong>en</strong>viarse de un nodo a otro, i.e. que el m<strong>en</strong>saje por si mísmo y disponi<strong>en</strong>do solo de<br />

una cantidad pequeña de memoria, pueda valerse unicam<strong>en</strong>te de esta y del algoritmo para<br />

arribar a su destino. Qué el algoritmo sea local significa que <strong>en</strong> cada sitio (nodo) t<strong>en</strong>emos a<br />

nuestra disposición solo información local refer<strong>en</strong>te al nodo y sus vecinos i.e. que no se ti<strong>en</strong>e<br />

<strong>con</strong>ocimi<strong>en</strong>to global de la red, solo que esta es planar y <strong>con</strong>exa. Añadimos que los m<strong>en</strong>sajes<br />

no dejan marcas sobre los nodos que han visitado. Estos algoritmos están diseñados para<br />

redes de comunicación wireless, <strong>en</strong> particular como las redes de telefonia móvil (celular).<br />

1. Introducción.<br />

Los vértices de una red geométrica son puntos <strong>en</strong> el plano, y sus aristas son segm<strong>en</strong>tos<br />

de línea recta que los un<strong>en</strong>. Una red geométrica es llamada plana si no <strong>con</strong>ti<strong>en</strong>e aristas<br />

que se intersect<strong>en</strong> <strong>con</strong> excepción de un vértice común al final. En este artículo se asume<br />

que los grafos tratados son redes geométricas planas.<br />

El objetivo principal aquí es el estudio de algoritmos de ruteo 1 que toman v<strong>en</strong>tajas de<br />

la localización de los nodos <strong>en</strong> una red geométrica. Al principio los artículos sobre ruteo<br />

ignoraban la información <strong>con</strong> respecto a la localización física de los nodos de la red. Con<br />

la llegada de las nuevas tecnologías como el Sistema de Posición Global ó Global Position<br />

System (GSP), la posición de los usuarios se ha <strong>con</strong>vertido <strong>en</strong> información que puede ser<br />

recuperada de GPS, y usada para desarrollar mejores algoritmos de ruteo.<br />

Para otras aplicaciones, nosotros podemos usar la localización de un nodo como parte<br />

de su etiqueta. Esto puede alternadam<strong>en</strong>te ser utilizado para obt<strong>en</strong>er efici<strong>en</strong>tes algoritmos<br />

de ruteo. En muchas aplicaciones como una red de telefonía móvil, proveedores de internet,<br />

y otros, muchos nodos ti<strong>en</strong><strong>en</strong> posiciones fijas. <strong>Redes</strong> como las de telefonía celular <strong>con</strong>sist<strong>en</strong><br />

de una sub-red columna y una colección de usuarios móviles que se desplazan librem<strong>en</strong>te,<br />

y se <strong>con</strong>ectan a través de switches fijos. En muchas de estas redes el uso de sistemas<br />

de posición global permite a los usuarios obt<strong>en</strong>er la localización física o la información<br />

geográfica que relaciona a los usuarios <strong>con</strong> los switches de la red.<br />

1 Hago un abuso del l<strong>en</strong>guaje pues <strong>en</strong> realidad la palabra ruteo no existe <strong>en</strong> el idioma español, lo<br />

correcto sería <strong>en</strong>caminami<strong>en</strong>to.<br />

1


La información que relaciona la posición de los nodos de una red puede, y se ha<br />

utilizado de hecho para obt<strong>en</strong>er nuevos planes de <strong>en</strong>caminami<strong>en</strong>to que toman v<strong>en</strong>tajas de<br />

esta información. Algunos artículos propon<strong>en</strong> varios tipos de algoritmos de ruteo usando<br />

datos geográficos.<br />

En este artículo, nos <strong>en</strong>focaremos <strong>en</strong> algoritmos locales de ruteo para grafos geométricos<br />

<strong>con</strong>exos y planos, que toman v<strong>en</strong>tajas de la posición física de los vértices de la red.<br />

Estamos interesados <strong>en</strong> un algoritmo on-line que use la información geográfica <strong>en</strong> los nodos<br />

y ligas de una red, y además garantice que los m<strong>en</strong>sajes llegan a su destino. Nuestra aproximación<br />

difiere de algoritmos similares estudiados <strong>en</strong> la literatura, particularm<strong>en</strong>te <strong>en</strong><br />

el <strong>con</strong>texto de redes inalámbricas <strong>en</strong> los cuales, muchos planes han sido desarrollados y<br />

sobre todo probados experim<strong>en</strong>talm<strong>en</strong>te.<br />

Al principio, algunos trabajos proponian algoritmos basados <strong>en</strong> la localización <strong>con</strong><br />

varias nociones de progreso. Muchos de estos protocolos de ruteo no necesariam<strong>en</strong>te garantizaban<br />

la llegada de los m<strong>en</strong>sages. En muchos casos, multiples copias redundantes de<br />

los m<strong>en</strong>sajes son <strong>en</strong>viados <strong>con</strong> la esperanza de que alguno de ellos ev<strong>en</strong>tualm<strong>en</strong>te llegue<br />

a su destino. Pero, mandando muchas copias del m<strong>en</strong>saje crea otros problemas como la<br />

<strong>con</strong>gestión de la red. Nosotros creemos que el uso de algoritmos tales como el pres<strong>en</strong>tado<br />

aquí se <strong>con</strong>vertirá <strong>en</strong> primordial <strong>con</strong>forme el número de usuarios de la red de comunicación<br />

se increm<strong>en</strong>te. Otro algoritmo llamado Compass Routing ó <strong>Ruteo</strong> por Brújula fue<br />

propuesto, <strong>en</strong> el cual, si un m<strong>en</strong>saje se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> un nodo v y quiere llegar a un nodo<br />

t, el algoritmo lo mandará por el vecino u que sea adyac<strong>en</strong>te a v, tal que la p<strong>en</strong>di<strong>en</strong>te del<br />

segm<strong>en</strong>to de línea que une a u <strong>con</strong> v es la más cercana a la p<strong>en</strong>di<strong>en</strong>te del segm<strong>en</strong>to de<br />

línea que une a v <strong>con</strong> t. Mi<strong>en</strong>tras ocacionalm<strong>en</strong>te Compass Routing puede caer <strong>en</strong> ciclos<br />

infinitos fallando <strong>en</strong> su arribo a t, trabaja para algunas importantes clases de red. En<br />

particular, Compass Routing trabaja correctam<strong>en</strong>te para Triangulaciones de Delaunay;<br />

un resultado que puede ser utilizado para desarrollar algoritmos de ruteo para redes de<br />

comunicación inalámbricas.<br />

El objetivo principal aquí es mostrar un algoritmo que garantice la llegada de los m<strong>en</strong>sajes<br />

a su destino. Se ha propuesto que el algoritmo pres<strong>en</strong>tado aquí puede ser <strong>con</strong>siderado<br />

como un método de seguridad para ser usado cuando las técnicas heurísticas fallan. Argum<strong>en</strong>tamos<br />

que las técnicas aquí pres<strong>en</strong>tadas son estandar, como ellos no solo garantizan<br />

que un m<strong>en</strong>saje llega a su destino, pero también ti<strong>en</strong>de a crear pequeños costos indirectos,<br />

<strong>en</strong> los cuales se ti<strong>en</strong>e que resolver otros problemas al pres<strong>en</strong>tarse multiples broadcasts <strong>con</strong><br />

copias de los datos del m<strong>en</strong>saje.<br />

2. La Posición Local Ayuda al Algoritmo de <strong>Ruteo</strong>.<br />

Pres<strong>en</strong>taremos algunas de las ideas básicas usadas <strong>en</strong> el desarrollo de nuestro algoritmo<br />

<strong>en</strong> línea de ruteo para redes geométricas planas donde la posición local ayuda. Algunos<br />

de estos algoritmos han sido refinados y mejorados, pero <strong>con</strong> todo sigue habi<strong>en</strong>do ideas<br />

básicas. Por algoritmo de ruteo <strong>en</strong> línea <strong>con</strong> ayuda de la posición local o geométrica<br />

<strong>en</strong>t<strong>en</strong>demos un algoritmo que trabaja bajo las sigui<strong>en</strong>tes restricciones:<br />

1. Un m<strong>en</strong>saje típico <strong>con</strong>ti<strong>en</strong>e la localización de su nodo inicial s, la localización del<br />

destino t, el <strong>con</strong>t<strong>en</strong>ido del m<strong>en</strong>saje v.gr. el texto de un e-mail, y quizá una cantidad<br />

<strong>con</strong>stante de almac<strong>en</strong>ami<strong>en</strong>to extra <strong>en</strong> la cual una cantidad <strong>con</strong>stante de información<br />

<strong>con</strong> respecto a algún dato <strong>con</strong>cerni<strong>en</strong>te a la ruta que un m<strong>en</strong>saje a registrado <strong>en</strong> su<br />

2


ecorrido.<br />

2. En cada nodo de la red, un procesador ti<strong>en</strong>e alguna información geográfica local<br />

<strong>con</strong>cerni<strong>en</strong>te solo a él mismo y a la localzación de sus vecinos.<br />

3. Basado solo <strong>en</strong> la información local almac<strong>en</strong>ada <strong>en</strong> los nodos de una red, la localización<br />

de s, t y la información almac<strong>en</strong>ada <strong>en</strong> la memoria extra que ti<strong>en</strong><strong>en</strong> los<br />

m<strong>en</strong>sajes; una decisión es tomada <strong>con</strong> respecto hacia dónde se <strong>en</strong>viará <strong>en</strong> el sigui<strong>en</strong>te<br />

paso, el m<strong>en</strong>saje.<br />

No es s<strong>en</strong>cillo desarrollar un algoritmo de ruteo que satisfaga las restricciones previas.<br />

Y que garantice que un m<strong>en</strong>saje arriba a su destino. El pres<strong>en</strong>te artículo desarrolla tal<br />

algoritmo.<br />

3. <strong>Ruteo</strong> por Brújula <strong>en</strong> Subdivisiones Convexas.<br />

Un grafo ó gráfica geométrica es llamada Subdivisión Convexa si todas sus caras son<br />

<strong>con</strong>vexas, i.e. para cualquier sub<strong>con</strong>junto de vértices que <strong>con</strong>forman una cara del grafo,<br />

las aristas que lo limitan forman un polígono <strong>con</strong>vexo.<br />

A <strong>con</strong>tinuación se pres<strong>en</strong>tan los pasos a seguir, det<strong>en</strong>i<strong>en</strong>dose una vez que se llega al<br />

nodo destino t:<br />

1. Com<strong>en</strong>zando <strong>en</strong> el nodo s, determinamos la cara F incid<strong>en</strong>te a s que intersecta<br />

a la línea que une a los vértices orig<strong>en</strong> y destino: s − t. Elegimos una de las dos<br />

aristas incid<strong>en</strong>tes a s, y empezamos a recorres las aristas de la cara F hasta que<br />

<strong>en</strong><strong>con</strong>tremos la segunda arista de F que intersecta a la recta s − t; llamemos a esta<br />

arista (u, v).<br />

2. Actualizamos F a ser la sigui<strong>en</strong>te cara <strong>en</strong> el grafo geométrico que <strong>con</strong>t<strong>en</strong>ga a (u, v)<br />

<strong>en</strong>tre sus límites.<br />

3. Recorremos las aristas de nuestra nueva cara F hasta que <strong>en</strong><strong>con</strong>tremos la sigui<strong>en</strong>te<br />

arista (x, y) intersectada por la recta s − t.<br />

Veamos el esquema <strong>en</strong> la figura 1.<br />

s<br />

F1<br />

F2<br />

Figura 1: <strong>Ruteo</strong> <strong>con</strong> Brújula <strong>en</strong> subdivisiones <strong>con</strong>vexas.<br />

3<br />

F3<br />

t


Para provar que un m<strong>en</strong>saje siempre llega a su destino, procederemos de la sigui<strong>en</strong>te<br />

manera: Etiquetemos las caras intersectadas por la línea s − t, que une al nodo orig<strong>en</strong><br />

s <strong>con</strong> el nodo destino t, de la forma {F1, . . . , Fm} de acuerdo <strong>con</strong> el ord<strong>en</strong> <strong>en</strong> el cual<br />

aparec<strong>en</strong> <strong>en</strong> la intersección. Inicialm<strong>en</strong>te nuestra cara F = F1. Observemos que cada vez<br />

que actualizamos F nos movemos de Fi a Fi+1. Ev<strong>en</strong>tuam<strong>en</strong>te nosotros llegaremos a la<br />

cara Fm que <strong>con</strong>ti<strong>en</strong>e al nodo t, y por <strong>con</strong>secu<strong>en</strong>cia a t. Notemos también que el algoritmo<br />

recorre cada arista del grafo a lo más una vez. Es fácil ver que si las caras de un grafo<br />

geométrico no son <strong>con</strong>vexas, el algoritmo previo puede caer <strong>en</strong> un ciclo. En la sección<br />

sigui<strong>en</strong>te se mostrará como modificar el algortimo de manera que también trabaje <strong>en</strong><br />

grafos geométricos arbitrarios. El precio que hay que pagar es que <strong>en</strong> g<strong>en</strong>eral, las rutas<br />

que t<strong>en</strong>emos que recorrer, pued<strong>en</strong> increm<strong>en</strong>tarse substancialm<strong>en</strong>te <strong>en</strong> longitud. Esta es<br />

una <strong>con</strong>sideración a t<strong>en</strong>er <strong>en</strong> m<strong>en</strong>te cuando usemos los resultados para una aplicación <strong>en</strong><br />

particular.<br />

4. <strong>Ruteo</strong> por Brújula <strong>en</strong> Gráfos Geométricos.<br />

Observemos primero que los vértices y las aristas de un grafo geométrico G = (V, E)<br />

induc<strong>en</strong> una partición del plano <strong>en</strong> un <strong>con</strong>junto de regiones <strong>con</strong>exas <strong>con</strong> interiores disjuntos,<br />

no necesariam<strong>en</strong>te <strong>con</strong>vexos, llamados caras de G. Los límites Bi de cada una de<br />

estas caras forman una línea poligonal cerrada <strong>en</strong> la cual admitimos que algunas aristas<br />

de G pert<strong>en</strong>ezcan a dos caras. Por ejemplo, <strong>en</strong> el grafo mostrado <strong>en</strong> la figura 2 <strong>en</strong> el límite<br />

poligonal la cara externa de la arista (m, n) aparece dos veces.<br />

s<br />

m<br />

Figura 2: <strong>Ruteo</strong> <strong>con</strong> Brújula <strong>en</strong> subdivisiones no <strong>con</strong>vexas.<br />

Supongamos ahora que queremos llegar del vértice s al vértice t <strong>en</strong> el grafo G. Como<br />

antes, calculamos el segm<strong>en</strong>to de línea s − t que une a s <strong>con</strong> t, y determinamos la cara<br />

F = F1 incid<strong>en</strong>te a s e intersectada por s−t. Ahora recorreremos el polígono determinado<br />

por F1. Cada vez que una arista por la que pasamos se intersecte <strong>con</strong> la línea s−t, digamos<br />

<strong>en</strong> el punto p1, mi<strong>en</strong>tras recorremos los límites de F1, calculamos la distancia de p1 a s. Una<br />

vez que regresamos a s (a m<strong>en</strong>os que lleguemos a t, <strong>en</strong> cuyo caso el algoritmo se deti<strong>en</strong>e),<br />

todo lo que necesitamos recordar es el punto p1, <strong>en</strong> el cual el poligono F1 intersecta a s−t.<br />

Ahora recorremos F1 nuevam<strong>en</strong>te hasta alcanzar el punto p1 <strong>en</strong> el cual actualizaremos la<br />

cara F para ser la sigui<strong>en</strong>te cara cuyos límites <strong>con</strong>ti<strong>en</strong><strong>en</strong> a p1.<br />

Repetimos el procedimi<strong>en</strong>to usando p1 y la actualización de F (<strong>en</strong> este caso F = F2)<br />

<strong>en</strong> lugar de s y de F1 respectivam<strong>en</strong>te. Es s<strong>en</strong>cillo de ver que ev<strong>en</strong>tualm<strong>en</strong>te se llega a t.<br />

4<br />

n<br />

t


Note que cada arista de nuestro grafo, es <strong>con</strong>t<strong>en</strong>ida <strong>en</strong> a lo más dos caras. Note también<br />

que si el lado de una cara es recorrido, <strong>en</strong>tonces cada lado de una cara es recorrido a lo<br />

más dos veces. Se sigue que cada arista del grafo es recorrida a lo más cuatro veces. Una<br />

ligera modificación puede ser usada de modo que cada arista sea recorrida a lo más tres<br />

veces.<br />

Teorema 1 Existe un algoritmo de ruteo de información local <strong>en</strong> grafos geométricos el<br />

cual garantiza que llegaremos a nuestro destino. Más aún, nuestro algoritmo es tal que<br />

recorreremos un número lineal de aristas.<br />

Debe ser precisado que el objetivo principal del algoritmo pres<strong>en</strong>tado es que garantice<br />

la llegada de los m<strong>en</strong>sajes. Esto implicitam<strong>en</strong>te implica que las rutas g<strong>en</strong>eradas por el<br />

algoritmo pued<strong>en</strong> ser <strong>en</strong> g<strong>en</strong>eral no las rutas más cortas que <strong>con</strong>ectan a s <strong>con</strong> t. En efecto,<br />

es fácil de ver que para cada k podemos <strong>con</strong>struir ejemplos <strong>en</strong> los cuales la longitud de las<br />

rutas <strong>en</strong><strong>con</strong>tradas por nuestro algoritmo son k veces más grandes que la ruta más corta<br />

<strong>en</strong>tre s y t. Esto puede ser logrado si la longitud de una ruta cualquiera es medida <strong>en</strong><br />

términos de la suma de las longitudes de sus aristas , o <strong>en</strong> número de aristas usadas <strong>en</strong> la<br />

ruta. En la práctica sin embargo esto no sucede a m<strong>en</strong>udo.<br />

Un parámetro común de medida <strong>en</strong> muchos de los métodos propuestos y probados <strong>en</strong><br />

numerosos tipos de comunicación como los wireless; es la tasa de éxito, i.e. el porc<strong>en</strong>taje<br />

de m<strong>en</strong>sajes que llegan a su destino. Además, muchos de estos algoritmos transmit<strong>en</strong><br />

multiples copias de un m<strong>en</strong>saje <strong>en</strong> espera de que al m<strong>en</strong>os uno de ellos llegue a su destino.<br />

Observe que esto crea una gran sobrecarga <strong>en</strong> términos de la cantidad de tráfico g<strong>en</strong>erada.<br />

En tiempo, esto ha sido un factor importante a ser evitado. En <strong>con</strong>traste, nuestro algoritmo<br />

ti<strong>en</strong>e un 100% de índice de éxito mi<strong>en</strong>tras manda solo una copia de cada m<strong>en</strong>saje. A<br />

<strong>con</strong>tinuación se pres<strong>en</strong>tará como los resultados vistos son usados para obt<strong>en</strong>er algoritmos<br />

de ruteo <strong>en</strong> redes de comunicación inalámbricas tales como telefonía celular.<br />

5. Aplicaciones Ad Hoc a <strong>Redes</strong> de Comunicación Inalámbricas.<br />

Una red de comunicación inalámbrica puede ser modelada como un <strong>con</strong>junto de estaciones<br />

de radio localizadas sobre un <strong>con</strong>junto de puntos Pn = {p1, . . .,pn}, cada uno de<br />

los cuales está asociado a un número real ri, su poder de transmisión, tal que dos puntos<br />

pi, pj estan <strong>con</strong>ectados si su distancia es más pequeña que el mínimo de {ri, rj}. Ahora<br />

tratamos de resolver el problema de desarrollar un algoritmo de ruteo <strong>en</strong> línea para redes<br />

de comunicación móvil inalámbrica.<br />

Las redes de comunicación celular <strong>con</strong>sist<strong>en</strong> <strong>en</strong> un <strong>con</strong>junto de estaciones de radio de<br />

baja pot<strong>en</strong>cia localizados <strong>en</strong> Pn = {p1, . . . , pn}, todas <strong>con</strong> el mismo poder de transmisión<br />

r(i) = 1, y un <strong>con</strong>junto de usuarios móviles que se desplazan librem<strong>en</strong>te. Los usuarios<br />

móviles se <strong>con</strong>ectan a la red a través de la más cercana estación de radio fija. El <strong>con</strong>junto<br />

de estaciones de radio fijas defin<strong>en</strong> una red unidad de comunicación inalámbrica UW(Pn)<br />

sobre Pn <strong>en</strong> el cual, dos elem<strong>en</strong>tos p, q ∈ Pn estan <strong>con</strong>ectados si su distanciá es a lo más<br />

1.<br />

Procederemos ahora a desarrollar un algoritmo local <strong>en</strong> línea para redes unidad de<br />

comunicación inalámbrica. Observe primero que UW(Pn) no es necesariam<strong>en</strong>te plana.<br />

Por ejemplo, si Pn <strong>con</strong>siste <strong>en</strong> 12 puntos <strong>con</strong>t<strong>en</strong>idos d<strong>en</strong>tro de un circulo de radio 1,<br />

UW(Pn) no es plana.<br />

5


En órd<strong>en</strong> de uso de los resultados previos, somos capaces de extraer una subred plana<br />

de alguna UW(Pn). Dos requerimi<strong>en</strong>tos deb<strong>en</strong> ser satisfechos por el método que usemos<br />

para extraer el subgrafo plano para asegurar su completa funcionalidad para aplicaciones<br />

de la vida real.<br />

Si una red de comunicación celular es <strong>con</strong>exa, el subgrafo plano resultante debe ser<br />

<strong>con</strong>exo.<br />

Debemos t<strong>en</strong>er un protocolo local tal que cada nodo de la red pueda decidir de<br />

manera <strong>con</strong>sist<strong>en</strong>te cuales <strong>con</strong>exiones a sus vecinos debe mant<strong>en</strong>er, y asegurarse de<br />

eso colectivam<strong>en</strong>te sin la necesidad de comunicarse; el <strong>con</strong>junto de aristas se escog<strong>en</strong><br />

individualm<strong>en</strong>te por los nodos de la red formando un grafo plano.<br />

La necesidad para la segunda <strong>con</strong>dición se sigue de nuestro deseo de t<strong>en</strong>er protocolos<br />

distribuidos completos que evit<strong>en</strong> el uso de algún tipo de protocolo c<strong>en</strong>tralizado.<br />

El problema de extraer o incluso decidir si un grafo <strong>con</strong>ti<strong>en</strong>e una subgráfica <strong>con</strong>exa<br />

plana es un bi<strong>en</strong> <strong>con</strong>ocido problema NP −Completo. Afortunadam<strong>en</strong>te las redes UW(Pn)<br />

siempre ti<strong>en</strong><strong>en</strong> tales subgráficas, y <strong>en</strong> efecto, <strong>en</strong><strong>con</strong>trarlas es relativam<strong>en</strong>te s<strong>en</strong>cillo.<br />

La clave de nuestro resultado se pres<strong>en</strong>ta del uso de las gráficas de Gabriel. Dados<br />

dos puntos p y q <strong>en</strong> el plano, sea C(p, q) el círculo que pasa a través de ellos tal que el<br />

segm<strong>en</strong>to de línea que une a p <strong>con</strong> q es un diámetro de C(p, q). Dado un <strong>con</strong>junto de<br />

n puntos Pn = {p1, . . .,pn} <strong>en</strong> el plano, la gráfica de Gabriel para Pn es el grafo cuyo<br />

<strong>con</strong>junto de vértices es Pn <strong>en</strong> el cual dos puntos u y v de Pn son adyac<strong>en</strong>tes si y solo si<br />

C(p, q) no <strong>con</strong>ti<strong>en</strong>e otros puntos de Pn.<br />

Sea G ′ (Pn) el grafo <strong>con</strong> vértices <strong>en</strong> Pn tal que dos vértices p y q son adyac<strong>en</strong>tes <strong>en</strong><br />

G ′ (Pn) si y solo si C(p, q) no <strong>con</strong>ti<strong>en</strong>e otros puntos de Pn y además p y q son adyac<strong>en</strong>tes<br />

<strong>en</strong> la red inalámbrica W(Pn), eso es que G ′ (Pn) es la intersección de la gráfica de Gabriel<br />

de Pn <strong>con</strong> la red inalámbrica W(Pn). T<strong>en</strong>emos el sigui<strong>en</strong>te:<br />

Teorema 2 Si UW(Pn) es <strong>con</strong>exa <strong>en</strong>tonces G ′ (Pn) también es <strong>con</strong>exa.<br />

La prueba más fácil de este resultado procede como sigue. Sean p y q vértices adyac<strong>en</strong>tes<br />

<strong>en</strong> UW(Pn), y que no hay ruta que los <strong>con</strong>ecte <strong>en</strong> G ′ (Pn). Supongamos además<br />

que su distancia es la más pequeña posible <strong>en</strong>tre todos los pares de puntos <strong>en</strong> Pn. Ya que<br />

p y q no estan <strong>con</strong>ectados <strong>en</strong> G ′ (Pn), <strong>en</strong>tonces el círculo C(p, q) <strong>con</strong>ti<strong>en</strong>e al m<strong>en</strong>os un<br />

tercer punto r ∈ Pn. Observe que las distancias de r a p y r a q son más pequeñas que la<br />

distancia de p a q, y así hay una ruta P ′ <strong>en</strong> G ′ (Pn) <strong>con</strong>ectando a r <strong>con</strong> p y una ruta P ′′<br />

<strong>en</strong> G ′ (Pn) <strong>con</strong>ectando a r <strong>con</strong> q. La <strong>con</strong>cat<strong>en</strong>ación de estas rutas produce una ruta de p<br />

a q <strong>en</strong> G ′ (Pn).<br />

Es obvio que cada nodo p <strong>en</strong> UW(Pn) puede decidir localm<strong>en</strong>te cuales de sus vecinos<br />

<strong>en</strong> UW(Pn) serán también vecinos <strong>en</strong> G ′ (Pn). Simplem<strong>en</strong>te recoge las localizaciones de<br />

todos sus vecinos i.e. los elem<strong>en</strong>tos de Pn <strong>con</strong> distancá a lo más 1 de p, y probar para cada<br />

q de ellos si el círculo C(p, q) es vacio. Esto se puede lograr usando algoritmos estandar<br />

<strong>en</strong> geometría computacional <strong>con</strong> ○(k log k) donde k es el número de vecinos de p <strong>en</strong><br />

UW(Pn).<br />

T<strong>en</strong>emos <strong>en</strong> g<strong>en</strong>eral, herrami<strong>en</strong>tas para obt<strong>en</strong>er un algoritmo local de ruteo <strong>en</strong> línea<br />

<strong>en</strong> una red unidad de comunicación inalámbrica. Primero <strong>en</strong><strong>con</strong>tramos G ′ (Pn), y <strong>en</strong>tonces<br />

usamos el algoritmo de ruteo referido <strong>en</strong> el teorema 1 para <strong>en</strong>viar m<strong>en</strong>sajes. El cálculo de<br />

G ′ (Pn) puede ser hecho una sola vez, o periodicam<strong>en</strong>te <strong>en</strong> casos donde fallas <strong>en</strong> los nodos<br />

pued<strong>en</strong> ocurrir.<br />

6


Teorema 3 Existe un algoritmo de ruteo <strong>en</strong> línea para una red unidad de comunicación<br />

inalámbrica que garantice la <strong>en</strong>trega. Cualquier m<strong>en</strong>saje toma a lo más un número lineal<br />

de pasos para llegar a su destino.<br />

6. Triangulaciones de Delaunay.<br />

Una aproximación común <strong>en</strong> el diseño de redes es <strong>en</strong><strong>con</strong>trar bu<strong>en</strong>as arquitecturas que<br />

garantic<strong>en</strong> un bu<strong>en</strong> desempeño, v.gr. Hipercubos, y <strong>en</strong>tonces <strong>con</strong>struir redes que satisfagan<br />

esas arquitecturas. En muchas aplicaciones de redes de comunicación inalámbrica el<br />

costo de las estaciones de radio reales es relativam<strong>en</strong>te barato. En estas aplicaciones, la<br />

mejor forma de tratar de resolver problemas de ruteo es el sugerido por el algoritmo de<br />

ruteo por brújula. Si una red inalámbrica (no necesariam<strong>en</strong>te una red unidad de comunicación<br />

inalámbrica), no <strong>con</strong>ti<strong>en</strong>e una triangulación de Delaunay como subgráfica, es mejor<br />

realizarla. Esto puede ser obt<strong>en</strong>ido de dos difer<strong>en</strong>tes maneras. En la primera podemos<br />

desplegar estaciones extra hasta que nuestro objetivo sea alcanzado. El segundo método<br />

para alcanzar esto sería aum<strong>en</strong>tar, si las <strong>con</strong>diciones de nuestra apliacción lo permit<strong>en</strong>, el<br />

poder de transmisión de nuestra estación hasta que las triangulaciones de Delaunay est<strong>en</strong><br />

<strong>con</strong>t<strong>en</strong>idas <strong>en</strong> nuestra red de comunicación inalámbrica. En algunas instancias, cuando<br />

todos los nodos puedan comunicarse <strong>con</strong> cada otro, la triangulación de Delaunay puede<br />

ser calculada localm<strong>en</strong>te. Esto se sigue <strong>en</strong> efecto de que una vez que hemos calculado el<br />

diagrama de Voronoi de Pn, t<strong>en</strong>emos también la triangulación de Delaunay.<br />

Una vez calculada la triangulación de Delaunay, por cada vértice podemos definir<br />

para cada elem<strong>en</strong>to de Pn el parámetro Del(Pi) a ser la distancía de Pi a su vecino<br />

más próximo <strong>en</strong> D(Pn). Este valor puede ser usado para determinar el mínimo poder de<br />

transmisión requerido por Pi de modo que su vecino más cercano <strong>en</strong> D(Pn) pueda ser<br />

alcanzado.Esto alternadam<strong>en</strong>te ayudará a ahorrar <strong>en</strong>ergía la cuál es esc<strong>en</strong>cial <strong>en</strong> varias<br />

redes de comunicación inalámbricas.<br />

En caso de que la comunicación directa no sea posible, es todavía posible correr un<br />

procedimi<strong>en</strong>to distribuido de instalar que calcule Del(Pi) por re<strong>en</strong>vio de la posición de<br />

todos los nodos de nuestra red a cada vértice. El valor de Del(Pi) puede ser usado para<br />

ajustar el poder de transmisión de pi.<br />

7. Conclusiones.<br />

En este artículo repasamos algoritmos de ruteo <strong>en</strong> línea sobre redes geométricas y<br />

redes de comunicación inalámbricas que garantic<strong>en</strong> que un m<strong>en</strong>saje llega a su destino. En<br />

la práctica, nuestro algoritmo es bastante competitivo, y ti<strong>en</strong>e la v<strong>en</strong>taja de que <strong>en</strong>via<br />

solo una copia del m<strong>en</strong>saje, <strong>en</strong> <strong>con</strong>traste a muchos algoritmos publicados hasta la fecha.<br />

El algoritmo pres<strong>en</strong>tado aquí elimina el costo indirecto creado por muchos algoritmos<br />

exist<strong>en</strong>tes que <strong>en</strong>vian multiples copias del mismo m<strong>en</strong>saje, esto alternadam<strong>en</strong>te puede<br />

producir problemas de tráfico.<br />

7


Refer<strong>en</strong>cias<br />

[1] Jorge Urrutia<br />

“Routing with Guaranteed Delivery in Geometric and Wireless Networks”<br />

Handbook of Wireless Networks and Mobile Computing<br />

Capítulo 18, Páginas 393-406<br />

In I. Stojm<strong>en</strong>ovic, editor.<br />

John Wiley & Sons, 2002.<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!