  Building around the idea of a large scale server infrastructure with a
potentially large number of tailored resources, which are capable of
interacting to facilitate the deployment, adaptation, and support of services,
cloud computing needs to frequently reschedule and manage various application
tasks in order to accommodate the requests of a wide range and number of users.
One of the challenges of cloud computing is to support and manage
Quality-of-Service (QoS) by designing efficient techniques for the allocation
of tasks between users and the cloud virtual resources, as well as assigning
virtual resources to the cloud physical resources. The migration of virtual
resources across physical resources is another challenge that requires
considerable attention; especially in federated cloud computing environments
wherein, providers might be willing to offer their unused resources as a
service to the federation (cooperative allocation) and pull back these
resources for their own use when they are needed (competitive allocation). This
paper revisits the issue of QoS in cloud computing by formulating and
presenting i) a multi-QoS task allocation model for the assignment of tasks to
virtual machines and ii) a virtual machine migration model for a federated
cloud computing environment by considering cases where resource providers are
operating in cooperative or competitive mode. A new differential evolution (DE)
based binding policy for task allocation and a novel virtual machine model are
proposed as solutions for the problem of QoS support in federated cloud
environments. The experimental results show that the proposed solutions
improved the quality of service in the cloud computing environment and reveal
the relative advantages of operating a mixed cooperation and competition model
in a federated cloud environment.
