PATTERN OF WATER SUPPLY IN RELATION TO DIFFERENT WATER SOURCES IN METROPOLITAN KANO AN EFFICIENT RESOURCE SELECTION AND ALLOCATION IN CLOUD COMPUTING USING ARTIFICIAL NUTRIENTS DISTRIBUTION MODEL

The recent emergence of cloud computing and its rapid advancement in recent time indicates a promising technology. However, the increasing number of providers with different policies has induced a challenge for customers to select providers that can efficiently satisfy their requirements. This research work is regarding resource selection and allocation in cloud computing using artificial nutrients distribution model. Cloud computing makes it possible for system administrators to allocate resources whenever it is required. It provides multiple servers that are expandable and can meet future needs without buying any physical computer equipment. Because there are lots of providers available commercially selection of resources from reliable provider has become difficult for cloud users. This research proposed a new intelligent model using the idea of nutrients distribution in human body to optimally select and allocate resources in cloud. This model enables users to efficiently select resources from the integrated providers as a single unit of resource pool. The model intelligently evaluates the available resources from different providers and expeditiously selects a resource of highest value for the customer. This research has designed an intelligent architecture, algorithm and the UML model for Resource Selection, Evaluation and allocation. The simulation showed that the overhead cost of searching from one provider to another as opposed to the existing methods is minimized. This model is of good quality and could obtain solution with a worthy efficiency by only making a single selection attempts as providers’ resources are interwoven to a single resource pool.


INTRODUCTION
Cloud computing is generally referred to as the delivery of ondemand computing resources over the internet on a pay-as-youuse principle. Cloud technology enables companies use computer resources and services in a similar way that water and electricity are being subscribed for instead of buying or building it. Cloud computing provides scalable resource to meet customers' demand and also provides companies with metered service, where they only pay for what they use. It offers customers with self-service access to needed computer resources. It is a technology that is still in its growing state which gives customers opportunity to exchange computer resources over any communication network using virtual technique (Sharma and Parihar, 2014).
The recent emergence of cloud computing and its rapid advancement, indicates a promising and unavoidable technology (Lee and Lee, 2013). To this end, divers cloud providers have been effectively allocating cloud resources and services to customers for years, especially in Infrastructure as a Service model. Major companies that have been lunching cloud computing services to customers, include; Google cloud platform, Microsoft, HP enterprise, Amazon, IBM VMware, GoGrid, CloudSigma, oracle etc. This technology is growing at very high speed than was ever imagined. The certain indicator of a new industry is the excessive number of startups, and that is the definite fate of cloud computing industry (Patrizio, 2017).
Sequel to the increasing number of different providers with varying policies, choosing the best provider that satisfies customer's requirements has become difficult for the customers.
To explore different providers, know about their operational principles, deciding the best for their needs, and place request for the allocation of such resources, has been a key challenge to clients in cloud market. In addition, blending or aggregating various providers to serve clients as if it was a single system is another big challenge experienced by researchers. It has therefore becomes a complex task for cloud users who intend to increase the size of their services using other providers to do so. This research proposed a novel nutrients distribution model to select the best resources at once from various provider(s) that will satisfy customer's needs. The model suggests a pool of resources by aggregating several providers' resources into a single pool. Each provider will have a unique identity and possibly different pricing and transaction policies on their resources. This model uses the idea of multi-cloud approach, where various inter-clouds will be integrated by an application. This method is without the interference or influence of providers, so that free will interactions between the resource providers do not necessarily happen. However, an application that integrates and dictates the behaviours of various providers in an independent manner is provided. This proposed model functions like a shopping mall where clients can directly make their choices of resources from different providers before request.
In cloud computing environment, there exists good number of methods designed for work. Grozev and Buyya (2014) studied review of the entire inter-cloud, grouped architectures and brokering methods into independent and volunteer federation methods. Independent multi-cloud method is another way in which inter-clouds are being integrated together by an application or by a cloud broker. This method, prohibits providers to communicate voluntary with each other, they are independent of one another. Alternatively, this method uses an application or broker that manages and controls them as entity. It is further grouped into service or library approaches in which they integrate providers. The service method runs as separate entity from a client and manages various cloud machines within the service, during the same time that a customer utilizes libraries to aggregate them in library method. In volunteer federation approach, the providers collaborate and share their resources willingly among each other and often viable for governmental clouds and personal clouds investments. This method is categorized into centralized and peer-to-peer methods. In the centralized category, a server is featured in its architecture that is central and manages all resources and transmits messages to clouds providers. On the other hand, peer-to-peer method does not have a centralized server in its architecture.
Cloud users are worried about the waste of money that they might be experiencing in the public cloud spending, due to round the clock continuous running of majority of their instances which these methods do not take into account (Right Scale, 2017). Thus, a need for a multi-cloud management platform to enable one to buy, deploy, monitor and manage cloud resources or services in spite of various providers boundaries from a single website.
According to Marosi et al. (2011), the federated cloud management put forward an architecture idea that depended on a general repository known as FCM Repository to store virtual appliances for all federated services. It is copied to the native storages of the different IaaS providers. The customers only interact with the Generic Meta-Broker Service describing the requested resources or services and ascertain transparent additional provisioning and scheduling. For every Infrastructure as a Service provider in the architecture, there exist correspondent brokers named Cloud Broker who controls the allocation and de-allocation of resources and send incoming application requests to appropriate resources. The access that Generic Meta-Broker Service has to the Repository enables it to interact with the Cloud Broker of the federated clouds. When the customer's request gets to the Generic Meta-Broker Service, it matches between the request and the most appropriate Cloud Broker. The matching is based on the ground that information from the Repository and runtime metrics supplied by the Cloud Brokers. Rodero-Merino et al. (2010) developed a reservoir of Resources and Services Virtualization without Barriers, which was expanded earlier on Grids interconnection. The architecture of this method omitted central entity, and resource providers talk directly with each other to discuss terms of agreement in renting resource. An abstract layer for carrying out of services on top of a cloud federation aided multiple clouds utilization. Ferrer et al. (2012) opined that, in addition to federated providers, OPTIMIS method likewise favours Independent Inter-Clouds. A multi-cloud can make a significant progress whenever cloud users put their deployment engine and service enhancer to use directly to begin and manage services within different providers in relation to OPIMIS architecture. A notable setback in this method is that, collaboration between the clients and cloud providers is needed, for data centres that lunched OPTIMIS agents. It has been noted that cloud providers may not willing get involved in inter-cloud practice and install such agents. The OPTIMIS agenda is to let the adapters that were not internally developed to simplify the cloud providers and OPTIMIS agents' interactions.
According to Dinesh et al. (2012) many resource scheduling algorithms have been used in implementing and analyzing optimal resource utilization. Task work plan that used Berger model is one of the job scheduling algorithms. According to Lin et al. (2013), the work plan of resources is crucial to cloud computing problems. In their work, they noted that to design an effective and efficient resource allocation algorithm was a big challenge, because of the reason that scheduling problems occur in NP-Complete. To a great extent, algorithms for work plan designed till present today only reflects the CPU, memory and has no emphasis on the bandwidth requirement. The Constraint Satisfaction Problem has been used to represent optimization of resource allocation, in which three types of resources have been considered by the scholars, namely RAM, CPU and bandwidth. And Choco Based algorithm for Virtual Machine resource allocation in virtual cloud data centers has been designed. Madni et al. (2017) performed comparisons of heuristic algorithms for task scheduling in infrastructure as a service (IaaS) cloud computing environment. They used six rule based heuristic algorithms to implement and use to schedule independent tasks in homogeneous and heterogeneous environments with the objective of comparing their performance in terms of throughput, degree of imbalance, makespan and cost. First Come First Serve, Minimum Completion Time, Minimum Execution Time, Maxmin, Min-min and Sufferage are the heuristic algorithms considered for the performance comparison and analysis of task scheduling in cloud computing. For the heuristics they studied, overall Min-min algorithm was found to perform better than other heuristic algorithm, while Max-min and sufferage algorithm gave good results, MET algorithm proved better performance in achieving the degree of imbalance for optimal task scheduling in IaaS cloud computing. Zhang et al. (2012) proposed architecture and a system for automatic recommendation of best cloud providers. The principle of their proposed system could recommend the best provider to the customer based on their resources requirement. Their system was made of three folds, Widget, Application Logic and Configuration Management layers such that it can give the best answer. In spite of the fact that it could decide the best provider, it does not also provides the needed resources from providers. The users using their system will on their own have to search for the required resources from the recommended providers. When such a resources could not be allocated by one provider, the users would have to manually search for other providers. Son et al. (2013)  723 allocate resources to clients automatically. The result of Zhang et al. (2012) model basically takes list of providers as data input into Son's model which will process the input and allocate resources from the recommended providers automatically. In their decision system, their model could find the best provider based on user's requests and check whether the resource is available on the selected providers. If the system cannot find the needed resources from the first provider, it will then look for an alternative provider to allocate the needed resources and so on.
To identify the best provider without ascertaining whether he/she will be able to allocate resources that satisfy cloud user's requirements is the weakness of Sons model. The overhead cost of searching from one provider to another until requested requirement is made, is the major issue with the proposal. Hence, the need for a model that will interwove the available providers' resources to a single resource pool.

The Nutrients Distribution Model
The nutrients distribution model as shown in figure 1, describes the flow of nutrients in the portal circulator from which the cell receptors select the nutrients that are critical to the cell, and on the other hand removes waste or unwanted substances from the cell. The selection is based on the hydrophobicity of the nutrients. A nutrient of highest hydrophobicity will be first to be selected by the cell and continuously in this order until the cell reaches its capacity. The circulatory system of human body is one of the organ systems. The main function of the circulatory system is to carry nutrients to cells and remove wastes from the same. Nutrients taken in the small intestine is transported mainly to the liver through the hepatic portal vein. From the liver, these nutrients are transported upward via the inferior vena cava blood vessel to the heart. The heart vigorously pumps the nutrient-rich blood first to the lungs to harvest some oxygen and then to all other cells in the body. The cells seize moment to harvest the nutrients in blood and swap metabolic wastes due to intense reduction in blood circulation (Insel and Roth, 2010).
Shakeel and Raza (2914) built a mathematical model of diffusive nutrient flow and nonlinear cell proliferation in a bioreactor. A cell seeded porous scaffold was kept in a bioreactor with a fixed nutrient supply. The nutrients intake and flow was modeled by reaction diffusion equation and cell proliferation by Fisher Kolmogorov equation. The delivery of nutrient to the cell seeded scaffold was entirely via diffusion. Their model was solved numerically by commercial finite element solver COMSOL. If nutrients intake relies on diffusion, the results for all types of constructs will make cell proliferated regions near nutrient supply. The results are presented for uniform and non-uniform initial cell seeding strategies. It was also observed that cell proliferation is insensitive to the initial seeding strategy. Their model essentially was for regenerating the functions of devastated organs or tissues due to some accident, disease or age related degeneration as tissue engineers.
Marinis (2015) considered using partial deferential equations to model the growth of a cancer tumor. Using the diffusion and conservation laws, derived a general system of partial deferential equations for the nutrient concentration and density of proliferating, quiescent and dead cells. Also proceeded to simplify a symmetric model in R3, and then prove some existence and uniqueness of results for this simplified model. A nutrient distribution by considering a growing multi-cell spheroid to be surrounded by nutrient rich serum was studied. For the purpose of modeling, she considered the effect of a single nutrient; usually assumed to be oxygen. The diffusion of oxygen was assumed to be very rapid, if the diffusion coefficient is to be D, and the consumption of oxygen by living cells to be dependent on the local oxygen concentration C(x; t), the oxygen concentration maintains a quasi-static distribution determined by: Where σ(C) describes the rate of oxygen consumption per cell and N represents the number of living cells per unit volume of the multi-cell spheroid.
Thus far, no research work has been conducted on modeling nutrients distribution process to various cells of a human body, or used its idea in computing, such as resource allocation.

METHODOLOGY
In this research, we propose to use the idea of the existing biological model of nutrient distribution to design our own model that can intelligently select the best resources in cloud computing system. The model is expected to: i.
Select the best resources for the client ii.
Reject any resource that does not fit into the client requirement iii.
Eject or relinquish used resources back to the provider Conditions for resource selections include: i. The availability of the resources ii. The resource value or weight iii. The capacity of the system/client We therefore proposed a nutrients distribution model, that interwoven all the available providers' resources into a single resource pool. Each resource in the pool will carry a unique identity of its provider and the transaction policies of the said provider, from where the user selects suitable resources that meet his/her requirements and places an allocation order. It makes it easier for both the providers and the customers to manage their request and allocation of resources. This is because the users can no longer make request for an unavailable resource from a provider. Sequel to these, it has therefore become necessary for this model to be designed.

The intelligence model for resource selection
1. For every resource requested by a client, the following parameters are evaluated to ascertain the quality of the resource: Data security, Business policies, Reliability and performance, Price, Location and Technology. 2. Each of these parameters is associated with value that represents a resource which in turn reflects the quality of the provider. A higher value parameter represents a high quality provider and vice-versa. 3. For each resource requested, n numbers of parameter values are summed, to obtain a total value of this resource that will enable our model, to determine the best resource from the available providers. This will be achieved using the given equation below: Where RV represents Resource Value and Pi represents Parameter Value. 4. The resources are compared in terms of their values (RV) obtained using our equation, and the model selects the resource of highest value which signifies a high quality provider for that particular resource. This process is in relation with the idea of cell selecting a nutrient based on size and hydrophobicity. The idea states that a nutrient of highest hydrophobicity is first selected and in that order continuously to the cell's capacity. 5. The allocation request for the selected resources is followed accordingly by the model. 6. The provider(s) on the other hand provisioned these requested resources to the client.
7. The client executes tasks with these resources, and on completion, relinquishes them back to their various providers. The resource selection and evaluation process is depicted in figure 2: Where R is a Resource from a specific provider, P is the Parameter Value, and Rv is the Resource Value. The resource R represents various resources inputs from different providers 1 to m, these forms a pool of resources from where the model makes its best selection. The parameter value P represents set of values 1 to n of a specific provider's resource which the model uses to computes the overall value of that resources. The output of this summation or computation denoted as Rv is evaluated to determine the best quality resource among 1 to k resources, and hence it is selected.

The model's inputs
The inputs to our model depicted in figure 3 are resource R1, R2, R3, …, Rm, from different providers. These multiple resources from multiple providers generate a resource pool. This is synonymous to the nutrients intake from the small intestine to blood vessels from where the cells select the required nutrients. Each of this input resource has a unique identity to enable our model select and evaluate the resource quality based on their providers. For instance, there may be many CPUs from various providers commercially. This model will therefore determine the best quality CPU for the requesting task based on the parameter values evaluated. In addition, the parameter values are determined by the clouds downtime history, data security history, etc. These processes are carried out for every resource requested by the client before placing an order and allocation.

The model's output
The output of resource selected in figure3 above, is obtained from evaluating or comparing the output result of the model's summation of resource values Rv1, Rv2, Rv3,…,Rvk forevery identified resource of interest in the resource pool, to determine the best provider from the many. The output result of each resource is evaluated against resources from other providers, to determine the resource of highest value. This resource is the final output selected as the best resource for the client. This process is executed for all resources that a client needs. Thus, on completing the selections, the model at this point places an allocation order to the providers.

Fig. 3: The Proposed Architectural Model for Resources Selection
The proposed architectural model in figure 3 depicts resources provisioning and selection. The architectural model shows how resources from several cloud providers are aggregated to form a resource pool that serves as cloud information database. The providers though integrated, operate independently from each other, and have no interaction with one another. The providers from time to time update their resources as the need arise, which is automatically reflected in the resource pool. The client's requirements are submitted to the application decision support as shown in the model diagram. The intelligent model in turn search and selects for the best quality resources in the resource pool based on its requirements. When the model is done with selections, the recommended resources list is submitted for allocation. The provider(s) concern will thereby allocate the requested resource(s) to the client or match machines to the tasks. The client on the other hand, on completion of tasks, relinquishes the resources back to the provider(s).

The resource pool
The Resource Pool (Database) in figure 4 stores all information regarding each provider, their services including provider's identity, resource sets, physical locations, operating systems, contract duration and prices.

Fig. 4: The Cloud Resource Pool The architectural cloud view of the model
The resource pool depicted in Figure 5 shows an integration of multi-resources from various providers, with their unique identities and distinct operations. Similarly, each resource in the resource pool will contains detailed transaction policies of the issuing provider. The system therefore, using the intelligence of nutrient selections by body cells receptor as described in our algorithm, will match each client requirement with the best resource available in the resource pool, after which the model will place an allocation order which will in turn be granted by relevant provider(s).

The flowchart of the proposed nutrients distribution model
The proposed flowchart diagram depicted in figure 6 starts by accepting both the client's requests and provider's resources. While the resources are available in resource pool and request from user exists, the model computes and evaluates the best quality resources for the specified number of requirements. The model ensures that the resource selected for a client at the moment, is the best of all available providers. It achieves this by first identifying the needed resources, find the parameter values of each resource and then evaluate the entire resources to select the best quality resource from all the resources. The model is of three compartments: The resources requests by the client, the model's intelligent selection of the best quality resource and the provider's allocation of requested resources. The allocation aspect of the flowchart is depicted in figure 7.That is, the output of figure 6 becomes the input of figure 7 to complete the model's processes. The model will test if the resource match the requirement, and if it is the best from the other resources, then, it will select the resource otherwise rejects it. On clients' completion of tasks, the resources are handed back to the provider(s) and the process is halted. This is clearly described using the flowchart in figure 6. The sequence diagram in figure 8 depicts a universal modeling language for efficient resource selection and allocation in cloud computing. Table 1 shows an input page for client requirements specification. Expected using hours in total 2 Years 9. How many Machines 3 Table 1 shows a simple input sample of a single client with its detailed resources requirements and specification. Once the client request is submitted, the application model begins the selection of best resources as per client's requirements. The proposed model searches for the best resources in the resource pool of different providers. This proposed model appears as a single provider to the client, thus simplifying the selection process. The result or outcome of the client request is displayed for his/her perusal to ascertain the resource requirement before finally submitting the allocation order. This is described in table 2 below: Table2 depicts the result of client resources request in table 1. The result suggests that the proposed model of nutrients distribution has the capability to efficiently match the best resources from different providers for the efficient execution of client tasks. The proposed application model will serve as broker that shields the various providers from each other and allow each one of them to operate independently from one another. The result shows that, for a single client, there are three different providers allocating different resources to client's tasks with different prices. This result suggests different providers providing different resources, meaning the selection was unlimited. In an event where the resource selection is only one provider, then there will be only one provider of resources for the particular client.

RESULT
As soon as the allocation is carried out, the client begins execution of tasks until the end of the duration period or tasks completion. The client pays for the services rendered, to each of these providers independently based on the usage and the contract period. The total cost for resources provided by each provider is calculated and is paid to each one of them. Finally, on completing tasks, the client relinquishes back the resources to the rightful providers.
The proposed model compared to the Son et al. (2013) model, has adequately minimized the overhead cost of searching for resource from one provider to another as opposed to the existing methods, resource fragmentation, over provisioning of resources, assist enterprises to automate their schedules for development environment that runs only when it is needed, as well as to clean up storage that is no longer in use. The model will enable users to directly select all their needed resources from the pool, possibly from different providers at once before placing an order

CONCLUSION AND RECOMMENDATION
This study designed a nutrients distribution model to enable users efficiently select resources of requirements, and to allocate these resources accordingly in cloud computing. It aims at finding the best resources for the given user's requirement and allocating the resources automatically. The proposed algorithm consists of three independent components in charge of resource request, resource selection and resource allocation, with a resource pool helping each component. Lastly, we have presented our result that suggests this proposed model to work properly in the given situation.
Sequel to the fact that there are many different types of cloud services, selecting the best resource is often laborious and timewasting for system users. The proposed model has adequately minimized the overhead cost of searching for resource from one provider to another as opposed to the existing methods, resource fragmentation, over provisioning of resources, assist enterprises to automate their schedules for development environment that runs only when it is needed, as well as to clean up storage that is no longer in use. The model will enable users to directly select all their needed resources from the pool, possibly from different providers at once before placing an order. In future work we will extend this algorithm to enable the model monitor provider's resources inputs and client utilization of these resources, to ensure updated resource pool. We will also incorporate a control unit into the model, to foster communication between the players in the system.