END-TO-END PERFORMANCE ANALYSIS OF A RESOURCE ALLOCATION SERVICE

Abstract

This dissertation is centered around the monitoring and control platform of the company Skyline Communications, the DataMiner. This platform has a specific module called SRM (Service and Resource Management). One of SRM’s many features is the capacity to make an advance reservation (booking) of resources of the client’s network. When a booking is created, there is a time interval/delay between the moment that a booking is requested and the moment that all necessary configurations for this booking actually start to be made at the Resource level. This delay is called SyncTime. The SyncTime is affected by the dynamics of the network (e.g, a sudden increase in the number of bookings made, at a given time). In order to guarantee the maximum possible quality of service to the client and ensure that the network dynamics will have minimal impact in the real-time delivery of the desired content, the SRM module must be able to estimate if a booking can be done in an acceptable SyncTime value. Given this problem, the main goal of this dissertation is to develop a machine learning based estimation/classification module that is capable of, based on the temporal state of the SRM module, make a prediction or classification of the SyncTime. Two approaches were considered: Classify the SyncTime based on classes or estimate the value of it. In order to test both approaches, we implemented several traditional machine learning methods as well as, several neural networks. Both approaches were tested using a dataset collected from a DataMiner cluster composed of three DataMiner agents using software developed in this dissertation. In order to collect the dataset, we considered several setups that captured the cluster in different network conditions. By comparing both approaches, the results suggested that classifying the predicted SyncTime using a classification model and classifying the predicted SyncTime of a estimation model are both equally good options. Furthermore, based on the results of all implementations, a prototype application was also developed. This application was fully developed in Python and it uses a Multilayer Perceptron in order to do the classification of the SyncTime of a booking, based on several inputs given by the user.Esta dissertação centra-se na plataforma de monitorização e controlo da empresa Skyline Communications, o DataMiner. Esta plataforma possui um módulo específico denominado de SRM (Service and Resource Management). Uma das características do SRM é a capacidade de fazer uma reserva antecipada (booking) dos recursos da rede de um cliente. Quando uma reserva é criada, existe um intervalo de tempo/atraso entre o momento em que uma reserva é solicitada e o momento em que todas as configurações necessárias para a mesma realmente começam a ser feitas ao nível de Recurso do DataMiner. Este atraso é chamado de SyncTime. O SyncTime é afetado pela dinâmica da rede (por exemplo, um aumento repentino no número de reservas feitas num determinado momento). De forma a assegurar a máxima qualidade de serviço possível ao cliente e garantir que a dinâmica da rede tenha o mínimo impacto na entrega em tempo real do conteúdo desejado, o módulo SRM deve ser capaz de estimar se uma reserva pode ser feita com um valor de SyncTime aceitável. Diante deste problema, o principal objetivo desta dissertação é desenvolver um módulo de regressão/classificação baseado em aprendizagem automática (machine learning) que seja capaz de fazer uma previsão do valor do SyncTime ou classificação do mesmo, com base no estado temporal do módulo SRM. Duas abordagens foram consideradas: Classificar o SyncTime com base em classes ou estimar o seu valor. Para testar as mesmas, implementou-se vários métodos tradicionais de machine learning, bem como várias redes neuronais. Ambas as abordagens foram testadas utilizando um conjunto de dados recolhido de um cluster composto por três agentes DataMiner usando software desenvolvido nesta dissertação. Para a recolha dos dados, considerou-se várias configurações que capturam o cluster em diferentes condições. Ao comparar ambas as abordagens, os resultados sugerem que classificar o SyncTime usando um modelo de classificação e classificar o valor do SyncTime previsto por um modelo de regressão são ambas boas opções. Com base nos resultados obtidos, foi criada ainda uma aplicação protótipo. Esta foi totalmente desenvolvida em Python e utiliza um Multilayer Perceptron para realizar a classificação do SyncTime de uma reserva, a partir dos dados introduzidos pelo utilizador

    Similar works