• Nenhum resultado encontrado

A service-based access selection algorithm for always best connected networks

N/A
N/A
Protected

Academic year: 2021

Share "A service-based access selection algorithm for always best connected networks"

Copied!
87
0
0

Texto

(1)Universidade Federal de Pernambuco Centro de Inform´atica. Mestrado em Ciˆencia da Computa¸c˜ao. A SERVICE-BASED ACCESS SELECTION ALGORITHM FOR ALWAYS BEST CONNECTED NETWORKS Igor Chaves Canan´ea ˜ DE MESTRADO DISSERTAC ¸ AO. Recife March 05 2007.

(2) Universidade Federal de Pernambuco Centro de Inform´atica. Igor Chaves Canan´ea. A SERVICE-BASED ACCESS SELECTION ALGORITHM FOR ALWAYS BEST CONNECTED NETWORKS. Trabalho apresentado ao Programa de Mestrado em Ciˆ encia da Computa¸ c˜ ao do Centro de Inform´ atica da Universidade Federal de Pernambuco como requisito parcial para obten¸ c˜ ao do grau de. Mestre em Ciˆ encia da Com-. puta¸ c˜ ao.. Orientadora: Prof. Dr. Judith Kelner Co-orientador: Dr. G´ abor F´ odor. Recife March 05 2007.

(3) Cananéa, Igor Chaves A service-based access selection algorithm for always best connected networks / Igor Chaves Cananéa. – Recife: O autor, 2007. xvi, 69 folhas : il., fig., tab. Dissertação (mestrado) – Universidade Federal de Pernambuco. CIN. Ciência da Computação, 2007. Inclui bibliografia. 1.Seleção de acesso. 2. Redes ABC. Binpacking. I.Título. 005.8. CDD (22.ed.). 3.. MEI2007-057.

(4) To my parents. If I’m here today, it was because of you..

(5) ACKNOWLEDGEMENTS. Many were the people that directly or indirectly helped me accomplish this task and I thank everyone of you for your support and patience. Of course, there are always those that are more supportive and deserve a more verbal thank you. First, I would like to thank my family, especially my parents, Ronaldo and Maria Helena Canan´ea, for always believing in me no matter how motivated or stressed up I was. As I said before, if I am here today, it was only (well, at least mostly) because of you. I love you very much. Nevertheless, they were not the ones that had to deal with my daily disbeliefs and questioning of my own life. That was a task that my wife, Karina, had to put up with and because of her this dissertation exists in spite of all of the difficulties that I had to go through. My love, there is not a single day that I go by without thanking the opportunity to have you by my side in one more life. I could not stress how much I am thankfull to my supervisor, Prof. Dr. Judith Kelner, for giving me the opportunity to work in the research project with my co-supervisor, Dr. G´abor F´odor, that originated this dissertation. It is a result of the work that we accomplished in the first phase of the project and her support for my ideas and the liberty that she gave me in conducting my dissertation were priceless for my maturing process as a researcher (still ongoing, by the way :). Along with my supervisors, Prof. Dr. Denio Mariz was one of the people that most helped me by discussing ideas, proposing solutions and reminding me that the focus is on solving the problems, not to spend to much time building and analysing tools and meta-tools that would help make creating the solution an easier task it. Denio is to me a very good friend that I thank for having worked with me on the project as my manager. There are also the people in my work place that mostly indirectly helped my, but two of them are like brother and sister to me and, like my family, were always supportive iv.

(6) ACKNOWLEDGEMENTS. v. when I most needed. Nacha and Mouse, you are the best friends that any person could ever have. Thank you for existing! I would also like to thank Yzmurph, Joseane and Manuela for their friendship and listening to me expose my crazy ideas at anytime, no matter where. These thank you messages would not be complete if I as the u ¨bergeek that I am, didn’t thank Linus Torvalds and Larry Page and Sergey Brin for the existence of Linux and Google, respectively. It was through Linux that I learned what a computer is really capable of and it was through Google that most of the information pertinent to this dissertation was found (actually, most online information whatsoever). Without these two elements, there could have been a chance that my initial choice of medical school instead of computer science would have been reasured (for the joy of my mother, actually :). Finally, I would like to thank God for existing, no matter what the reason was that he created me for. The opportunity to live throughout life is so rewarding that I question not why I was created, but why there are still those who don’t see it as a gift (although questioning creation is very witty and thought provoking). It is only through life that people and life itself evolve, because living is a never ending learning process..

(7) There is no new work in the sense that one starts from nothing. It is only by learning from those who knew better that we can create something that can be called new. ´ A (Paraphrasing Sir Isaac Newton) —IGOR CHAVES CANANE.

(8) ABSTRACT. It is expected that future wireless systems will consist of several distinct radio access technologies, such as WCDMA/HSDPA, GSM/EDGE/GPRS, WLAN and others, forming a mobile multi-access system offering advanced multimedia services. Together with the evermore availability of user terminals capable of operating with more than one communication technology, users can take advantage of such systems by accessing services using the technology that most suits them. Unfortunately, more options can also bring more complexity if too much manual configuration is needed, which in turn could degrade the user experience. It would be suitable if the selection of the network was as automatic as possible so that the user could concentrate on the services while the network could take care of the access selection. The Always Best Connected (ABC) Network concept defines that devices should always be online, connected through the available communication technologies that can satisfy the service and user requirements while also respecting requirements from the network providers. The realization of the concept implies that the collection of available networks should now be seen as a single network with heterogenous characteristics that can be explored according to the demands of many different service classes. This can be achieved by use of a Common Radio Resource Management (CRRM) component that is aware of the status of the networks and can decide what is the most suitable action to be taken. Currently, there are very limited automatic selection solutions which are applied to existing networks, mainly because decisions can become too complex as the number of supported services and available network technologies increases. Because of this, the level of flexibility in these systems is very small, being very specific for a small set of service classes or supported networks. Another limitation is that the algorithms are typically offline, meaning that some knowledge about the traffic must be previously assumed, resulting in non-optimal solutions. A more capable online selection algorithm that can perform optimally regardless of the amount of supported service classes and networks is vii.

(9) ABSTRACT. viii. yet to be seen. This dissertation presents an heuristic for online access selection in ABC networks that has a near-optimal performance regardless of the number of supported access technologies and with respect to resource utilization, service attendancy and rejection rates, while also providing some level of fairness between the supported service classes. The algorithm, called LessDamage is designed as a binpacking heuristic, where the objects to be packed are the applications and the bins are the network technologies. The performance analysis shows that the proposed solution outperforms the the classic online bin-packing algorithms and measures very well against the best offline strategy. A possible direction to follow in order to make the algorithm perform well with the number of service classes is also presented.. Keywords: ABC networks, access selection, binpacking.

(10) RESUMO. ´ esperado que os v´arios sistemas de comunica¸c˜ao sem fio como WCDMA/HDSPA, E GSM/EDGE/GPRS, WLAN e outros formar˜ao uma rede m´ovel multi-acesso e multiservi¸co, capaz de oferecer servi¸cos avan¸cados de multim´ıdia. Combinado com a maior disponibilidade de terminais capazes de se comunicar usando mais de uma tecnologia, os usu´arios desse sistema obter˜ao vantagens ao usar a technologia mais apropriada para um determinado servi¸co. Infelizmente, mais op¸c˜oes podem trazer mais complexidade se isso significar mais configura¸c˜oes manuais para o usu´ario, tornando a experiˆencia de uso pior. Uma forma autom´atica de selecionar a rede mais apropriada seria uma solu¸c˜ao pr´atica interessante para aliviar a necessidade de configura¸c˜oes por parte do usu´ario. O conceito de redes Always Best Connected (ABC) define que dispositivos devem estar sempre online, conectados atrav´es das tecnologias de comunica¸c˜ao dispon´ıveis que s˜ao capazes de atender os requisitos dos servi¸cos dos usu´arios e tamb´em respeitar os requisitos de funcionamento das operadoras das redes. A realiza¸c˜ao desse conceito implica em tratar o conjunto de tecnologias existentes como uma u ´nica rede com caracter´ısticas hetergˆeneas que pode ser explorada de acordo com a demanda das diversas classes de servi¸co. A utiliza¸c˜ao de um Gerenciador Commum de Recursos de Radio (GCRR) ´e uma forma de atingir esse objetivo, pois ele teria acesso aos status das diversas redes e poderia decidir qual a melhor a¸c˜ao a ser tomada. Atualmente, existem algumas solu¸c˜oes limitadas para sele¸c˜ao autom´atica de redes, principalmente porque a complexidade da decis˜ao a ser tomada aumenta com o n´ umero de classes de servi¸cos e tecnologias supportadas. Outra limita¸c˜ao ´e que os algoritmos utilizados s˜ao tipicamente offline, o que significa que algum conhecimento sobre o tr´afego deve ser assumido, resultando em solu¸c˜oes n˜ao ´otimas. Este trabalho apresenta uma heur´ıstica para sele¸c˜ao de acesso online em redes ABC que ´e quase-´otima independentemente do n´ umero de tecnologias de acesso suportadas e no que diz respeito a utiliza¸c˜ao de recursos, taxas de atendimento e rejei¸c˜ao de servi¸cos. ix.

(11) RESUMO. x. O algoritmo ´e chamado de LessDamage e foi desenvolvido para funcionar como uma heur´ıstica de binpacking, onde os objetos a serem empacotados s˜ao as aplica¸c˜oes e as caixas s˜ao as tecnologias suportadas. A an´alise de desempenho mostrou que a solu¸c˜ao proposta tem desempenho superior ao de algoritmos cl´assicos de binpacking e a sua compara¸c˜ao com um algoritmo ´otimo offline mostrou que seu desempenho ´e muito bom. Uma poss´ıvel dire¸c˜ao para tornar o algoritmo escal´avel tanto com o n´ umero de classes de servi¸cos quanto com o n´ umero de technologias tamb´em ´e apresentada.. Palavras-chave: Redes ABC, sele¸c˜ao de acesso, binpacking.

(12) CONTENTS. Chapter 1—Introduction. 1. 1.1. Motivation and Contextualization . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.3. Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.4. Organization of the Dissertation . . . . . . . . . . . . . . . . . . . . . . .. 3. Chapter 2—Multi-access and Multi-service Networks and the Binpacking problem. 4. 2.1. The begining of a transition . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 2.2. Always Best Connected Networks . . . . . . . . . . . . . . . . . . . . . .. 6. 2.2.1. The ABC Network model . . . . . . . . . . . . . . . . . . . . . .. 6. The Binpacking problem . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 2.3. 2.3.1. A fairness issue in bounded binpacking problems . . . . . . . . . .. 11. 2.3.2. Binpacking and Access Selection . . . . . . . . . . . . . . . . . . .. 11. 2.4. Related works on Network Access selection . . . . . . . . . . . . . . . . .. 12. 2.5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14. Chapter 3—The LessDamage Access Selection Algorithm xi. 16.

(13) CONTENTS. xii. 3.1. System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 3.1.1. Queueing Model . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 17. 3.1.2. Binpacking Model . . . . . . . . . . . . . . . . . . . . . . . . . . .. 18. Describing the LessDamage Algorithm . . . . . . . . . . . . . . . . . . .. 19. 3.2.1. Application Models . . . . . . . . . . . . . . . . . . . . . . . . . .. 23. 3.2.2. Shrinking policies . . . . . . . . . . . . . . . . . . . . . . . . . . .. 26. Implementing LessDamage . . . . . . . . . . . . . . . . . . . . . . . . . .. 27. 3.3.1. LessDamage complexity analysis . . . . . . . . . . . . . . . . . . .. 29. 3.3.1.1. Using a shrinking policy . . . . . . . . . . . . . . . . . .. 30. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30. 3.2. 3.3. 3.4. Chapter 4—Performance Evalutation. 31. 4.1. Simulation System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31. 4.2. Simulation scenarios and strategies . . . . . . . . . . . . . . . . . . . . .. 33. 4.2.1. Comparison with online algorithms . . . . . . . . . . . . . . . . .. 37. 4.2.2. Comparison with offline optimal algorithm . . . . . . . . . . . . .. 38. 4.2.3. Analyzed metrics . . . . . . . . . . . . . . . . . . . . . . . . . . .. 39. 4.2.3.1. RejectionRatio . . . . . . . . . . . . . . . . . . . . . . .. 40. 4.2.3.2. ServiceRatio . . . . . . . . . . . . . . . . . . . . . . . .. 41. 4.2.3.3. Fairness . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42. 4.2.3.4. Biased Fairness . . . . . . . . . . . . . . . . . . . . . . .. 42. Simulation results and discussions . . . . . . . . . . . . . . . . . . . . . .. 43. 4.3.

(14) xiii. CONTENTS. 4.3.1. General results . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 43. 4.3.2. Scenario S1 - Two services and two technologies . . . . . . . . . .. 44. 4.3.2.1. RejectionRatio . . . . . . . . . . . . . . . . . . . . . . .. 44. 4.3.2.2. ServiceRatio . . . . . . . . . . . . . . . . . . . . . . . .. 46. 4.3.2.3. Fairness . . . . . . . . . . . . . . . . . . . . . . . . . . .. 48. 4.3.2.4. BiasedFairness . . . . . . . . . . . . . . . . . . . . . . .. 49. Scenario S2 - Two services and three technologies . . . . . . . . .. 50. 4.3.3.1. RejectionRatio . . . . . . . . . . . . . . . . . . . . . . .. 50. 4.3.3.2. ServiceRatio . . . . . . . . . . . . . . . . . . . . . . . .. 51. 4.3.3.3. Fairness . . . . . . . . . . . . . . . . . . . . . . . . . . .. 52. 4.3.3.4. BiasedFairness . . . . . . . . . . . . . . . . . . . . . . .. 53. 4.3.4. Scenario S3 - Two services and four technologies . . . . . . . . . .. 54. 4.3.5. Comparison with the offline strategy . . . . . . . . . . . . . . . .. 55. 4.4. Limitations of the LessDamage algorithm . . . . . . . . . . . . . . . . . .. 58. 4.5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 61. 4.3.3. Chapter 5—Conclusion. 63.

(15) LIST OF FIGURES. 2.1. An ABC scenario with adaptation. . . . . . . . . . . . . . . . . . . . . .. 7. 2.2. The actors involved in the ABC Network. . . . . . . . . . . . . . . . . . .. 8. 2.3. An AAA use case example. . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 3.1. The system’s Queue Model. . . . . . . . . . . . . . . . . . . . . . . . . .. 17. 3.2. The system’s Binpacking Model. . . . . . . . . . . . . . . . . . . . . . . .. 19. 3.3. A simple example scenario for the LessDamage algorithm. . . . . . . . .. 20. 3.4. Class diagram for LessDamage algorithm. . . . . . . . . . . . . . . . . .. 29. 4.1. The Voice RejectionRatio for all loads in Scenario S1 . . . . . . . . . . .. 45. 4.2. The Voice RejectionRatio for all loads in Scenario S1 . . . . . . . . . . .. 46. 4.3. The WWW RejectionRatio for all loads in Scenario S1 . . . . . . . . . .. 47. 4.4. The ServiceRatio for all loads in Scenario S1 . . . . . . . . . . . . . . . .. 49. 4.5. The zoomed ServiceRatio for all loads in Scenario S1 . . . . . . . . . . .. 50. 4.6. The Fairness metric for all algorithms in all loads in Scenario S1. . . . . .. 51. 4.7. The BiasedFairness metric for all algorithms in all loads in Scenario S1 .. 52. 4.8. The global RejectionRatio for all loads in Scenario S2 . . . . . . . . . . .. 53. 4.9. The Voice RejectionRatio for all loads in Scenario S2 . . . . . . . . . . .. 54. xiv.

(16) LIST OF FIGURES. xv. 4.10 The WWW RejectionRatio for all loads in Scenario S2 . . . . . . . . . .. 55. 4.11 The global ServiceRatio for all loads in Scenario S2 . . . . . . . . . . . .. 56. 4.12 The BiasedFairness for all loads in Scenario S2 . . . . . . . . . . . . . . .. 58. 4.13 The global RejectionRatio for all loads in Scenario S3 . . . . . . . . . . .. 59. 4.14 The global ServiceRatio for all loads in Scenario S3 . . . . . . . . . . . .. 60. 4.15 The Fairness for all loads in Scenario S3 . . . . . . . . . . . . . . . . . .. 61. 4.16 The BiasedFairness for all loads in Scenario S3 . . . . . . . . . . . . . . .. 62.

(17) LIST OF TABLES. 4.1. Summary of the simulated scenarios. . . . . . . . . . . . . . . . . . . . .. 33. 4.2. Summary of the application class parameters. . . . . . . . . . . . . . . .. 34. 4.3. Summary of the network technology parameters. . . . . . . . . . . . . . .. 35. 4.4. Arrival load parameters for scenario S1. . . . . . . . . . . . . . . . . . . .. 36. 4.5. Arrival load parameters for scenario S2. . . . . . . . . . . . . . . . . . . .. 36. 4.6. Arrival load parameters for scenario S3. . . . . . . . . . . . . . . . . . . .. 37. 4.7. RejectionRatio with shrinking in Low load in Scenario S1 . . . . . . . . .. 48. 4.8. Normalized Fairness with shrinking in Scenario S1 . . . . . . . . . . . . .. 48. 4.9. Normalized Fairness with shrinking in Scenario S2 . . . . . . . . . . . . .. 57. 4.10 Offline Ratio for LessDamage . . . . . . . . . . . . . . . . . . . . . . . .. 57. xvi.

(18) CHAPTER 1. INTRODUCTION. 1.1. MOTIVATION AND CONTEXTUALIZATION. It is expected that future wireless systems will consist of several distinct radio access technologies, such as WCDMA/HSDPA, GSM/EDGE/GPRS, WLAN and others, forming a mobile multi-access system offering advanced multimedia services. Together with the evermore availability of user terminals capable of operating with more than one communication technology, users can take advantage of such systems by accessing services using the technology that most suits them [Fod05], [FFL04]. Some of the advantages that can be obtained from the increased availability of networks are load balancing, multihoming of applications, and communication fallback. Unfortunately, more available networks can also bring more complexity if too much manual configuration is needed, which in turn could degrade the user experience. It would be suitable if the selection of the network was as automatic as possible so that the user could concentrate on using services while the network could take care of the access selection. User profiles that map the individual preferences of the user applications to a set of well defined service classes [Kam] is a step in this, because it reduces the amount of parameters that should be considered in the selection process. The Always Best Connected (ABC) Network concept [GJ03] defines that devices should always be online, connected through the communication technology or technologies that can satisfy the service and user requirements - such as quality and cost - while also respecting requirements from the network providers. The realization of the concept implies that the collection of available networks should now be seen as a single network with heterogenous characteristics that can be explored according to current demands. This can be achieved by the use of a Common Radio Resource Management (CRRM) component that is aware of the status of the networks and can decide what is the most suitable action to be taken when an application requests access to the network.. 1.

(19) 1.2 OBJECTIVES. 2. Currently, there are very limited solutions for automatic access selection which are applied to existing networks, mainly because decisions can become too complex as the number of supported services and available network technologies increases. Hence, the level of flexibility in these systems is very low, being very specific for a small set of service classes or supported networks. Another limitation is that the algorithms are typically offline, meaning that some knowledge about the traffic is assumed, resulting in non-optimal solutions. A more capable online selection algorithm that can scale to many services and networks is yet to be seen. This dissertation presents an heuristic for online access selection in ABC networks that scales well with the number of supported access technologies and is near-optimal with respect to resource utilization, service attendancy and rejection rates, while also providing some level of fairness among the supported service classes. The algorithm, called LessDamage is designed as a binpacking heuristic [GJ79], where the objects to be packed are the applications and the bins are the network technologies. A possible direction to follow in order to make the algorithm also scale and perform well with the number of service classes is also presented.. 1.2. OBJECTIVES. The main objective of this work is to present and evaluate a solution for the access selection problem in ABC networks called LessDamage. The solution is modeled as a binpacking heuristic that is able to take advantage of the resource consumption relation between the objects (applications) and the bins (networks technologies). The algorithm assumes that at most two service classes are supported, but the number of network technologies can be larger than two. Given the impracticality of evaluating the algorithm in a deployed ABC network there are no current large scale deployed networks and the existing smaller networks are unaccessible for testing - simulations were used to assess the performance of the algorithm. A special purpose simulator was created by the author to simulate the scenarios where the algorithms can be employed. The simulator is composed of a simulation framework, called PBSFW (Process-based Simulation Framework) and the simulation specific code for modelling application behaviors, supported technologies and scenarios..

(20) 1.3 CONTRIBUTIONS. 1.3. 3. CONTRIBUTIONS. The main contribution of this work is the LessDamage algorithm, which was an evolution of the LessVoice algorithm, described in Section 2.4. Two papers based on LessVoice were written and accepted in the 2006 IEEE WoWMoM [MCSF06] and in the 2006 SBRC [CMSF06]. The simulation framework is also a contribution. It is small but sufficiently generic to be used for other simulation environments and implements a process-based discrete-event simulation paradigm in C++. Given the small number of freely available process-based simulation tools written in C/C++, the framework is a welcome contribution to the set of existent frameworks written in other languages. Another contribution is a discussion on how LessDamage could be enhanced to make it also perform well with more than two supported service classes.. 1.4. ORGANIZATION OF THE DISSERTATION. The remainder of this dissertation is organized as follows: Chapter 2 gives an overview of the related works in network access selection and binpacking and describes the Always Best Connected Network concept. Chapter 3 details the main contribution of this work, the LessDamage service based access selection algorithm, and two other heuristics called LessVoice and LessResource. The system model that was used to test the algorithm is also presented. Chapter 4 presents the performance evaluation of the algorithm through simulation of multi-access multi-service scenarios. Chapter 5 draws some conclusions for this dissertation, stresses its contributions and discusses interesting considerations for future works on this subject..

(21) CHAPTER 2. MULTI-ACCESS AND MULTI-SERVICE NETWORKS AND THE BINPACKING PROBLEM. This chapter discusses multi-access and multi-service networks and how they evolved from the earlier single-service networks. The discussion is then directed to the binpacking problem, which was used to model access selection in this dissertation. The access selection problem , which is the central focus of this dissertation, is presented along with the related works in this area. The remainder of this chapter is organized as follows: Section 2.1 briefly describes the evolution process for multi-access multi-service networks; Section 2.2 outlines the Always Best Connected Networks concept and the key components in building such a solution; Section 2.3 gives an overview on the binpacking problem, Section 2.4 presents the access selection problem in multi-access multi-service networks and the most important works regarding the problems involved in selecting network technologies and Section 2.5 presents a summary of this chapter.. 2.1. THE BEGINING OF A TRANSITION. With the introduction of the second generation (2G) cellular systems, namely GSM [Sco96], TDMA [LJHJ98] and cdmaOne [Gar99], and the transition from analog to digital communications, cellular networks, which were mainly speech centered, are now offering the possibility of also exchanging data packets, creating therefore a multi-service network, although the core of these network was still circuit-switched. The availability of new terminals that supported sending and receiving SMS messages and the possibility of accessing the Internet through WAP services expanded the user base rapidly and by the year 2000, more than 700 million subscribers were using mobiles; more than 8 billion SMS messages were sent and there were more than 50 million WAP users worldwide [MFL01]. The underlying potential motivated an evolutionary step in 2G cellular systems that 4.

(22) 2.1 THE BEGINING OF A TRANSITION. 5. enhanced the data rates offered by these systems. These modifications created the 2.5G cellular systems, which are an overlay packet-switched network. GPRS [Hal03] was the enhancement created for GSM and allows users to be always online and to be charged only for the data packets that were effectively transmitted, contrasting with the pure GSM data networks that charged data by the minute. With data rates of up to 48Kb/s, GPRS helped disseminate even more the use of Internet in cellular phone. By 2001, third generation (3G) systems became commercially available, with the deployment of EDGE [Hal03] and cdma2000 [Yan04] systems. EDGE is an evolution for GSM and TDMA that enables data rates up to 236 Kb/s, while cdma2000 had data rates up to 144 Kb/s. W-CDMA [Oja01], a new 3G system designed to replace 2G systems, allowed even higher rates: from 384 Kb/s to 3.6 Mb/s when HSDPA [HT06] is used. UMTS [VA] is the best known deployment of W-CDMA and allowed the use of multimedia applications, such as video calls and Digital Video Broadcast (DVB) [CIC+ ]. By the time the cellular system had evolved to 3G, Bluetooth [HNI+ 98] and wireless local area networks (WLAN) were also becoming very popular as data-centric networks. Bluetooth is a fast, low power short range communication stack that allows user terminals to access services from each other at speeds initially up to 700 Kb/s but then enhanced to 10 Mb/s, WLAN is a wireless solution for local area networks with three widely deployed standards: 802.11a, 802.11b and 802.11g, with 802.11n in the works (currently a draft specification) [IEE]. 802.11b allowed effective data rates of 6.5 Mb/s (11 Mb/s nominal maximum) and 802.11a and 802.11g both had effective rates of approximately 24.7 Mb/s (54 Mb/s nominal maximum). The proliferation of WLAN hotspots, which are WLAN access points deployed in public areas, enabled users to be virtually always connected, at least in some parts of the world. With so many popular communication technologies, it was only natural that terminals capable of using more than one network became available. Initially, Infrared [Wil00] was used for short range communications between cell phones, but with the increasing adoption of Bluetooth, most new terminals have completely discarded Infrared. Personal Area Networks (PAN) became a feasible scenario for users with many Bluetooth devices, such as earphones, cellular phones, PDA’s and music players [JYlM+ 01]. WLAN is also finding its way into mobile devices, with notebooks and PDA’s being the most notable users, but cell phones are also starting to offer this type of access. The adoption is increasing, although at a somewhat slow speed due mainly to battery issues. There is.

(23) 2.2 ALWAYS BEST CONNECTED NETWORKS. 6. also the option of using UMTS in notebooks with the availability of PCMCIA cards. The proliferation of communication technologies and the availability of multi-access user terminals created a rich multi-service set of networks, capable of offering many different multimedia services. Nevertheless, the networks were still considered separately and users still had to manually choose between the available options. Hence, although terminals were multi-access, the network was not a single entity and therefore, it was still a single access process. This situation motivated researchers to design new network architectures that could treat the set of access technologies as a single network and improve the user experience by automatically selecting the technology or technologies that would most suit the requested services. A set of common characteristics from these new networks are summarized in the Always Best Connected (ABC) Networks concept.. 2.2. ALWAYS BEST CONNECTED NETWORKS. ABC Networks [GJ03] is a concept that underlies how users expect future networks should attend their needs. The main idea is that users should be always on, connected through the available technologies that satisfy the requirements of the services that users requested. If better quality is achievable through other network technologies, the transition must be performed seamlessly and content adaptation may take place if current requirements are not attainable. These actions should be performed with minimum user intervention. Most of the discussions in this Section were drawn from [GJ03], [GFT03] and [FFL04] and readers should refer to them for more details on the concept. The following paragraphs will outline the ABC network concept and its key building blocks.. 2.2.1. The ABC Network model. Figure 2.1 shows a possible use case for ABC networks. In this scenario, Hubert is able to attend a meeting using his PDA while in the subway and upon arriving at his office building, he can switch to the company’s WLAN coverage on his laptop and carry on the meeting, with the network detecting device and coverage changes and adapting to the dynamic requirements. The adaptations are transparent to the user since no.

(24) 2.2 ALWAYS BEST CONNECTED NETWORKS. 7. manual configuration is necessary and therefore Hubert is able to concentrate on what is important for him, which are the services that he requested.. Figure 2.1 An ABC network scenario with adaptation [GJ03].. In order to realize the ABC network concept, a reference model was created that outlined the actors involved and how they related to each other, as described in Figure 2.2, along with the main building blocks that are necessary to build an ABC compliant solution. Most of the components already exist, but they are not integrated into a single solution. The main components are Access Discovery, Access Selection, Mobility Management, Profile Handling, Content Adaptation and Authentication, Authorization and Accounting (AAA) support. ˆ Access discovery. When the user activates his terminal, access discovery must. take place in order to identify what are the available usable technologies. This may include cellular networks, PAN’s, WLAN coverage and so on. After detecting and choosing the appropriate technologies, the terminal must periodicaly perform discovery to check if new technologies that could fulfill the service requirements in a better manner for the user and the network operators are available. This could also mean that services that were unable to be attended can also be offered. ˆ Access selection. The selection process is central to the realization of the concept,. as it can determine how many users can be simultaneously attended while respecting the service requirements. This becomes a complex issue because it may involve dynamically changing access technologies in order to optimize the network access. A more detailed discussion on access selection is given in Section 2.4..

(25) 2.2 ALWAYS BEST CONNECTED NETWORKS. 8. Figure 2.2 The actors involved in the ABC Network concept and their relation and business agreements: a) operator and ABC service provider; b) access network providers and ABC service provider; c) ABC service provide and virtual access network operator; d) ABC and application service provider [GJ03].. ˆ Mobility management. With the possibility of roaming between different tech-. nologies, traditional mobility management solutions must be enhanced in order to fulfill the promise of seemless transition. These enhancements include session continuity (maintainance of user session during the trasition between technology boundaries), session transfer (maintenance of the user session when device changes occurs) and reachability (user must be reachable regardless of his current location inside the ABC network). ˆ Profile handling. By subscribing to an ABC network provider, a user profile. is set up based on his preferences for access technologies and service uses, along with information regarding which networks the user is alowed to access, credential information and accounting data. The profile must be secured and accessible in any part of the ABC network. Access selection could be made less complex by taking the profiles into consideration. ˆ Content adaptation. The scenario shown in Figure 2.1 shows the need for content. adaptation in order to enhance the user experience. There are some alternatives for how the process can be carried on, but the key factor is that provide dynamic reconfiguration of each sessions based on the service requirements and the characteristics of the network technologies that can change without notice..

(26) 2.3 THE BINPACKING PROBLEM. 9. ˆ Authentication, authorization and accounting (AAA) support. AAA sup-. port is paramount for the realization of the ABC concept. Network operators will need to negotiate a common AAA infrastructure or at least provide interfaces for accessing each others information. There is also the issue of AAA for PAN, which must be incorporated to the operator’s AAA infrastructure in order to allow users to access networks provided by operators through the PAN. Figure 2.3 shows an example AAA use case with the involed actors. In this example, Hubert is covered by a 3G access network and then moves to a WLAN coverage (a). As soon as he reaches the network, Hubert request his authentication (b), which is forwarded to the 3G access network. Both network operators have a business agreement, allowing Hubert to continue has wireless experience.. Figure 2.3 An AAA use case example, where a user moves from a 3G network to a WLAN hotspot and gets authenticated [GJ03].. Of all the components described for ABC Networks, access selection is regarded as one of the most important because, as will be discussed in the following Section, it plays a vital role in the scalability of the new networks.. 2.3. THE BINPACKING PROBLEM. Binpacking [GJ79] is a classic problem in computer science: given a set of objects O with size between 0 and 1 and an unbounded amount of bins with size 1, pack all objects in the bins using as less bins as possible. The problem assumes that the algorithm has complete.

(27) 2.3 THE BINPACKING PROBLEM. 10. knowledge of the objects that should be packed and therefore it is characterized as an offline problem. A through review of the binpacking problem and existing heuristics can be found in [EGCGJ97]. In this Section, only one-dimensional binpacking variations will be considered, because it was the approach adopted for LessDamage. It has been shown that binpacking is an NP-Hard problem [GJ79] and there are several near-optimal solutions for the offline binpacking problem, with BestFit, WorstFit, FirstFit and HarmonicFit being the most commonly known [CGMV98]. A variation on the FirstFit algorithm, called FirstFitDecreasing [CGMV98]was shown to provide the best possible packing in polynomial time by first sorting the objects in descending order according to their sizes and then using FirstFit to pack the objects. The online version of the problem is more challenging and is defined as follows: given a set of objects O with sizes between 0 and 1 and an unbounded amount of bins with size 1, pack all objects in the bins in the order they arrive, using as less bins as possible. The algorithm has no knowledge whatsoever of the arrival sequence of the objects object and therefore cannot perform any preprocessing actions on O, as was done in the FirstFitDecreasing algorithm. The best heuristics known for the online binpacking problem are [Sei02]. Many modification can be made on the original problem for either the offline or online cases. The first natural modification would be to allow bins to have sizes greater than 0, but not limited to 1. Allowing the objects to have sizes greater than 1 is also possible, albeit still limiting it by the size of the bin. Both modifications - either applied individually or simultaneously - do not alter the nature of the problem i.e. it is still an NP-Hard problem. If the maximum amount of available bins is fixed and the algorithm is still offline, then the new variation, which is called bounded binpacking, can be trivially solved optimally in polynomial time, assuming that all objects can be packed using the available bins. Even if the sizes of the bins are different, the problem is still solvable in polynomial time. If not all objects can be packed due to the limited amount of bins, then the problem must be restated as follows: given a set of objects O with sizes between 0 and the size of the largest bin and a bounded set of bins with sizes greater than 0, pack as many objects as possible in the available bins. This problem is also solvable in polynomial time and an algorithm for it is given in..

(28) 2.3 THE BINPACKING PROBLEM. 11. The bounded-space variable-size online binpacking problem is again NP-Hard, contrary to the offline variation, and the best algorithms known to solve the problem are shown in [SvSE03] and [CJ91].. 2.3.1. A fairness issue in bounded binpacking problems. Unfortunately, the optimal solution for any of the binpacking problems is not fair, because bigger objects will have a higher probability of not being packed compared to smaller ones. This is not a problem, given the problem proposition, but by mapping classes to the objects, this issue becomes very relevant. The problem can therefore be restated as: given a set of objects O with sizes between 0 and the size of the largest bin, a set of classes C and a function Class : O −→ C that maps each object to one and only one of the available classes, pack as many objects as possible in the available bin according to some fairness criteria. The fairness criteria could be elaborated based on the number of objects from each class or on the amount of space that objects from a class must occupy. For the former, the fairness criteria could be informally defined as “the amount of packed objects of each class must be the same”; for the latter, it could be “the sum of space occupied by the packed objects of each class must be the same”. The optimal polynomial time offline algorithms that take into consideration the fairness criteria are described in [ABF+ 00].. 2.3.2. Binpacking and Access Selection. The Binpacking problem is a good model for network access selection because the components of the model are very much analogous to the set of actions and decisions that must be taken into consideration by a selection algorithm. The relation between bins and network technologies and objects and service instances is very natural and lends itself to a simpler analysis of the problem. Another advantage is that there are not many adaptations to be made in order to use a binacking model and therefore well known algorithms that can solve the problem can be used. There are other possible models, such as the Generalized Assignment Problem (GAP), which can be considered as a superset of the Binpacking mode [SvT93]; CPU scheduling.

(29) 2.4 RELATED WORKS ON NETWORK ACCESS SELECTION. 12. is an interessting model, specialy if Symmetric Multiprocessor (SMP) systems or Distributed Systems are considered [DAC96]. Although these models are plausible, they are more complex than the binpacking model, while not adding any significant contributions to the analysis of the problem.. 2.4. RELATED WORKS ON NETWORK ACCESS SELECTION. Due to the dynamic nature of mobile multi-access networks, access selection becomes paramount to the performance of such networks: it must be fast, automatic and scalable [FFL04]. These goals become more difficult to achieve as the number of available network technologies and supported services increase due to the abundance of parameters that could be used to achieve optimal selection. In this context, an optimal selection is one that achieves a high level of service attendancy while respecting the quality constraints required by the services. One way to lessen the amount of parameters is to look at classes of service instead of individual parameters that compose the class itself. In other words, a class definition should be sufficient as an input parameter for access selection algorithms to decide what is the most appropriate network technology to assign the service session. The lower and upper bounds for a service class could be determined based on actual realtime measurements or through some function that describes how the available resources in a technology declines with the allocation of sessions of a service class [Fur03]. [THH02] shows that by treating the set of available network technologies as a single entity and performing access selection on it increased the capacity of the network - the authors called it a “trunking” gain - in terms of individual service capacities and therefore, the number of simultaneous sessions that could be attended. The possibility of treating many networks as a single one is achievable by the use of a Common Radio Resource Manager (CRRM) that is aware of the status of the individual networks and can take the appropriate action when modifications on the state of any of the networks are perceived. The authors analyzed both voice and data streams but not mixed together, thus the scenarios were multi-access but not multi-service. In [Fod05], [Fur03] and [FFL04], research indicated that if the capacity of the individual subsystems are different, then the combined capacity of the resulting network will.

(30) 2.4 RELATED WORKS ON NETWORK ACCESS SELECTION. 13. vary depending on the used access selection algorithm - the service allocation strategy. The papers show the existence of offline allocation strategies that maximize the number of users that can be accommodated by multi-access system under a set of quality constraints. The strategies proposed are offline and assume that either a set of sessions can be allocated at the same time or in-progress sessions can be reallocated. Nevertheless, this work provides the mathematical foundation to perform optimal offline allocation based on the available network technologies and the set of supported service classes. [Fod05] also considered that online selection algorithms would be preferable to offline ones, because the assumption that the set of users that are going to use the network is known is not usable in a real-world network environment; offline algorithms would therefore only be suitable if some sort of traffic estimation was used, which would most certainly result in sub-optimal allocation strategies. The combined capacity of multi-access systems that considered multi-service scenarios in a dynamic (online) environment was studied in [KFZK04]. The study showed that by employing access selection in a system composed of GSM and WCDMA subsystems using a common operation mode incurred in a 60% increase of the multi-access network capacity compared to performing selection in a separated operation mode; in the latter mode, applications are either accepted or rejected by the subsystem that was considered the best one for them and in the former, applications can be redirected to the other subsystem, in case the best one does not have any more space. The authors performed selection at the service level i.e. voice calls and WWW sessions, and used this information in order to choose what would be the best subsystem for the application in the common operation mode; the selection algorithm was a near-optimal service based selection heuristic that supported two technologies and two service classes and therefore could not be used in a more general environment. The results obtained in [Alt02] were for a single access multi-service environment and showed that the blocking rate of data applications that can lower the amount of resources used (henceforth called “Elastic Applications”) can be made arbitrally small by reducing the bitrate of the application and that the reduction depends on the arrival rate of the application. An example would be a WWW session that has its bitrate lowered to allow more sessions to be allocated. This result is non-trivial and of great value for the development of access selection algorithms that take elastic applications into consideration..

(31) 2.5 SUMMARY. 14. In [MCSF06] and [CMSF06] we presented an algorithm called LessVoice that is similar to the one presented in [KFZK04], but took a different modelling approach. The access selection problem was mapped to the bounded space variable size online binpacking problem [CJ91], with the applications being the objects and the subsystems being the bins. This approach allowed the use of classic online binpacking algorithms to perform access selection and showed that LessVoice performed better then in scenarios with and without elastic applications with two supported network technologies (GSM and WCDMA) and two service classes (Voice calls and WWW sessions). The results also demonstrated through simulation that the results obtained in [Alt02] also hold for multi-access multiservice networks. Unfortunately, the algorithm was also limited to two technologies and two service classes. The binpacking approach used for LessVoice was the same used in [XV05], where variations on the FirstFit algorithm were used as an access selection algorithm with the explicit goal to minimize the power consumption of the devices and maximize user satisfaction, which was measured through user preferences, much like a profile scheme. In general terms, the user satisfaction was higher if its sessions were allocated to the technologies that it had a higher preference to be allocated to. Although the results were promissing and showed that binpacking algorithms can be used for access selection, the analyzed scenarios were single service only and did not take elastic applications into consideration. In summary, the existing solutions for access selection in multi-access multi-service networks are not scalable nor fast enough i.e. rely on offline techniques that are not suitable for online access selection of applications. Although some solutions are promissing and there is a very good mathematical background for such a task, a generic, scalable and fast access selection solution is yet to be seen.. 2.5. SUMMARY. This chapter presented the ABC Network concept and discussed how access selection is a vital component in realizing these new networks. The ABC network concept is a set of characteristics that describe how multi-access multi-service networks should enhance the user experience when multi-access user terminals are available. The offline and online versions of the one-dimensional binpacking problem was also presented..

(32) 2.5 SUMMARY. 15. The main works related to service-based access selection were presented and although there are promissing solutions for small scale ABC Networks, a generic and fast access selection solution that scales well with the number of supported network technologies and service classes is yet to be seen..

(33) CHAPTER 3. THE LESSDAMAGE ACCESS SELECTION ALGORITHM. This chapter introduces and fully describes the LessDamage algorithm for access selection, which is the main contribution of this dissertation. The chapter starts by introducing the binpacking problem, because the heuristic behind LessDamage is mainly a binpacking solution. In the following, the system model that was used to test the working of the algorithm and of the other algorithms used in the performance evaluation are described. Two different views of the model are given: a queuing model and a binpacking model. This chapter is organized as follows: Section 3.1 describes the two models that were used to test the LessDamage algorithm; Section 3.2 describes the algorithm and details its workings; the current software implementation of the algorithm is described with UML diagrams in Section 3.3 and in Section 3.4 some concluding remarks are made.. 3.1. SYSTEM MODEL. The system can be described by two different models that share much in common. The Queueing Model describes the problem domain with its components and static and dynamic interactions, being suitable for queuing analysis and for software implementations of the system as a whole. The BinPacking model deals only with the selection part of the queueing model, as will be seen in the following sections. Although the Queuing model would suffice to describe the problem domain and how the solution is applied to it, having a model that deals specificly with the selection part of the system eases algorithm analysis by focusing on the algorithm itself and not on how the selection interacts with the other parts of the system.. 16.

(34) 17. 3.1 SYSTEM MODEL. 3.1.1. Queueing Model. The system (henceforth called network) can be modeled according to a classic G/G/C single queue queuing system [GH98] with a simple, but important variation. Figure 3.1 illustrates the dynamics of the system, which is independent of the analyzed scenario.. Figure 3.1 The system’s Queue Model.. The Applications Sources presented in Figure 3.1 represent the system input. As illustrated, there can be multiple sources with each source providing applications from different service classes, but they will all wait on the same queue. The queuing policy is FCFS (First come, First served), which means that the next application cannot enter the system until the one in front of it enters. If there is no space in the system for an application to be served, the application will wait on the queue at most its timeout value, upon which it will be rejected. The Access Selector box represents the algorithm that is performing the technology selection for the applications. Hence, all applications go through the box before entering the system. The AccessSelector is responsible for choosing the appropriate network subsystem (e.g WCDMA, GSM, and WLAN) for the applications according to some selection strategy. This component works similarly to queuing systems which, for example, perform load balance of the servers, although load balance is not necessarily the strategy employed by the AccessSelector to choose the appropriate subsystem. The Server portion contains the subsystem technologies in the network that are available for the applications. The maximum capacity of the technologies is indicated below them and therefore the maximum capacity of the network is the sum of the capacity.

(35) 3.1 SYSTEM MODEL. 18. of the technologies. In this model, the capacity of the subsystems is a multiple of the real-world capacity of the technologies. Therefore, if a scenario requires, for example, 5 GSM cells, it is represented as a single cell with 5 times the capacity of a GSM cell. This simplification is possible because, from a selection point of view, multiple cells are simply more capacity for a given technology. There is an important difference between the network and the classic model that it resembles. The difference relates to the amount of capacity used by the applications in each subsystem, which in the classic model is always one unit of the capacity metric. In the network, however, applications can take different amounts of the capacity of a subsystem and, what’s more important, the amount can be different depending on the subsystem and on the service class. This means that, although the maximum capacity of the network is independent of the selection strategy, the maximum amount of applications that are allowed simultaneously in the network heavily depends on the strategy used by the selection algorithm. This has been shown previously in [Fod05] and was also shown empirically in the simulation trials, described in Section 4.3.1 and in [MCSF06].. 3.1.2. Binpacking Model. Besides the queuing model, a ”binpacking model” can also describe the system model. In this case, the servers would be the bins and the applications would be the objects that must be packed in the bins. Bins can have different capacities and objects will occupy different amounts of the bins capacity depending on the bin that it will enter and on the class the object belongs to. The selection strategy would therefore be the binpacking algorithm used to pack the objects. Figure 3.2 illustrates the binpacking model. The main difference between the models is that the Binpacking model has no queue and a single source of objects. The single source with multiple objects emphasizes that the order of arrival is not known and that the Access Selector must react accordingly. From the descriptions of binpacking problems given in Section 2.3, the problem of access selection in this network can be set in the category of bounded online variable-size binpacking problems. This is so because the number of bins is predetermined and fixed (bounded), objects arrive one after the other without previous knowledge of the next arriving objects (online) and the bins can have different sizes (variable-size)..

(36) 3.2 DESCRIBING THE LESSDAMAGE ALGORITHM. 19. Figure 3.2 The system’s Binpacking Model.. The remaining component that was not described in Section 2.3 is the possibility of objects occupying a different amount of the system capacity depending on the bin it enters and that the capacity of the bin is actually a function of the maximum available capacity, the current amount of objects packed and the classes to which these objects belong to. Expressing the capacity of a bin in this manner is a necessary requirement in order to correctly model network technologies [MCSF06]. In other words, if the selection (binpacking) algorithm knows the capacity function of the subsystems that form the network, it could take this information into consideration in order to optimally pack the applications in the bins. This is exactly how the mathematical foundations given in [Fur03] and described in Section 2.4 work in order to optimally allocate applications in subsystems in the offline case.. 3.2. DESCRIBING THE LESSDAMAGE ALGORITHM. The LessDamage selection algorithm is a service-based heuristic that draws its inspiration from the mathematical foundations defined by [Fur03] and briefly discussed in Section 2.4. In that work, the main goal is to define the optimal offline strategy that can allocate applications belonging to a supported service class to subsystems, such that the amount of applications served is maximized. LessDamage captures this behavior by defining a damage index and using it to select the best subsystem for a given service class. damage can be informally described as the amount of resources that a service class consumes from.

(37) 3.2 DESCRIBING THE LESSDAMAGE ALGORITHM. 20. a specific subsystem, relative to all supported service classes. Mathematically, damage is defined as in Equation 3.1, where c is the service class for which the damage index is being computed; A is the set of available service classes; ac is the current application instance of class c, class is a function that given an application instance, return the class that the instance belongs to; ai is an application instance belonging to service class i and s is the current subsystem for which the damage index is being computed. usedResources is a function that, given a service class and a subsystem, it will return the ratio between the amount of resources the service class consumes if it enters s and the maximum amount of resources available in s.. Damagec,s. ||A|| X usedResources(class(ac ), s) = usedResources(class(ai ), s) i=0 ,i6=c. (3.1). After computing the damage that every service class will cause in each subsystem, the subsystems are then sorted in ascending order for every service class, according to the damage index, defining an allocation preference: the smaller the damage, the smaller is the impact on the system if the application is allocated in the respective subsystem and therefore it should be the best allocation option.. Figure 3.3 A simple example scenario for the LessDamage algorithm.. Figure 3.3 shows an example calculation using fictitious numbers for the amount of resource available in the subsystems and the amount of resource consumed by each service class. In this example, three subsystems and three service classes are considered. The.

(38) 3.2 DESCRIBING THE LESSDAMAGE ALGORITHM. 21. Algorithm 1 LessDamage selection algorithm 1: P ossibleSubs ← ∅ 2: for all sub in Subsystems do 3: if canEnter(a, sub) then 4: damage ← calculateDamage(a, sub) 5: add(P ossibleSubs, (damage, sub)) 6: end if 7: end for 8: if P ossibleSubs 6= ∅ then 9: return argmin(P ossibleSubs) 10: else 11: return N U LL 12: end if Used resources table indicates the ratio between the resources that are consumed by a application of a specific service that enters a specific subsystem and the total capacity of the subsystem. These would be the values returned by the usedResources function in Equation 3.1. For example, the ratio for Voice in GSM is 0.01, which means that voice calls consume 1% of the subsystem’s total capacity. The Damage table is created by calculating the damage index for every service class in every subsystem. To understand how it is calculated, here is how the result for VoIP in GSM was obtained:. damageVoIP ,GSM =. 0 .03 0 .03 + = 5 .0 0 .015 0 .01. Since in this example the used resources ratio for every class in every subsystem is constant, the use of a table with pre-calculated damage values would be an interessting implementation option, if this mapping could accurately reflect the usage pattern of the resources. Since this is not typically the case, Algorithm 1, which is the pseudo-code for the LessDamage selection algorithm, calculates the damage index every time a new application requests entrance in the network. In Algorithm 1, canEnter is a function that verifies if there is enough space available for application instance a in subsystem sub. Algorithm 1 works as follows: for every supported subsystem, the algorithm checks if the application instance a can be admitted (the canEnter function). If this is the case, it calculates the damage of a and adds a pair (damage, sub) to the P ossibleSubs set..

(39) 3.2 DESCRIBING THE LESSDAMAGE ALGORITHM. 22. After checking all subsystems, the algorithms checks if there is at least one pair in the P ossibleSubs set. If this is the case, it selects the pair that has the smallest damage. The time computational cost of the algorithm is proportional to O(N × A × S), where N is the number of applications requesting entrance into the system; A is the number of supported service classes and S is the number of different subsystems. It is assumed that the computation of the usedResources function is cheap and takes a constant time. If this is not the case, then the computational cost of the algorithm may also depend on the cost of the usedResources function. A more through analysis of the computation cost will be given in Section 3.3.1 The main reason why LessDamage is a good heuristic is that not only it tries to allocate services into the subsystems were they will consume less resources, it also takes into consideration the impact of allocating a service instance to an access technology. The damage index is computed relative to every other supported service and each iteration of the summation means ”how much resources for service instances belonging to class i is c taking away”. The damage index can be viewed as an online implementation based on the offline results obtained in [Fur03] and therefore can perform well regardless of the service mix. A study regarding variations on the service mix and the impact on the algorithms was shown in [MCSF06], which was the first implementation of LessDamage. That implementation was only independent of the service mix when only two subsystems were considered. The reason LessVoice failed to scale with the number of technologies was because it relied only on the relations between every supported service class and the voice class (hence, the name LessVoice). This meant that the equivalent damage index, which was called r in the article, would always be 1 for the voice calls. In this situation, LessVoice would use WorstFit to choose the appropriate subsystem, which does not take resource consumption relations into consideration. In order for the heuristic to work well and consistently, the usedResources function, which maps the service classes to the resource consumption in each access technology, must resemble as close as possible the actual radio resource consumption. The heuristic does not limit as to how the value will be obtained and the calculation can be performed for every new service instance that is requesting entrance to the system. This allows, for example, a consumption estimation function or a real measurement of the consumption.

(40) 3.2 DESCRIBING THE LESSDAMAGE ALGORITHM. 23. to be used.. 3.2.1. Application Models. The description of the LessDamage algorithm presented in the previous Section implicitly assumes that applications will not change the amount of resources they are currently retaining (henceforth known as size) upon acceptance in the network. This assumption is correct for voice calls in cellular networks or for constant bitrate applications. Applications that can change their sizes during operation do not fit in this model and therefore LessDamage must be altered to incorporate this fact. In this work, applications that vary their sizes are either adaptive or elastic applications. Generally speaking, adaptive and elastic applications are characterized by having a minimum and maximum value for their sizes and their current size can change freely within these limits during the period the application is in the system. By lowering their sizes, applications free resources that can be allocated to new applications that want to enter the system or to applications with a higher priority, for example. An adaptive application is so called because by altering the resource consumption there is no modification on the service time of the application. Some examples are VoIP calls, Internet radio applications and video streaming (videos seen on Youtube, for example). The basic premise is that these applications can decrease their current resource usage - with a possible penalty in the quality - and still perform its task in the predicted time. An elastic application is one that can decrease its resource usage but the result is that the service time increases because it is dependent on the amount of data that it must transfer. An example would be basically applications involving file transfers, such as WWW, FTP, Bittorrent and so on. The result of lowering the bandwidth would therefore be a prolonged permanency in the system, resulting in a longer period of resource retention. The balance between these two opposing properties is therefore essential in order to increase the system capacity. Refer to [Alt02] for a discussion on this topic. In order to take adaptive and elastic applications into account, the LessDamage algorithm is augmented with what is called a ”shrinking policy” that is activated when there.

(41) 3.2 DESCRIBING THE LESSDAMAGE ALGORITHM. 24. is no more space left in the network for the application in the front of the queue to be served. The shrinking policy should function based on one simple principle: Shrinking should be work conserving. What this means is that elastic applications already allocated to a specific subsystem should shrink the least amount possible so that a new application can enter the system and retain a reasonable amount of resources. This allows them to fullfill their task as quickly as possible and also means that, when an application leaves the subsystem, the freed resources should be redistributed to the remaining elastic applications. Therefore, the policy should perform three tasks:. 1. Select the subsystem most suitable for shrinking; 2. Shrink the applications, including the newly arrived, according to some resource distribution policy; 3. Redistribute the resources freed by an application that leaves the system according to some resource distribution policy (typically the same used in item 2).. Items 2 and 3 are tasks that can be performed independently of the access selection algorithm, whereas item 1 is typically algorithm dependent. Section 3.2.2 describes strategies for items 2 and 3; item 1 for the LessDamage algorithm is described in the following paragraphs. Algorithm 2 shows the pseudo-code of the LessDamage algorithm, now using item 1 of the shrinking policy. The differences between the pseudo-codes of Algorithm 1 and Algorithm 2 lie in the lines 11−21 in Algorithm 2: whereas in Algorithm 1, the algorithm simply returns N U LL if there is no subsystem that a can enter, Algorithm 2 tries again by using the policy in the canEnterπ function to see if applications can be shrunk to allow the entrance of the new application. Then, it recalculates the damage index of the services classes in the subsystems, dividing it by the service classe’s current shrink factor, which is the ratio between the amount of resources an application of a specific class can release and the maximum amount that it could release. Mathematically, the shrink factor is defined as in Equation 3.2, where c and s are, respectively, the service class and the subsystem for which the shrink factor is being calculated; Nc,s is the total amount of applications of type c in subsystem s (including.

(42) 25. 3.2 DESCRIBING THE LESSDAMAGE ALGORITHM. Algorithm 2 LessDamage selection algorithm with shrinking policy 1: S ← ∅ 2: for all sub in Subsystems do 3: if canEnter(a, sub) then 4: damage ← calculateDamage(a, sub) 5: add(S, (damage, sub)) 6: end if 7: end for 8: if S 6= ∅ then 9: return argmin(S) 10: else 11: for all sub in Subsystems do 12: if canEnterπ (a, sub) then 13: shrinkDamage ← calculateShrinkDamage(a, sub) 14: add(S, (shrinkDamage, sub)) 15: end if 16: end for 17: if S 6= ∅ then 18: return argmin(S) 19: else 20: return N U LL 21: end if 22: end if the application that wants to enter the network); aci is an application instance that belongs to service class c; curSize is a function that returns the current size of the application inside subsystem s; minSize and maxSize are respectively the minimum and maximum size that the service class of which the application belongs to supports, respectively. With the shrink factor calculated, a new damage index called shrinked damage is computed as in Equation 3.3. curSize(aic )−minSize(aic ) i=0 maxSize(aic )−minSize(aic ). PNc,s ShrinkFactorc,s =. ShrinkedDamagec,s =. Nc,s Damagec,s ShrinkFactorc,s. (3.2). (3.3). ShrinkFactor becomes smaller as the applications decrease the amount of resources retained, ultimately reaching 0 when all allocated applications actually operate at their.

(43) 3.2 DESCRIBING THE LESSDAMAGE ALGORITHM. 26. minimum requirements. ShrinkedDamage, therefore, will become larger if the shrink factor gets smaller, meaning that the subsystem is getting evermore saturated with applications that are operating with their minimum requirements. Thus, by using the shrinked damage index, the LessDamage algorithm is able to react accordingly to elastic applications.. 3.2.2. Shrinking policies. As mentioned in Section 3.2.1, a shrinking policy is composed of a selection algorithm dependent task and two selection algorithm independent ones. This Section describes how the two independent task perform in the system model and how they interact with the LessDamage algorithm. The first independent task, which corresponds to item 2 in 3.2.1, is how the resources is distributed among the applications inside the subsystems. In a real-world scenario, the resource distribution would take into consideration the priorities of the applications and dedicate more resources to applications with higher priorities. It could also be the case that resources are distributed equally among the applications. For the system model, both approaches could be used. The first approach is called EqualSharePolicy and the second SimplePriorityPolicy. Algorithms 3 and 4 show the pseudo-code for both policies, respectively. The EqualSharePolicy is actually the same policy as defined in [MCSF06] and called BrotherHood. It was renamed in this work because the implementation is very different, although the intention of the policy is exactly the same. The EqualSharePolicy (Algorithm 3 is a very simple shrinking policy that distributes the available resources equally among the elastic applications. What is equal is not the absolute amount of resources, but the relative amount that was assigned. A ShareIndex is calculated to determine what is the correct relative amount of resources. The index is then used by multiplying it with the maximum amount of resources that the application can receive, according to its service class, which corresponds to lines 11 and 12 in Algorithm 3. The SimplePriorityPolicy (Algorithm 4) is a more interesting shrinking policy from a practical perspective because, unlike the EqualSharePolicy, it can share resources based.

(44) 3.3 IMPLEMENTING LESSDAMAGE. 27. Algorithm 3 The EqualSharePolicy shrinking policy. 1: {Calculate the resource share index.} 2: Shareable ← 0 3: M axShareable ← 0 4: for all app in subsystem do 5: Shareable ← Shareable + (currentSize(app) − minSize(app)) 6: M axShareable ← M axShareable + (maxSize(app) − minSize(app)) 7: end for Shareable 8: ShareIndex = M axShareable 9: {Distribute resources according to the index.} 10: for all app in subsystem do 11: Contribution = maxSize(app) − minSize(app) 12: N ewSize = minSize(app) + (ShareIndex ∗ contribution) 13: setSize(app, N ewSize) 14: end for on the priority of the application, meaning that applications with higher priority will receive more resources than lower priority ones. This is achieved in the algorithm by sorting the applications according to their priority and assigning them the greatest amount of resources possible, limited only by the service class. Thus, applications with lower priorities will tend to receive only their minimum resource requirements. As for item 3 in Section 3.2.1, its purpose is to redistributed the newly freed resources back to applications that remained inside the subsystem. The redistribution can follow the same policies as the distribution. Typically, the same policy used for distribution will be used for redistribution and the algorithms for both tasks are exactly the same.. 3.3. IMPLEMENTING LESSDAMAGE. A straight forward implementation of algorithm 2 is possible and the UML class diagrams shown in Figure 3.4 illustrates this. The classes shown in the diagrams are part of the actual software implementation that was used to simulate the system model and to evaluate the performance of the algorithms. SelectionAlgorithm is the abstract base class that all algorithms must implement in order to function in the simulation. The abstract method do selectBestSubsystem and should implement Algorithm 1, while do selectBestSubsystemWithShrink should implement lines 11 − 21 from Algorithm 2, which is the algorithm dependent task of the.

(45) 3.3 IMPLEMENTING LESSDAMAGE. 28. Algorithm 4 The SimplePriorityPolicy shrinking policy. 1: Available ← maxSize(subsystem) 2: for all app in subsystem do 3: Available ← Available − minSize(app) 4: end for 5: Apps ← applications sorted by priority, including the new instance 6: for all app in Apps do 7: if Available > 0 then 8: N ewSize ← minSize(app) + Available 9: if N ewSize > maxSize(app) then 10: setSize(app, maxSize(app)) 11: Available ← Available − (maxSize(app) − minSize(app)) 12: else 13: setSize(app, N ewSize) 14: Available ← Available − N ewSize 15: end if 16: else 17: setSize(app, minSize(app)) 18: end if 19: end for shrinking policy. The implementation for selectBestSubsystem is shown in the note under SelectionAlgorithm, which calls the two abstract methods when appropriate. The ShrinkingPolicy interface defines two abstract methods that represent the two selection algorithm independent task. shrink distributes the resources among the applications inside the subsystem and the new application - respectively, paramaters sub and app - while reshare redistributes the resources to the applications that remained in the subsystem. The two previously mentioned shrinking policies, PriorityPolicy and EqualSharePolicy are implementations of the ShrinkingPolicy. The SelectionAlgorithmis what the simulation system manipulates as far as the software implementation is concerned. When an application requests entrance in the network, the selectBestSubsystem method is called to appropriately select the best subsystem to allocate it..

(46) 3.3 IMPLEMENTING LESSDAMAGE. 29. Figure 3.4 The class diagram for the LessDamage algorithm and the shrinking policies.. 3.3.1. LessDamage complexity analysis. The main components of LessDamage (Algorithm 1) are the calculateDamage function and the argmin(S) computation. For a given application instance, the calculateDamage function is called at most S times, where S is the number of available network subsystems. Each call involves calculating a summation, which is described in Equation 3.1. Each element of the summation is defined by calling the usedResources function twice and by dividing the results; the cost of the division is given as D. From the definition of the damage index, usedResources is called 2 × A, where A is the number of supported service classes. There is also the cost of the usedResources function, which will be given as U R. As for the second component, it involves checking the subsystem in the P ossibleSubs set that has the smallest damage index. This involves a comparison between the current smallest damage and the next available one. Therefore, the cost of the second component is at most S. Hence, the computational cost of a single call of the algorithm is defined as LDC and is at most LDC = S × (2 × U R + D) × A + S, which is proportional to O(S × U R × A + S) because D is assumed to be constant. If the usedResources function cost can be made costant e.g by using a lookup table as shown in Figure 3.3, then the cost is reduced to O(S × A + S). Finally, since N applications will invoke the algorithm, the final computational cost is proportional to O(N × S × A + S)..

Referências

Documentos relacionados

Dos todos os entrevistados que possuem família no país de origem, quatro têm filhos, sendo que destes quatro: dois não pretendem trazer seus filhos para o

Os quatro primordiais princípios dos métodos digitais (Rogers, 2013) são; i) reorientar o campo da pesquisa na Internet, repensando o uso e a aplicação dos métodos enraizados

(...) prendia-se á convicção do ‘oportunismo da social democracia’ infiltrada na classe operária para defender seus próprios interesses e à convicção de que as massas

Dessa forma, com o intuito de operacionalizar esta pesquisa, buscar-se-á: 1 Conhecer e aprofundar o estudo, a pesquisa e o desenvolvimento do campo da Modelagem Matemática

Em quinto lugar, visto que a formação é uma fonte que poderá proporcionar desenvolvimento aos indivíduos e acréscimo de valor para os mesmos, considera-se que o estudo

Todo o material considerado de alto risco proveniente das vísceras vermelhas é colocado num carrinho (identificado como M2, a vermelho) e posteriormente despejado na

São muitos os profissionais a sair para o mer- cado de trabalho e não há política cultural, articulada com as outras, que facilite a sua legítima integração e quando esta

Embora o fascínio exercido pelo espaço fabril norte americano desenhado por arquitectos usando o betão armado como estrutura principal, seja o leit-motiv de uma análise