PhD Thesis by Adnan Ashraf
One of the main challenges in Software Engineering is to cope with the transition from an industr... more One of the main challenges in Software Engineering is to cope with the transition from an industry based on software as a product to software as a service. The field of Software Engineering should provide the necessary methods and tools to develop and deploy new cost-efficient and scalable digital services. In this thesis, we focus on deployment platforms to ensure cost-efficient scalability of multi-tier web applications and on-demand video transcoding service for different types of load conditions.
Infrastructure as a Service (IaaS) clouds provide Virtual Machines (VMs) under the pay-per-use business model. Dynamically provisioning VMs on demand allows service providers to cope with fluctuations on the number of service users. However, VM provisioning must be done carefully, because over-provisioning results in an increased operational cost, while under-provisioning leads to a subpar service. Therefore, our main focus in this thesis is on cost-efficient VM provisioning for multi-tier web applications and on-demand video transcoding. Moreover, to prevent provisioned VMs from becoming overloaded, we augment VM provisioning with an admission control mechanism. Similarly, to ensure efficient use of provisioned VMs, web applications on the under-utilized VMs are consolidated periodically. Thus, the main problem that we address is cost-efficient VM provisioning augmented with server consolidation and admission control on the provisioned VMs. We seek solutions for two types of applications: multi-tier web applications that follow the request-response paradigm and on-demand video transcoding that is based on video streams with soft realtime constraints.
Our first contribution is a cost-efficient VM provisioning approach for multi-tier web applications. The proposed approach comprises two sub-approaches: a reactive VM provisioning approach called ARVUE and a hybrid reactive-proactive VM provisioning approach called Cost-efficient Resource Allocation for Multiple web applications with Proactive scaling. Our second contribution is a prediction-based VM provisioning approach for on-demand video transcoding in the cloud. Moreover, to prevent virtualized servers from becoming overloaded, the proposed VM provisioning approaches are augmented with admission control approaches. Therefore, our third contribution is a session-based admission control approach for multi-tier web applications called adaptive Admission Control for Virtualized Application Servers. Similarly, the fourth contribution in this thesis is a stream-based admission control and scheduling approach for on-demand video transcoding called Stream-Based Admission Control and Scheduling. Our fifth contribution is a computation and storage trade-o strategy for cost-efficient video transcoding in cloud computing. Finally, the sixth and the last contribution is a web application consolidation approach, which uses Ant Colony System to minimize the under-utilization of the virtualized application servers.
NB: The permanent address of the publication (PDF file) is http://urn.fi/URN:NBN:fi-fe2014092244819
Books by Adnan Ashraf
Executed during years 2010-2013, Cloud Software is a Finnish research program, whose goal has bee... more Executed during years 2010-2013, Cloud Software is a Finnish research program, whose goal has been to significantly improve the competitive position of Finnish software intensive industry in global markets in the field of cloud computing. More than 30 Finnish IT companies and research organizations have participated in the program, and the output of the program has been considerable both in terms of scientific publications as well as industry transformation towards using cloud computing techniques.
This book contains selected contributions by the Cloud Software Program partners focusing on innovative algorithms, applications, and tools to develop new services and applications to be deployed in public and private cloud infrastructures. These are needed to fully utilize the concept computing as a utility as promised by cloud computing. In addition to the actual contributions, the first chapter of the book contains an introduction to cloud computing from the point of view of software development. For the rest of the book, each chapter tackles a concrete problem relevant to software development for cloud infrastructures that originated in the program company partners.
We want to thank all the participants in the Cloud Software program for their efforts, shared experiences, and insights during these four years that have been materialized in the contents of the book. Specially, we want to thank Dr. Janne Järvinen, focus area director, Professor Veikko Seppänen, academic coordinator, Dr. Tua Huomo, program coordinator, and Dr. Pauli Kuosmanen, Digile CTO, for leading the program. In addition, we wish to thank Hans Ahnlund and Mika Laurila (ECE Ltd.), Marc Englund (Vaadin Ltd.), Sami Helin (Steeri Oy), Jarno Kallio (Packet Video Finland), Risto Laurikainen (CSC), and Heikki Nousiainen (F-Secure) for performing reviews for the different chapters that constitute the book. Finally, we also wish to thank all the contributors of this book for their dedicated efforts both in the program itself as well as in reporting the results.
Chapters in Edited Books by Adnan Ashraf
This chapter presents a prediction-based, cost-efficient virtual machine (VM) provisioning and ad... more This chapter presents a prediction-based, cost-efficient virtual machine (VM) provisioning and admission control approach for multi-tier web applications. The proposed approach provides automatic deployment and scaling of multiple simultaneous web applications on a given Infrastructure as a Service (IaaS) cloud in a shared hosting environment. It monitors and uses resource utilization metrics and does not require a performance model of the applications or the infrastructure dynamics. The shared hosting environment allows us to share VM resources among deployed applications, reducing the total number of required VMs. The proposed approach comprises three sub-approaches: a reactive VM provisioning approach called ARVUE, a hybrid reactive-proactive VM provisioning approach called Cost-efficient Resource Allocation for Multiple web applications with Proactive scaling (CRAMP), and a session-based adaptive admission control approach called adaptive Admission Control for Virtualized Application Servers (ACVAS). Performance under varying load conditions is guaranteed by automatic adjustment and tuning of the CRAMP and ACVAS parameters. The proposed approach is demonstrated in discrete-event simulations and is evaluated in a series of experiments involving synthetic as well as realistic load patterns.
Video transcoding refers to the process of converting a digital video from one compressed format ... more Video transcoding refers to the process of converting a digital video from one compressed format to another. It is a compute-intensive operation. Therefore, transcoding of a large number of simultaneous video streams requires a large-scale distributed system. Moreover, to handle different load conditions in a cost-efficient manner, the distributed system should be dynamically scalable. Infrastructure as a Service (IaaS) clouds currently offer computing resources, such as virtual machines (VMs), under the pay-per-use business model, which can be used to create a dynamically scalable cluster of video transcoding servers. Determining the number of VMs to provision for a dynamic cluster is still an open problem. In this chapter, we present a proactive VM allocation approach to scale video transcoding service on a given IaaS cloud. For better resource utilization, quality of service, and cost-efficiency, we use video segmentation at the Group of Pictures (GOP) level. The proposed approach is demonstrated in discrete-event simulations and an experimental evaluation involving different load patterns. We also present a prototype implementation of a distributed video transcoder based on the message passing programming model and a dynamic load balancing approach.
This chapter presents the main technologies currently used in cloud computing, what are the main ... more This chapter presents the main technologies currently used in cloud computing, what are the main commercial offerings and what are their programming models. We discuss hardware virtualization technologies used in datacenters, three different service abstraction levels: infrastructure, platform and application and the main driver and adoption problems in cloud computing.
Papers by Adnan Ashraf
Proceedings of the Fifth European Conference on the Engineering of Computer-Based Systems, 2017
This paper presents the development of a cooperation scheme among unmanned aerial vehicle (UAV). ... more This paper presents the development of a cooperation scheme among unmanned aerial vehicle (UAV). Sliding mode control technique is used to guarantee that the set of robots can follow a reference trajectory and, in addition, will guarantee collision-free navigation of these autonomous vehicles. The analytical approach of the control strategy is shown, and the necessary conditions to guarantee the stability and governability of the multi-robot system are derived. The strategy and the derived conditions are tested using simulations, to demonstrate their effectiveness for collision-free navigation of an UAV fleet.
IEEE Access, 2020
During exploratory performance testing, software testers evaluate the performance of a software s... more During exploratory performance testing, software testers evaluate the performance of a software system with different input combinations in order to identify combinations that cause performance problems in the system under test. Performance problems such as low throughput, high response times, hangs, or crashes in software applications have an adverse effect on the customer's satisfaction. Since many of today's large-scale, complex software systems (e.g., eCommerce applications, databases, web servers) exhibit very large multi-dimensional input spaces with many input parameters and large ranges, it has become costly and inefficient to explore all possible combinations of inputs in order to detect performance problems. In order to address this issue, we introduce a method for identifying input combinations that trigger performance problems in the software system under test. Our method, under the name of iPerfXRL, employs deep reinforcement learning in order to explore a given large multi-dimensional input space efficiently. The main benefit of the approach is that, during the exploration process, it learns and recognizes the problematic regions of the input space that have a higher chance of triggering performance problems. It concentrates the search in those problematic regions to find as many input combinations as possible that can trigger performance problems while executing a limited number of input combinations against the system. In addition, our approach does not require prior domain knowledge or access to the source code of the system. Therefore, it can be applied to any software system where we can interactively execute different input combinations while monitoring their performance impact on the system. We implement iPerfXRL on top of the Soft Actor-Critic algorithm. We evaluate empirically the efficiency and effectiveness of our approach against alternative state-of-the-art approaches. Our results show that iPerfXRL accurately identifies the problematic regions of the input space and finds up to 9 times more input combinations that trigger performance problems on the system under test than the alternative approaches. INDEX TERMS Exploratory performance testing, deep reinforcement learning, test data generation.
Proceedings of the 14th Central and Eastern European Software Engineering Conference Russia on ZZZ - CEE-SECR '18, 2018
MegaM@Rt2 project is a collaborative initiative of the ECSEL Joint Undertaking under Horizon 2020... more MegaM@Rt2 project is a collaborative initiative of the ECSEL Joint Undertaking under Horizon 2020 EU programme. The project regroups 26 partners from 6 different European countries who jointly address challenges of engineering modern cyberphysical systems by using model-based engineering methods. Since it is a model-based project, we adopted a similar approach for dealing with requirements analysis, architecture, design, roadmap planning and development status checking. In these tasks, document generation methods were particularly useful to create a set of "live" reference specifications and contractual reports. We believe that these methods perfectly demonstrate relevant benefits of the model-based approach and are applicable to many other contexts. Document generation has several challenges, since the produced documents should address several goals and target different audience. Hence, we describe this approach in detail in this paper in the form of an experience report.
2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), 2019
Performance bottlenecks resulting in high response times and low throughput of software systems c... more Performance bottlenecks resulting in high response times and low throughput of software systems can ruin the reputation of the companies that rely on them. Almost two-thirds of performance bottlenecks are triggered on specific input values. However, finding the input values for performance test cases that can identify performance bottlenecks in a large-scale complex system within a reasonable amount of time is a cumbersome, cost-intensive, and time-consuming task. The reason is that there can be numerous combinations of test input values to explore in a limited amount of time. This paper presents PerfXRL, a novel approach for finding those combinations of input values that can reveal performance bottlenecks in the system under test. Our approach uses reinforcement learning to explore a large input space comprising combinations of input values and to learn to focus on those areas of the input space which trigger performance bottlenecks. The experimental results show that PerfxRL can detect 72% more performance bottlenecks than random testing by only exploring the 25% of the input space.
2019 Design, Automation & Test in Europe Conference & Exhibition (DATE), 2019
In this paper, we present the MegaM@Rt2 ECSEL project and discuss in details our approach for fos... more In this paper, we present the MegaM@Rt2 ECSEL project and discuss in details our approach for fostering collaboration in this project. We choose to use an internal hackathon approach that focuses on technical collaboration between case study owners and tool/method providers. The novelty of the approach is that we organize the technical workshop at our regular project progress meetings as a challenge-based contest involving all partners in the project. Case study partners submit their challenges related to the project goals and their use cases in advance. These challenges are concise enough to be experimented within approximately 4 hours. Teams are then formed to address those challenges. The teams include tool/method providers, case study owners and researchers/developers from other consortium members. On the hackathon day, partners work together to come with results addressing the challenges that are both interesting to encourage collaboration and convincing to continue further deeper investigations. Obtained results demonstrate that the hackathon approach stimulated knowledge exchanges among project partners and triggered new collaborations, notably between tool providers and use case owners.
Traditionally, test cases are executed sequentially due to the dependency of test data. For large... more Traditionally, test cases are executed sequentially due to the dependency of test data. For large system level test suites, when a test session can take hours or even days, sequential execution does not satisfy any more the industrial demands for short lead times and fast feed-back cycles. Parallel test execution has appeared as an appealing option to cut down on the test execution time. However, running tests in parallel is not a trivial task due to dependencies and constraints between tests cases. Therefore, we propose an approach to parallelize test execution based on the available resources, constraints between tests, and the duration of tests that creates parallel test execution schedules that can be run in multiple testing environments simultaneously. We formulate and solve the problem as Ant Colony System, in order to find a nearoptimal solution.
Lecture Notes in Computer Science, 2019
MegaM@Rt 2 Project is a major European effort towards the model-driven engineering of complex Cyb... more MegaM@Rt 2 Project is a major European effort towards the model-driven engineering of complex Cyber-Physical systems combined with runtime analysis. Both areas are dealt within the same methodology to enjoy the mutual benefits through sharing and tracking various engineering artifacts. The project involves 27 partners that contribute with diverse research and industrial practices addressing real-life case study challenges stemming from 9 application domains. These partners jointly progress towards a common framework to support those application domains with model-driven engineering, verification, and runtime analysis methods. In this paper, we present the motivation for the project, the current approach and the intermediate results in terms of tools, research work and practical evaluation on use cases from the project. We also discuss outstanding challenges and proposed approaches to address them.
Computer Science Review, 2019
Context: The Unified Modeling Language (UML) has become the de facto standard for software modeli... more Context: The Unified Modeling Language (UML) has become the de facto standard for software modeling. UML models are often used to visualize, understand, and communicate the structure and behavior of a system. UML activity diagrams (ADs) are often used to elaborate and visualize individual use cases. Due to their higher level of abstraction and process-oriented perspective, UML ADs are also highly suitable for model-based test generation. In the last two decades, different researchers have used UML ADs for test generation. Despite the growing use of UML ADs for model-based testing, there are currently no comprehensive and unbiased studies on the topic. Objective: To present a comprehensive and unbiased overview of the state-of-the-art on model-based testing using UML ADs. Method: We review and structure the current body of knowledge on model-based testing using UML ADs by performing a systematic mapping study using well-known guidelines. We pose nine research questions, outline our selection criteria, and develop a classification scheme. Results: The results comprise 41 primary studies analyzed against nine research questions. We also highlight the current trends and research gaps in model-based testing using UML ADs and discuss some shortcomings for researchers and practitioners working in this area. The results show that the existing approaches on model-based testing using UML ADs tend to rely on intermediate formats and formalisms for model verification and test generation, employ a multitude of graph-based coverage criteria, and use graph search algorithms. Conclusion: We present a comprehensive overview of the existing approaches on model-based testing using UML ADs. We conclude that (1) UML ADs are not being used for non-functional testing, (2) only a few approaches have been validated against realistic, industrial case studies, (3) most approaches target very restricted application domains, and (4) there is currently a clear lack of holistic approaches for model-based testing using UML ADs.
Computer Science Review, 2018
Background: Virtual Machine (VM) consolidation is an effective technique to improve resource util... more Background: Virtual Machine (VM) consolidation is an effective technique to improve resource utilization and reduce energy footprint in cloud data centers. It can be implemented in a centralized or a distributed fashion. Distributed VM consolidation approaches are currently gaining popularity because they are often more scalable than their centralized counterparts and they avoid a single point of failure. Objective: To present a comprehensive, unbiased overview of the state-of-the-art on distributed VM consolidation approaches. Method: A Systematic Mapping Study (SMS) of the existing distributed VM consolidation approaches. Results: 19 papers on distributed VM consolidation categorized in a variety of ways. The results show that the existing distributed VM consolidation approaches use four types of algorithms, optimize a number of different objectives, and are often evaluated with experiments involving simulations. Conclusion: There is currently an increasing amount of interest on developing and evaluating novel distributed VM consolidation approaches. A number of research gaps exist where the focus of future research may be directed.
International Journal of Parallel, Emergent and Distributed Systems, 2017
In this paper, we present a novel multi-objective ant colony system algorithm for virtual machine... more In this paper, we present a novel multi-objective ant colony system algorithm for virtual machine (VM) consolidation in cloud data centers. The proposed algorithm builds VM migration plans, which are then used to minimize over-provisioning of physical machines (PMs) by consolidating VMs on under-utilized PMs. It optimizes two objectives that are ordered by their importance. The first and foremost objective in the proposed algorithm is to maximize the number of released PMs. Moreover, since VM migration is a resource-intensive operation, it also tries to minimize the number of VM migrations. The proposed algorithm is empirically evaluated in a series of experiments. The experimental results show that the proposed algorithm provides an efficient solution for VM consolidation in cloud data centers. Moreover, it outperforms two existing ant colony optimization based VM consolidation algorithms in terms of number of released PMs and number of VM migrations.
Journal of Cloud Computing, 2016
We present a prediction-based, cost-efficient Virtual Machine (VM) provisioning and admission con... more We present a prediction-based, cost-efficient Virtual Machine (VM) provisioning and admission control approach for multi-tier web applications. The proposed approach provides automatic deployment and scaling of multiple web applications on a given Infrastructure as a Service (IaaS) cloud. It monitors and uses collected resource utilization metrics itself and does not require a performance model of the applications or the infrastructure dynamics. The approach uses the OSGi component model to share VM resources among deployed applications, reducing the total number of required VMs. The proposed approach comprises three sub-approaches: a reactive VM provisioning approach called ARVUE, a hybrid reactive-proactive VM provisioning approach called Cost-efficient Resource Allocation for Multiple web applications with Proactive scaling (CRAMP), and a session-based adaptive admission control approach called adaptive Admission Control for Virtualized Application Servers (ACVAS). Performance under varying load conditions is guaranteed by automatic adjustment and tuning of the CRAMP and ACVAS parameters. The proposed approach is demonstrated in discrete-event simulations and is evaluated in a series of experiments involving synthetic as well as realistic load patterns.
Video transcoding of a large number of on-demand videos requires a large scale cluster of transco... more Video transcoding of a large number of on-demand videos requires a large scale cluster of transcoding servers. Moreover, storage of multiple transcoded versions of each source video requires a large amount of disk space. Infrastructure as a Service (IaaS) clouds provide virtual machines (VMs) for creating a dynamically scalable cluster of servers. Likewise, a cloud storage service may be used to store a large number of transcoded videos. Moreover, it may be possible to reduce the total IaaS cost by trading storage for computation, or vice versa. In this paper, we present prediction-based dynamic resource allocation algorithms to scale on-demand video transcoding service on a given IaaS cloud. The proposed algorithms provide mechanisms for allocation and deallocation of VMs to a dynamically scalable cluster of video transcoding servers in a horizontal fashion. We also present a computation and storage trade-off strategy for cost-efficient video transcoding in the cloud called cost and popularity score based strategy. The proposed strategy estimates computation cost, storage cost, and video popularity of individual transcoded videos and then uses this information to make decisions on how long a video should be stored or how frequently it should be re-transcoded from a given source video. The proposed algorithms and the trade-off strategy are demonstrated in a discrete-event simulation and are empirically evaluated using a realistic load pattern.
Video transcoding refers to the process of converting a digital video from one compressed format ... more Video transcoding refers to the process of converting a digital video from one compressed format to another. It is a compute-intensive operation. Therefore, transcoding of a large number of simultaneous video streams requires a large-scale distributed system. Moreover, to handle different load conditions in a cost-efficient manner, the distributed system should be dynamically scalable. Infrastructure as a Service (IaaS) clouds currently offer computing resources, such as virtual machines (VMs), under the pay-per-use business model, which can be used to create a dynamically scalable cluster of video transcoding servers. Determining the number of VMs to provision for a dynamic cluster is still an open problem. In this chapter, we present a proactive VM allocation approach to scale video transcoding service on a given IaaS cloud. For better resource utilization, quality of service, and cost-efficiency, we use video segmentation at the Group of Pictures (GOP) level. The proposed approac...
2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, 2015
The document is provided by the contributing author(s) as a means to ensure timely dissemination ... more The document is provided by the contributing author(s) as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. This is the author's version of the work. The final version can be found on the publisher's webpage.
Uploads
PhD Thesis by Adnan Ashraf
Infrastructure as a Service (IaaS) clouds provide Virtual Machines (VMs) under the pay-per-use business model. Dynamically provisioning VMs on demand allows service providers to cope with fluctuations on the number of service users. However, VM provisioning must be done carefully, because over-provisioning results in an increased operational cost, while under-provisioning leads to a subpar service. Therefore, our main focus in this thesis is on cost-efficient VM provisioning for multi-tier web applications and on-demand video transcoding. Moreover, to prevent provisioned VMs from becoming overloaded, we augment VM provisioning with an admission control mechanism. Similarly, to ensure efficient use of provisioned VMs, web applications on the under-utilized VMs are consolidated periodically. Thus, the main problem that we address is cost-efficient VM provisioning augmented with server consolidation and admission control on the provisioned VMs. We seek solutions for two types of applications: multi-tier web applications that follow the request-response paradigm and on-demand video transcoding that is based on video streams with soft realtime constraints.
Our first contribution is a cost-efficient VM provisioning approach for multi-tier web applications. The proposed approach comprises two sub-approaches: a reactive VM provisioning approach called ARVUE and a hybrid reactive-proactive VM provisioning approach called Cost-efficient Resource Allocation for Multiple web applications with Proactive scaling. Our second contribution is a prediction-based VM provisioning approach for on-demand video transcoding in the cloud. Moreover, to prevent virtualized servers from becoming overloaded, the proposed VM provisioning approaches are augmented with admission control approaches. Therefore, our third contribution is a session-based admission control approach for multi-tier web applications called adaptive Admission Control for Virtualized Application Servers. Similarly, the fourth contribution in this thesis is a stream-based admission control and scheduling approach for on-demand video transcoding called Stream-Based Admission Control and Scheduling. Our fifth contribution is a computation and storage trade-o strategy for cost-efficient video transcoding in cloud computing. Finally, the sixth and the last contribution is a web application consolidation approach, which uses Ant Colony System to minimize the under-utilization of the virtualized application servers.
NB: The permanent address of the publication (PDF file) is http://urn.fi/URN:NBN:fi-fe2014092244819
Books by Adnan Ashraf
This book contains selected contributions by the Cloud Software Program partners focusing on innovative algorithms, applications, and tools to develop new services and applications to be deployed in public and private cloud infrastructures. These are needed to fully utilize the concept computing as a utility as promised by cloud computing. In addition to the actual contributions, the first chapter of the book contains an introduction to cloud computing from the point of view of software development. For the rest of the book, each chapter tackles a concrete problem relevant to software development for cloud infrastructures that originated in the program company partners.
We want to thank all the participants in the Cloud Software program for their efforts, shared experiences, and insights during these four years that have been materialized in the contents of the book. Specially, we want to thank Dr. Janne Järvinen, focus area director, Professor Veikko Seppänen, academic coordinator, Dr. Tua Huomo, program coordinator, and Dr. Pauli Kuosmanen, Digile CTO, for leading the program. In addition, we wish to thank Hans Ahnlund and Mika Laurila (ECE Ltd.), Marc Englund (Vaadin Ltd.), Sami Helin (Steeri Oy), Jarno Kallio (Packet Video Finland), Risto Laurikainen (CSC), and Heikki Nousiainen (F-Secure) for performing reviews for the different chapters that constitute the book. Finally, we also wish to thank all the contributors of this book for their dedicated efforts both in the program itself as well as in reporting the results.
Chapters in Edited Books by Adnan Ashraf
Papers by Adnan Ashraf
Infrastructure as a Service (IaaS) clouds provide Virtual Machines (VMs) under the pay-per-use business model. Dynamically provisioning VMs on demand allows service providers to cope with fluctuations on the number of service users. However, VM provisioning must be done carefully, because over-provisioning results in an increased operational cost, while under-provisioning leads to a subpar service. Therefore, our main focus in this thesis is on cost-efficient VM provisioning for multi-tier web applications and on-demand video transcoding. Moreover, to prevent provisioned VMs from becoming overloaded, we augment VM provisioning with an admission control mechanism. Similarly, to ensure efficient use of provisioned VMs, web applications on the under-utilized VMs are consolidated periodically. Thus, the main problem that we address is cost-efficient VM provisioning augmented with server consolidation and admission control on the provisioned VMs. We seek solutions for two types of applications: multi-tier web applications that follow the request-response paradigm and on-demand video transcoding that is based on video streams with soft realtime constraints.
Our first contribution is a cost-efficient VM provisioning approach for multi-tier web applications. The proposed approach comprises two sub-approaches: a reactive VM provisioning approach called ARVUE and a hybrid reactive-proactive VM provisioning approach called Cost-efficient Resource Allocation for Multiple web applications with Proactive scaling. Our second contribution is a prediction-based VM provisioning approach for on-demand video transcoding in the cloud. Moreover, to prevent virtualized servers from becoming overloaded, the proposed VM provisioning approaches are augmented with admission control approaches. Therefore, our third contribution is a session-based admission control approach for multi-tier web applications called adaptive Admission Control for Virtualized Application Servers. Similarly, the fourth contribution in this thesis is a stream-based admission control and scheduling approach for on-demand video transcoding called Stream-Based Admission Control and Scheduling. Our fifth contribution is a computation and storage trade-o strategy for cost-efficient video transcoding in cloud computing. Finally, the sixth and the last contribution is a web application consolidation approach, which uses Ant Colony System to minimize the under-utilization of the virtualized application servers.
NB: The permanent address of the publication (PDF file) is http://urn.fi/URN:NBN:fi-fe2014092244819
This book contains selected contributions by the Cloud Software Program partners focusing on innovative algorithms, applications, and tools to develop new services and applications to be deployed in public and private cloud infrastructures. These are needed to fully utilize the concept computing as a utility as promised by cloud computing. In addition to the actual contributions, the first chapter of the book contains an introduction to cloud computing from the point of view of software development. For the rest of the book, each chapter tackles a concrete problem relevant to software development for cloud infrastructures that originated in the program company partners.
We want to thank all the participants in the Cloud Software program for their efforts, shared experiences, and insights during these four years that have been materialized in the contents of the book. Specially, we want to thank Dr. Janne Järvinen, focus area director, Professor Veikko Seppänen, academic coordinator, Dr. Tua Huomo, program coordinator, and Dr. Pauli Kuosmanen, Digile CTO, for leading the program. In addition, we wish to thank Hans Ahnlund and Mika Laurila (ECE Ltd.), Marc Englund (Vaadin Ltd.), Sami Helin (Steeri Oy), Jarno Kallio (Packet Video Finland), Risto Laurikainen (CSC), and Heikki Nousiainen (F-Secure) for performing reviews for the different chapters that constitute the book. Finally, we also wish to thank all the contributors of this book for their dedicated efforts both in the program itself as well as in reporting the results.