• No results found

Service-oriented Resource Broker

1 Introduction

3.3 Service-oriented Resource Broker

In order to utilize the cloud virtualized resources, the cloud service provider will handle more than one user with one or more jobs. That the multiple users submit jobs to cloud service provider is a complex processing. It involves in essence the ability to query the index service from the service provider and select the best resources for the users’

request. The objective of the resource broker is able to deal with the resources which are under the control of multiple administrative domains. The system load and status of the resources also change frequently. Therefore, the resources information is often limited or updated. In particular, in cloud environment, the role of a resource broker becomes important for resource management as the services required for users in terms of computation jobs and data transmission must be met. Thus, the resource broker must not be limited to the meta-job scheduling or resource selection only, but may also need to be satisfied by the user’s QoS requirement. Resource brokering must also be integrated with performance monitoring and analysis within the cloud system. This proposed

service-oriented resource broker is intermediate from the service provider to the end users and submits jobs to the appropriate resource for execution.

Specifically, broker is defined as the process of making scheduling decisions involving resource over multiple admission domains. This service-oriented broker must be capable of making efficient resource selection algorithm in a cloud environment where it has no control over the resource.

Concerning the resource matching, reservation and allocation problem, the service- oriented resource broker has been implemented in this resource management framework as shown in Figure 3-3.

The broker involves the process of jobs to suitable resources or resource selection under user’s QoS constraints that implement in four main phases on cloud environment.

During the scheduling process, jobs are needed to be matched with suitable resources that are fulfilling the user’s requirements as well as balancing the load on cloud resources.

The progress of those phases is as follow:

Chapter 3. Architecture o f Resource Management framework

(1) Identify User’s Requirement

In this phase, users need to describe their job’s requirements. These different users will pass the information of requirements to broker. The phase of resource requirement interpretation is converting the user’s requirement to quality o f service (QoS) metrics, such as the transmission time timing request, file name of data source, data file size and CPU capability, etc. Other issues include the execution start time and its duration. This phase is critical because it will affect the following phases, determining where the job eventually be submitted for execution [105-107].

(2) Resource Discovering

After the user’s requirement has been identified by the interpreter in the first phase, the abstract user’s requirements information is passed to the resource discovering phase.

The resource discovering phase is aimed to discover the potential combination of resources from index service by discovery interface. This stage of resource brokering is the process of inquiring the cloud resources, useful to identify the suitable resources which have characteristic and to fulfill the requirement of submitted jobs.

The first step is to eliminate the resources from index service that does not meet the job’s requirement constraints. This process is enhanced efficient allocation resources in avoiding unnecessary processing associated with contacting resources that do not have the ability to handle the job’s requirements.

The second step in this phase is to contact the index service with those resources that are able to meet the job’s minimum requirements. The proposed o f contacting the index service is to query the current state of those resources and report to the requester for allowing broker to make a decision where to submit a job for submitted user’s QoS request. The index service is commonly used in resource management within cloud environments. This index service is an integral part of the cloud infrastructure due to its diverse scope and dynamic nature. Cloud resources on the cloud platform fluctuate as their utilization and availability continuously change. When a user enters the process of resource selection the index service are queried. It provides static or dynamic resource information in terms of bandwidth, storage and computation resources for on-demand user request. That information will help broker to determine whether the resource is available.

(3) Resource Selection

According to the user’s QoS requirement, a list o f satisfied resources is passed to resource combination ranking that seek the best match between the users and the service provider through some certain of algorithms with resources static or dynamic conditions.

Job scheduling or resource selection is the process of choosing and assigning the resource from the candidate resources set located by resources discovery process. This phase is to allocation job across a set o f chosen resources which satisfy the jo b ’s requirement. The allocation process is match problem which is NP-complete problem. A related traditional scheduling algorithm problem is a global static and dynamic scheduling algorithm. Many heuristics have been proposed to try to optimal the match. The overall goal is to minimize the computing time or maximum system performance of the application.

(4) Job Execution

This is the final phase which includes a reservation mechanism and job submission, after the resource has been selected.

The first step is resource reservation mechanism that is aimed to provide guaranteed service for users demand (real-time multimedia application or computation application) in cloud environment. After resource selection process, one or more resources are probably matched to multiple jobs. In this case, the collision is happened and results in some users cannot get guaranteed service as this resource cannot provide enough services for all potential users at the same time. A reservation is used to specific a minimum guaranteed amount of resources; a minimum user’s request that applies even when a system is heavy overload. The reservation mechanism enables the users and service provider have the possibility to know the exact service capability such as the network bandwidth, the CPU clock cycle (megahertz) and the storage of hard disk (megabytes) and so on. Therefore, the resource reservation unit will provide this mechanism to serve the cloud resource via reservation interface.

The second step is job submission, once the network and end-system resources are chosen; the multiple jobs can be submitted to the resources for execution process. Finally, when the job is finished, the user needs to be notified. The broker will send a message to the users.

Chapter 3. Architecture o f Resource Management framework