The virtualization of network environments is a key technology for data center providers to operate hardware in a cost-effective and scalable manner and enabling these providers to make virtualized networks available to customers. The optimization problem for embedding virtual networks in data centers (VNE problem) is a fundamental problem for the efficient and cost-effective utilization of available hardware resources. For solving this problem we must consider the virtual network components as well as their topologies and further requirements. These requirements can vary from hardware-specific requirements (e.g. memory of virtual servers) to service-level agreements (e.g. availability of servers). To solve these dynamic and manifold VNE problems, both optimal and heuristic algorithms were presented, whose adaptation to different environments and requirements is a challenging task. In addition, the comparison of different algorithms is challenged by the absence of a standardized specification language and simulation environment.
Therefore, in this thesis we present a complete model-based development process to specify and solve VNE problems. For this purpose, we first develop a model-based specification language for the description of VNE problems based on a subset of UML (class diagram and OCL constraints). Based on this, we present two model-based approaches to solve VNE problems. In these approaches, model transformations and integer linear programming (ILP) are combined in such a way that the model transformation serves as search-space reducing technology and ILP finds a correct and optimal solution in this set of possible embeddings. Including the presented correct-by-construction methodology, a VNE algorithm can be derived from the model-based specification language, which guarantees correct and optimal solutions. A batch-based approach supports static application scenarios, in which only virtual networks are added, and an incremental approach supports dynamic scenarios, in which network components can also be changed or deleted. Thus, by these model-based approaches, the development effort can be shifted from (low-level) programming to (high-level) specification compared to handwritten implementations. In an experimental evaluation we can show that the computational efficiency of this model-based approach for static scenarios is comparable to a handwritten ILP-based implementation. For dynamic scenarios even a significant increase in efficiency could be demonstrated by the integration of incremental technologies, whereby the adaptation of algorithms for a static to a dynamic scenarios can be realized with small additional efforts. | English |