Only 14 pages are availabe for public view
Cloud computing is a popular computing paradigm for hosting and providing a variety of services over the Internet. It offers a set of advantages, such as using a pay-as-you-go pricing model, reducing the up-front investment, reducing maintenance costs and providing on-demand scalability, that makes many applications shifting from in-house infrastructures to cloud infrastructure. However, many of these applications, such as financial transactions and scientific computation, require real-time processing. On the other hand, the dependability of cloud environments has many challenges that need to be handled to host this type of applications. These issues have become apparent due to the loose control over the cloud’s computing nodes, the unexpected latency because of using the Internet as the only communication way for delivering the cloud services, and the high resource failure probability because of using inexpensive commodity hardware. Recently, many fault tolerance models have been proposed for improving the dependability of cloud environments. However, this research field is still an open research area that requires more efforts to handle the different issues and there is a large room for improvement.In this thesis, we propose a comprehensive framework for improving the dependability of cloud environments to reliably host real-time applications. The proposed framework adopts a number of strategies for improving the dependability of cloud environments, such as using a number of traditional fault tolerance techniques such as replication, checkpointing/Restart, preemptive migration. It also, proposes two fault tolerant real-time task cloud scheduling algorithms, which have been designed, implemented, and compared to other scheduling techniques. The performance of the proposed algorithms has been evaluated under different scenarios using the suitable performance measuring metrics. The experimental results have shown the efficiency and effectiveness of the proposed scheduling algorithms.