Chapter 1 Introduction
4. Chapter 4 Research methodology
4.2 Research design
Este nuevo algoritmo utiliza otro enfoque para abordar el problema de la asignación de espectro variable. En [15], se introduce un nuevo concepto de ‘canal’ para simplificar el problema RSA offline. El enfoque consiste en asociar un EOP a un canal determinado, es decir a un conjunto de frequency slots contiguos que cumplimenten el espectro necesario a asignar a dicho EOP.
Los canales se pueden agrupar en función del número de frequency slots que vayan a ocupar. Es decir, se pueden agrupar todas las posibles combinaciones de un número ‘n’ de slots consecutivos dentro del espectro, como el conjunto de canales de granularidad N. Estos canales serian, para el caso de dos slots contiguos dentro de un espectro subdividido en diez slots: C2 = {0,0,1,1,1,1,1,1,1,1}, {1,0,0,1,1,1,1,1,1,1} …{1,1,1,1,1,1,1,1,0,0}, por ejemplo.
La ventaja de utilizar este procedimiento es que una vez que la asignación de espectro queda asociada a la elección de un canal, la condición de contigüidad queda eliminada de la resolución del problema ya que, esta condición viene implícita en la creación del conjunto de canales. Esto repercute en una menor carga de computación en el algoritmo, y por consiguiente un mayor agilidad en el tiempo de ejecución del algoritmo.
El algoritmo utiliza el algoritmo DSP para el cálculo de la ruta óptima entre origen y destino. Sin embargo, para introducir el concepto de canal y la asignación de espectro en el cálculo de caminos, al algoritmo original han de introducírsele nuevas restricciones, dando lugar a un nuevo algoritmo denominado Modified DSP.
Por tanto nuestro algoritmo RSA, generara por un lado, los canales representativos del espectro y mantendrá el grafo de la topología, en su función pre-computada; y, por otro lado, se valdrá de la función Modified DSP para obtener
El funcionamiento detallado del algoritmo es el siguiente:
• En primer lugar, se genera el conjunto de canales que van a ser usados para representar el espectro disponible. Los canales se generan en función del número total de FS’s en que está dividido el espectro, y en función del número de FS’s que ocuparán las peticiones.
• Si en general, el ancho de banda de las peticiones es aleatorio, se generarán un array de canales que comprendan desde el mínimo posible a asignar a un canal (12.5 GHz – 1 FS), hasta el máximo, que corresponde al número de FS’s que representan el ancho de banda de la petición más grande que vaya a soportar el algoritmo.
• Una vez generados los canales y creado una copia del grafo de la topología albergado en la TEDB del PCE, el algoritmo está preparado para comenzar a funcionar.
• El algoritmo recibe una petición con formato PCEPRequest. En primer lugar se obtienen los EndPoints (origen y destino de la Request) y se realiza la conversión entre el ancho de banda albergado en el objeto Bandwidth de la petición y el número de FS’s correspondiente en función del formato de señal, la banda de guarda que se disponga entre canales y la sobrecarga introducida por los códigos FEC de corrección de errores.
• Una vez obtenido la fuente y el destino de la petición, y el número de FS, se llama a la función “Modified DSP”. Esta se encarga de crear la ruta más corta posible entre el origen y el destino mediante DSP. El algoritmo de Dijkstra, sin querer entrar en profundidad en la descripción de su funcionamiento, crea un iterador con una serie de saltos correspondiente a la ruta más corta entre origen y destino. En el algoritmo original, únicamente se comprueba que el número de saltos sea el mínimo posible, y para ello se mantiene una métrica de la distancia desde cada nodo al nodo origen. En nuestro caso, para introducir la cuestión de la disponibilidad de espectro, se introduce una nueva condición y es que exista espectro disponible a asignar a nuestra petición en cada uno de los saltos de la ruta elegida.
• Para ello al iniciar el proceso, se crea una tabla, que en adelante llamaremos
“vertexSpectrumState”, con un array que contendrá el número de canales
disponibles a asignar a la petición asociada al nodo en el que nos encontremos. Inicialmente, en el nodo origen, serán todos los canales posibles. El array es una combinación de 1’s y 0’s en el que se marca si el canal ‘n’ (posición número ‘n’ de nuestro array) está disponible u ocupado respectivamente.
• En cada nuevo salto se recibe el vertexSpectrumState acumulado de los saltos anteriores, y se comprueba el espectro del enlace. En función de la información del espectro, se van eliminando los canales que contienen posiciones ocupadas en dicho enlace, reduciendo así el número de posibles canales candidatos a ser asignados a nuestra petición. La siguiente ecuación define la estrategia anteriormente descrita:
, donde:
ηs(i)
corresponde al estado acumulado de las ranuras de frecuencia a lo largo del trayecto E(o,i). (VertexSpectrumState)η
es es un parámetro que indicia si el slot ‘s’ del enlace ‘e’ está libre u ocupado (1/0 respectivamente).C(p)
representa el conjunto de canales que tienen una anchura suficiente para soportar la demanda de cada petición p.
S
representa el conjunto de frequency slots disponibles en cada enlace.• Una vez creada la ruta entre origen y destino, el algoritmo dispondrá, mediante la información guardada en el último salto vertexSpectrumState, del conjunto de canales que son viables para toda la ruta.
• Del conjunto de canales posibles, se utilizará la estrategia “Lowest Starting Slot” para elegir el canal. De él se obtendrá la frecuencia central, que junto con el número de FS’s y la ruta, componen la información que se devolverá al PCE en la respuesta (PCEPResponse).