Nowadays users demand ever-growing development of the telecommunication networks and thereby the mobile networks too. The service providers are trying to serve this, but increasing network performance and implementing new services are both very expensive and time-consuming processes since currently the network functions (e.g. switch, router, firewall or mobile network controllers etc.) are realized by dedicated purpose-designed hardware.
The fairly static network setup was operable for decades, but with the inevitable consequences of long product cycle, low resource utilization, slow development and expensive specialized hardware. Furthermore, the fifth generation mobile network, which is currently in development, has number of new requirements against the background network: quick service startup, cost-effective operation, flexible resource allocation, managing the significant increase in device number, etc. To eliminate these problems and overcome the new challenges, a completely new network architecture is required, this is the Network Function Virtualization (NFV). The purpose of this to substitute current target devices and to implement network functions in software. The advantage of this is that the software is applicable over general purpose hardware, and there is an opportunity to choose to run it at a suitable location depending on the actual network conditions. To apply NFV, the physical resources must be in a dynamically programmable network (Software Defined Networking, SDN). The application of these technologies we can provide the above-mentioned demands.
In order to manage the variety of NFVs in a unified system, ETSI standardized the MANO (NFV Management and Orchestration) architecture. It performs the supervisor, controller and manager role, furthermore it need to decide which hardware to run the various network functions. To be able to quickly and efficiently map the network functions on the physical resources, we need a special algorithm, which ensures optimal use of resources and fast enough to make the necessary calculations before the next service need. Thus able to realize the incoming requests in time on the real devices. The current solutions are not perfect to do these two conditions at the same time, although there are quick "online" algorithms to solve the problem, but the current implementations do not provide optimal mapping. There are also so-called "offline" algorithms, which are able to provide near-perfect mapping, but unlike the online algorithms, in case of large number of demands and complex network infrastructure significantly increase the run time.
In this thesis I present a "hybrid" algorithm which meets the above conditions by combining the online and offline operations. My main goal was to provide a novel mapping (embedding) algorithm which i) tries to maximize the number of mapped service requests in long term and ii) maps the new requests within a few seconds enabling extremely short service creation time. I tested the recommended algorithm in extended simulation situation comparing to the online and offline methods.