# Introduction rid computing is a special kind of network that connects distributed computer resources (such as clusters, supercomputers, and datasets) to provide stronger computation power as well as data warehouse over the Internet in order to solve computationally intensive problems (such as drug design, investigate material properties and weather forecasting). These resources are typically owned by different owners and driven by different rules and policies. Economic models such as Contract Net Protocol (CNP) [1], Double Auction [2], and Commodity market [3] are found suitable in harnessing these distributed resources over different ownership. Recently federated grid has emerged as a new approach that supports coordination of resources through grouping mechanism in order to optimize users quality of service (QoS) (i.e. resource availability, reliability, performance etc.) [4], [5]. However, autonomous coordination of distributed resources is essential to achieve perceived utility by users. However, extreme heterogeneity, dynamic nature, and different ownership of these resources impose challenges to do that. Agent technology in computer science is well known due to their autonomous actions in making decisions and capability of interacting (such as cooperate, coordinate and negotiate) with other agents like other social beings. Due to the development and application of agent technologies, a surge of interest has been focused on agent-oriented methodologies and modeling techniques. The reason for including agents in grid computing is that grid computing and agent systems have similar objectives. Both aim to achieve "large-scale open distributed systems, capable to effectively and dynamically deploy and redeploy resources as required, to solve computationally complex problems" [6]. Similarly, agents representing different grid providers can interact with each other and form groups or teams in order to meet their respective goals (e.g. meeting users QoS, earning profit etc.). However, differentiating among QoS (i.e. typically represented by user's preference values on QoS), and forming groups accordingly to meet their demands are open issues in this field. In this paper, we study how to characterize different users in terms of their varied utility demands and budget constraints. Perceive different utility is important in order to deliver stronger QoS. In addition, we study how to map appropriate groups with received users to enhance system efficiency (e.g. better profit and resource utilization). We propose an agent-based iterated CNP (iCNP) where agents representing users and providers are autonomous to interacting each other and both appear with their respective requests and offers. iCNP allows multi-round iterative bidding. In general, under such an economic model, a manager (user) issues/publish the initial call for proposal (cfp)/ resource demand. The contractors (providers) then evaluate the proposal and propose their bids. The manager then accepts one or more of the bids or may iterate the process by issuing a revised cfp. However, escaping from one round and then waiting for the next round to resubmit the request may cause a long queue waiting time in a large-scale framework which is typically comprised of thousands of users and providers such as grid. Hence, in this paper, we further focus on how to treat a user in a better way from the first round by incorporating grouping mechanism and thus to minimize the number of iterations. Minimize the number of iterations prevents users from the uncertainty to best treat their values and reduces communication delay dramatically since negotiation with users as well as G II. # Related Work Chao et al. [4] proposed for grouping grid nodes in terms of nodes' own desires to optimize resource allocation problem. They grouped-up according to compatible users and providers based on catallaxy-based market though how they defined different criteria to do this is not clear. In addition, they conducted the simulation with 100 agents (50 users and 50 providers) but what impact it would have if they conducted the simulation with varying the number of users and providers is not taken into account. We conduct our simulation with thousands of users and a varying number of users and providers. CNP has been used in a cluster environment to optimize utility for users [1]. They have compared the performance of CNP and traditional Round Robin Protocol (RRP) in terms of different job arrival rates and show the advancement of CNP over RRP in terms of utility and computational cost. They have conducted their simulation by incorporating two scenarios; firstly, the scenario that accommodates all the mono-thematic applications (similar kind of applications) and secondly, which accommodates heterogeneous tasks. However, in our work, we focus on iCNP and characterize users in terms of their preferences, such that they can be efficiently evaluated. Goswami adopts [7] CNP to deal with resource heterogeneity and proposes two resource selection policies. One is K-time optimization policy, in which users are sorted in ascending order in terms of their proposed deadlines of finishing their jobs. Another one is, K-cost optimization policy, in which users are sorted in terms of their budgets, they are willing to pay. The value of K refers to whether to switch from K-time to Kcost or not and vice versa. The drawback of this system is, though the failed users have the chance to reannounce/revise their cfp, they still resubmit their cfp without changing anything (e.g. increase budget or reduce QoS). Hence, the probability of accepting revised cfp would be decreasing and produce high communication overhead. We change cfp over iterations which maximize to successful SLA establishment in each round. An agent-based Content Distributed Grid (CDG) is proposed to form VOs [5]. The concept of CDG is borrowed from Content Distributed Network (CDN) in where all the servers are co-operative to each other and belong to the same organization. The CDG is different to the point that all the resources under grid computing are competitive and belong to different owners. Hence, they propose an economic approach to motivate grid providers such that they can be cooperative in contributing their resources in order to maximize utility for users. The failed users can re-negotiate with providers based on their revised cfp and this can happen over a certain number of iterations. However, under which condition how many iterations it may have to allow users re-negotiate is not discussed. If the number of iterations is very low, some users might lose their chance to re-negotiate or if it is very high, it might produce high communication delay. We allow the auction to be continued until there are at least one potential user and one potential provider in the market which guarantees all the users making deal with providers. In addition, our grouping strategy helped to minimize iterations while ensuring best treat the users. Ranjan et al. [8] proposed CNP-based negotiation for meta-scheduling resources in federated grids. Their proposed SLA-based approach is designed to satisfy users by maintaining their job deadlines as well as allows providers to control over their resources. Users in their system are allowed to iterate the negotiation process if they fail in a particular round. However, how users revise their cfps is not discussed. Hence, accepting revised cfp becomes harder, since the providers keep the resource cost constant throughout an experiment. There could be another way of revising cfp, that is, minimizing resource requirements rather than maximizing budget but it may not be applicable to a group of users who define a resource as their optimization. Our group-based optimization strategy minimized the occurring of revising cfp and thus decreased the chance of generating such unexpected scenarios. An enhanced ant colony algorithm combining the technique of Ant Colony System and Mix Ant System for job scheduling for grid computing is proposed in [9]. The proposed algorithm also contains the concept of agent for the purpose of updating the grid resource table. Laizhi Wei et al. [10] proposed an improved ant algorithm for Grid task scheduling strategy with a new sort of pheromone and node distribution selection rule. The proposed algorithm can measure the performance of resources and tag on it. By dealing with the unsuccessful situations of task scheduling, unnecessary overhead of the system is reduced that results in shortening the total time requirement of a complete task. Sonal Yadav et al. [11] proposed a cost based job grouping and scheduling algorithm that will be beneficial to both user and resource broker. Before allocating resources the algorithms groups the users job which results improved communication to computation ratio and utilization of available resources. among providers requires huge communication process. We group providers based on their resource The authors of [12] have proposed a grouping based job scheduling algorithm that uses priority queue and hybrid algorithm to maximize the resource utilization Year 2 018 # ( ) E © 2018 Global Journals and minimize processing time of the jobs. By considering static restrictions and dynamic parameters of jobs and machines the algorithm selects the best suitable machine for user's job. # III. # System Model We model our framework (Figure 1) with three types of agents, which are user-agent, provider-agent and traffic-agent. Each type of agents is programmed in a way so that it can try its maximum to reach an agreement (Service Level Agreement) while interacting with other agents. We use iCNP as the interaction protocol. Since it is iterative, agents in our model can optimize their goals through renegotiation. Details on iCNP are described in the following section. The three types of agents in our system try to reach the following individual goal: Type 1 (User-agents): Try to optimize the preferred values (e.g. storage, budget) as defined by the corresponding users, Type 2 (Provider-agent):Aims to receive more users so that they can maximize their profit, Type 3 (Traffic-agent): Is designed to receive and evaluate users' request and finally switch to the appropriate groups. Therefore, it is clear that each type of agents has its own task to accomplish. However, in this work, we only consider users requests (jobs) as tasks. Such a task-oriented domain can be defined as, # Where T refers to the set of all tasks. Here the number of tasks (subsets) is equal to the number of users. A=({A 1 ,?,A u }, {A 1 ,?,A p }, A t ) is the set of participating agents. Au, Ap, and At refer the user-agent, provider-agent and traffic agent. Again, A u ? A, A p ? A, and t are always 1. C refers to the cost of executing a particular task. Now, we describe different types of agents in terms of their activity. # a) User-Agent In our model, a user-agent is represented by A u where â?"?uâ?"?> 0 and can be any arbitrary number. Each A u is set by a few resource requirements, budget, deadline, and preferred optimization. This is called "call for proposal (cfp)" and given by, cfp u = {R, B, D, Pref} However, in this work, we set an A u only with resource requirements (storage and processors) R, budget B and preferred value Pref. The preferred value can be either in resources or budget. The role of an A u is to try optimizing its Pref while considering other associated constraints. Hence, an A u can easily be characterized based on its cfp u . User-characterization is mandatory to deliver stronger service. In our work, we consider four different ways to differentiate users. Firstly, the users set processing as their preferences. In addition, respective budgets are relaxed, that is, willingly to pay whatever price providers impose on cfp. An A u can perceive its preference value automatically based on resource requirements. Hence, a cfp u can be re-written as, cfp u = {CPUs ? predefined CPUs and storage < predefined storage, B(relaxed), D, CPU} Secondly, the users set storage as their preferences. In this case, the budgets are relaxed as well. Similarly, an Au can perceive its optimization entity by using the following cfp u , cfp u = {CPUs < predefined CPUs and storage ? predefined storage, B(relaxed), D, storage} Thirdly, the users come with cost optimization. This is recognized by the following cfp u , cfp u = {CPUs < predefined CPUs and storage < predefined storage, B, D, cost} Finally, the users set combined optimization as their preferences, which means, they want more resources with lower costs. This type of cfp u can be defined as, cfp u = # {CPUs ? predefined CPUs and storage ? predefined storage, B, D, combined} Characterizing users in terms of their cfp would help grid providers to treat them better than might otherwise be expected. However, this characterization can be extended in a few more ways (such as both of resources optimization with relaxed budget). We have left either ways for our future work. We use different ranges for different resource requirements in order to dynamically set thousands of users. The average values of the ranges are considered as predefined resources. Please note that if an Au fails in a particular iteration, it revises its cfp u for the following iteration by increasing its budget until the budget reaches its maximum value. The next step of an Au is interacting with traffic-agent. # b) Traffic-Agent A traffic-agent is represented by A t . Only one A t is designed to deal with all A u. At first, it receives cfp u from an A u . Then it evaluates the cfp u and detects the preference value. After that, it evaluates appropriate group in order to better serve the user. Details on grouping are described in Section 2.3. Finally, it switches the A u to the appropriate group which is designed to treat the user best. Hence, it is crucial for an A t to determine appropriate groups of users otherwise it may cause some extra iterations which ultimately increases communication overhead. # c) Provider-Agent A provider-agent is represented by A p . Where, â?"?pâ?"?> 0 and can be any arbitrary number. An A p is designed with resource availability and prices for the unit amount of resource consumption. Details on pricing are explained in the Economic model section. In this paper, we focus on the provider side. Therefore, we concentrate on provider strategy rather than user strategy. Although providers in grid computing are known to be self-interested, they can save costs by coordinating their activities among themselves. In a multi-agent paradigm, such a grouping activity is known as characteristic function game (CFG). In such games, the value of each group G is given by a characteristic function v G . Hence, providers can be grouped in several possible ways based on v G . This is called group structure (GS). So, for any group, we can say G ? GS. We assume that providers are aware of the demand curve (a market trend on resource demand) and all available cases users can be characterized on. Based on this, all the providers under our federated grid automatically form into four different groups based on their resource availability. Groups are presented here in terms of their set of characteristic functions: v G =1: {processors ? predefined processors and disk-space < predefined disk-space} v G =2: {processors < predefined processors and disk-space ? predefined disk-space} v G =3: {processors < predefined processors and disk-space < predefined disk-space} v G =4: {processors ? predefined processors and disk-space ? predefined disk-space} Here, each G is formed to better treat its corresponding cfp u . For example, G1 (group1) is designed with that provider who are able to supply more processing power and thus to deliver stronger quality to type1 cfp u . However, grouping in our model occurs prior to serving a particular cfp u rather than after receiving the cfp u . The reason for this is to prevent users from waiting while forming groups over distributed domains. In addition, this would increase the probability of receiving more users by a particular G. For each G, there is a group correspondent (typically the first provider), who initiates dealing with a cfp u and negotiates with other providers within that G if requires. However, G formation in any CFG needs to satisfy the following facts; Group structure generation: Formation of groups by the agents such that agents within each group coordinate their activities, but agents do not coordinate between groups. Typically, this generation occurs superadditively, which is, any G of agents is best off by Year 2 018 # ( ) E © 2018 Global Journals merging into one. This can be explained in terms of the utility function, UtilityA1?A2 ? UtilityA1 + UtilityA2 For all disjoint agents A1, A2 ? A. The utility function of an agent A for a deal ? in order to accomplish a task T can be defined as, UtilityA (?) = C (TA) -costA (?) Where C (TA) refers to the cost originally assigned to the agent A to accomplish the task T and costA (?) is the cost spends to process the deal. The agents presented here are all A p and the utility function is restricted to G generation. However, in many cases, G formation may not be super-additive since there are some costs (such as communication cost, security cost) to G formation process itself. Therefore, under costly computation, component grouping within a single provider or organization may be better off by not forming a composite grouping with different providers. However, in case of grid computing, most cases, a single provider is not able to meet large-scale resource requirements. Again, due to large-scale resources trading, associated costs would be less in most cases. Optimization of the group: Here, a particular G's objective is to maximize monetary value, that is, to maximize the utility value in combination. This can be achieved by increasing the money received from users or decreasing the cost of using resources. Payoff division: It divides the generated solution among the provider-agents of a particular G. The division should be in a fair and stable way so that the agents are motivated to stay with the G rather than move out of it. In our model, the solution of a particular G is divided into the providers according to the number of resources they have shared. i. Group migration Though each cfp u is supposed to receive in its respective G which is appropriate to treat that cfp u , the corresponding A u can still be migrated to another G, if the designed G becomes unable to deliver the resource demands. Under a federated grid, this migration policy would increase the system efficiency, since it tries its maximum to treat a user well. However, there are some restrictions to migrate a cfp u from one G to another. As aforementioned, we are focusing on provider side; hence, we have used some strategies over migration so that the system can produce a better payoff. Please note that all strategies of migrating a cfp u from one G to another is subject to unavailable resources with the G it is migrating from. Strategy 1: From providers' point of view, G1 and G2 users receive priority than others, since these users come with a relaxed budget. Hence, G1 and G2 users are allowed migrate to G3 and G4 at any iteration while iCNP. Strategy 2: G3 and G4 users are allowed migrate to G1 and G2 at all iterations except the first since the budgets of G3 and G4 users are not relaxed and thus get less priority by providers. This is done such that in the first iteration providers can receive more users with relaxed budget and thus to maximize profit. However, our model supports to define a migration policy by a particular group G in either way about when to migrate and migrate to which. # IV. # Implementation We established a simulation environment and implemented the proposed model using a crossplatform multi-agent programmable modeling environment known as Netlogo [13], [14]. We choose Netlogo because: ? Netlogo is a FIFA (Foundation for Intelligent Physical Agent) conformant platform [15]. We implemented FIFA conformant iCNP (Iterated Contract Net Protocol) which is an extension of the basic CNP, but it differs by allowing multi-round iterative bidding [16]. iCNP supports optimizing a particular user's request by negotiating distributed providers. In such a model (Figure 2) a user is called a manager who issues an initial cfp. Providers are known as contractors, who then response with their bids and the manager may then accept one or more of the bids, the others, or may iterate the process by issuing a revised cfp. However, the number of iterations can be based on a time period or potential users (who can still maximize their budgets) and providers (who can still serve at least one standard user). We consider that the iteration continues until there are a potential user and a potential group. Though using our approach seems to increase number of iterations and thus communication overhead, the approach is more consistent in grid perspective and using our grouping strategy, number of iterations could be decreased. In our case, a group G receives a cfp via the traffic-agent (A t ) with the guarantee that the group G receives the correct cfp. However, evaluating a particular cfp would be different, if a particular group G receives the cfp from another group G (migration) rather than the traffic-agent (A t ). # b) Bidding policy In our system, each user comes with a band of budgets, which are minimum budget and maximum budget the user is willing to pay. Typically, an A u (useragent) corresponding to a user starts bidding from its minimum budget to the maximum budget over iterations if it can establish the SLA. The bidding in our mechanism follows linear increment. Though we are not focusing on user-strategy, we would like to change userbid over iterations rather than linearly in future. If an A u is unable to establish its SLA even after reaching its maximum budget, it will be considered as a failed job. Resources requested by an A u are priced by A p (provider-agent) using the unit price of each particular resource. These unit prices do not change over iterations. However, in future, we would like to change the prices based on supply and demand. The cost C of a task, T requested by a particular A u can be formalized as follows: Where m refers to the resource type requested by A u . Typically, this can be storage, CPU, and memory. However, we conduct our simulation only with storage and CPU. n is the total number of resource types, Req m means required resource amount of type m P m is the unit price (e.g. price/GB storage) for type m. This is a function of a particular provider A p # c) Optimize user-defined preferences in the groupbased federated grid In our implementation, we distinguished userdefined preferences in two ways. One is resource optimization which includes optimization for storage and CPU and another one is budget optimization. As we are using group-based strategy, it is easier to optimize a particular resource type, since typically a group only receives cfp with those preferences which the group is specialized for. For example, if a user's preference is storage, he goes under group 2, since the group is comprised of those providers who have more storage power. Therefore, the optimization of a particular resource is done via negotiating different providers within a particular group. Hence, a task may have to be shared by several providers. A large-scale task can be shared as the following steps: ? Task decomposition: involves decomposing large task into subtasks. The task decomposition is typically done by the dispatcher. ? Task allocation: refers to assigning the subtasks into different providers. ? Task accomplishment: is the completion of the subtasks by the respectively dedicated providers, which could further include decomposition and subtasks assignment. ? Result synthesis: includes passing the results from different providers to the corresponding provider (usually who initiates the negotiation). The corresponding provider then composes the results and passes it to the user. # V. Simulation Results and Evaluation We conduct our simulations according to the resource configuration presented in Table 1. Column 1 of Table 1 represents different parameters that a user and a provider use to set their agents. In our simulation environment, one can accommodate a large number of users as well as providers. To set this large number of users and providers with different requests and offers, we use ranges of values so that each participant can select a value from its respective range. All users' requests are set using the Column 2 ranges and all providers' offers are set using the Column 3 ranges automatically. Since, the provider agents do not change their resource prices over iterations; we use only a single range to define a resource unit price. The first range [1][2][3][4][5] is used to refer to the price for 1 GB storage and the second range [10][11][12][13][14][15][16][17][18][19][20] is used to refer to the price for the processor of 1 MIPS (Million Instructions Per Second) capacity. The deadline parameter might not be consistent in case of simulation and so we are not using time parameter to pricing resource cost (e.g. $3/MIPS/hour). In addition, we assume concurrent arrival of different requests and offers. # Table 1: Resource configuration a) Evaluation criteria In the Netlogo framework, three different results can be obtained based on the interaction of A u (useragent) and A p (provider-agent). The first result describes the job rejection rate for an A p . Job rejection occurs due to scenarios such as disagreement of resource prices or unavailability of resources. This rate is calculated using two parameters -the total number of rejected jobs (J rejected and the total number of requested jobs (J requested ). The job rejection rate is assumed to range from 0 to 1. The job rejection rate, R rate , is given by: We conduct our experiment with 5000 users and 250 providers and results are compared between group-based iCNP and traditional iCNP. The traditional approach is, using iCNP without applying our groupbased strategies. At first, we compare these two approaches in terms of job rejection rate. Job rejected rate is plotted in terms of a number of interactions between users and providers (requests). Figure 3 demonstrates the job rejection rate patterns between the two approaches. The horizontal axis describes the number of interactions between users and providers and the vertical axis shows the rate. The number of interactions is more than the total number of the user, since the protocol is iterative, which allows failed users re-interact to providers. # Fig. 3: Job rejection rate comparison However, in terms of a number of interactions, our group-based approach outperforms than the traditional one, since a high number of interactions would require high communication process, which degrades system performance and keep failed users waiting for the following rounds. Our group-based optimization strategy helps to minimize the number of interactions by switching to appropriate groups based on users' optimizations. Even though the traditional approach uses optimization policy, because of not using characterizing jobs and grouping strategy, any provider can receive any job, which minimizes the probability to meet a job requirement by a single provider. The parallel trend of a particular rejection rate with the horizontal axis refers to accepting jobs and keeps the rejection rate constant. For the group-based approach, initially, the rejection rate fluctuates to 0.5. This happens due to rejecting a few jobs in the beginning. Then it abruptly goes down due to starting accepting jobs and almost keeps constant. At the end, some jobs are rejected. This might occur due to unavailable resources or the users reach their maximum budgets without getting their SLAs established. The second result demonstrates the total revenue earned by a provider or a group. It sums only the prices of the accepted jobs. Hence, the total revenue, Erev, is: Where l denotes the executed job number, j denotes a total number of executed jobs and M i defines agreed price (between a user and a provider) for the l th executed job. For revenue as well group-based approach performs better than the traditional (Figure 4). The variation in a number of interactions can be explained in a similar way as aforementioned. For revenue, it is an upward trend except while rejecting jobs. During rejection the trend keeps constant. For group-based approach, the trend is almost straight, which means jobs are accepted smoothly without many iterations. On the other hand, the trend for traditional approach starts off increasing (accepting jobs) smoothly, then after 5000 interactions (i.e. first round finished by dealing with 5000 users), it stops moving up (rejecting jobs) and gradually going up through a couple of iterations. In the end, for both cases system receives no revenue. The third output illustrates how the resources on provider side are utilized. In this paper, we consider the utilization of storage and CPU. The percentage of utilization, ?? ?? for a resource of type m by a provider A p can be calculated by using the following formula: For resource utilization, we obtain similar patterns for both disk space and processors. Hence, we explain the utilization for disk space only (Figure 5). The simulation pattern illustrates the utilization pattern for 250 providers (along x-axis). Unlikely in the group-based approach, traditional approach does not share resources between providers. Hence, a chance to utilize more resources by a single provider decreases. For example, if a provider is unable to fulfill a user's requirements, the provider has to reject the job, since the provider does not support sharing resources with other providers. On the other hand, in our group-based approach, even if a provider is unable to fulfill a user's requirements, the provider still can communicate with Year 2 018 # ( ) E © 2018 Global Journals 1 Example 1: Resource Optimization. Figure 6 shows the throughput of provider-provider negotiation within group-4 to optimize storage. Due to unavailable resources, user 247 is migrated from group-2 to group-4. 40% of the user's storage demand is met by provider-6 and rest 60% is shared by provider-8. Provider-4 is the group-4 correspondent here. Example 2: Budget Optimization. Figure 7 presents the budget optimization process within group-3. Though provider-4 and provider-6, both accept user 204's cfp, user 204 awarded provider-6, since provider-6's asking bid was less than that of provider-4. Please note that provider-6 is appeared in both groups, this is because of taking the two shots from different simulations. In practically, one provider cannot exist within different groups. The illustrations presented in this paper with the resource configuration in a way such that "supply is equal to demand". However, we conduct simulations with such other scenarios, which are "supply is greater than demand" and "supply is less than demand". Table 2: Scenario based comparison between group-based federated grid (GFD) and traditional grid (TG) For all three cases, we use the resource configuration according to Table 1. Table 2 demonstrates that our group-based approach outperforms in most cases than the traditional approach. The group-based approach consumes less simulation time, produce less number of iterations, and even rejects fewer jobs in all three scenarios except when supply is greater than demand. Due to more supply compared to demand, the chance of accepting jobs by traditional provider increases. other providers within the group and share resources. Hence, the chance of accepting jobs and thus utilization resources increases. For group-based approach, most of the providers achieve maximum utilization (100%) and a few of them are unable to utilize any resources. Typically, these providers are dedicated to optimize budget constraint by users and propose highest resource cost. Hence, it becomes hard to optimize budget by these providers and could not able to utilize any resources. However, the traditional grid providers could contribute their resources in a group-based federated grid, since the chance of utilizing maximum resources is higher in the group-based system than the traditional one. For the traditional approach, the trend is scatted across the figure, which implies the adoption of no optimization strategy. Year 2 018 ( ) E © 2018 Global Journals VI. Conclusions and Future Work The vision of grid computing is to collaborating computer resources that are distributed. However, due to the dynamic nature and heterogeneity of these resources, seamless collaboration is hindered. Agents are well known for collaborating distributed resources due to their autonomous and proactive nature in building decisions without human intervention. In this paper, we proposed an agent-based Iterated Contractnet-protocol to deal with users' QoS and providers satisfactions. We characterize users in terms of their preferences and switch them to the groups accordingly. A grouping strategy has been proposed for the federated grid, where grouping formed in terms of providers' availability and users' preferences. Our strategy enabled users to receive a stronger QoS without letting them waiting much. The less number of iterations and thus the less time consumption while negotiating between users and providers provided the justification of our approach. The adoption of such a group-based approach would produce less communication delay while dealing with thousands of users as well as providers. In addition, this would minimize execution uncertainty while ensuring better payoff and resource utilization by providers. In future, we would like to conduct our experiments in real grid scenarios such as Globus, Nimrod in order to test the real-time adaptability and feasibility of our work. Future work would also extend the characteristic functions to distinguish between users in order to maximize the number of delivering required QoSs. We further would like to experience the agent behavior in terms of dealing with distributed environment and adapting accordingly. 1![Fig. 1: An overview of our proposed group-based federated grid](image-2.png "PFig. 1 :") 2![Fig. 2: FIFA Iterated Contract Net Protocol a) Economic modelWe implemented FIFA conformant iCNP (Iterated Contract Net Protocol) which is an extension of the basic CNP, but it differs by allowing multi-round iterative bidding[16]. iCNP supports optimizing a particular user's request by negotiating distributed providers. In such a model (Figure2) a user is called a manager who issues an initial cfp. Providers are known as contractors, who then response with their bids and the manager may then accept one or more of the bids, the others, or may iterate the process by issuing a revised cfp. However, the number of iterations can be based on a time period or potential users (who can still maximize their budgets) and providers (who can still serve at least one standard user). We consider that the iteration continues until there are a potential user and a potential group. Though using our approach seems to increase number of iterations and thus communication overhead, the approach is more consistent in grid perspective and using our grouping strategy, number of iterations could be decreased. In our case, a group G receives a cfp via the traffic-agent (A t ) with the guarantee that the group G receives the correct cfp. However, evaluating a particular cfp would be different, if a particular group G receives the cfp from another group G (migration) rather than the traffic-agent (A t ).](image-3.png "Fig. 2 :") 1![?(? ?? ) = ? ??? ? × ? ? (? ? )](image-4.png "( 1 )") 453![Fig. 4: Total revenue comparison](image-5.png "Fig. 4 :Fig. 5 : 3 )") 1.1PROCEDURE: ITERATED_CONTRACT_NET_PROTOCOL1.2begin1.3set job-settled false1.4set continue-iteration true1.5set number-of-iterations 11.6begin1.7SUB-PROCEDURE: RECEIVE_cfpus1.8evaluate cfpus by At1.9call appropriate groups Gs1.10end1.11beginYear 2 0181.12 1.13 1.14 1.15 1.16SUB-PROCEDURE: INTERACT_GROUP while (continue-iteration = true) [ foreach cfp-list begin SUB-PROCEDURE: EVALUATE_ cfp_BY_G1.17if (job-settled = true)1.18[Remove the cfp from cfp-list]1.19end1.20else Don't remove the cfp from cfp-list1.21call the corresponding Au for revising cfp1.22end1.23end1.24increment of number-of-iterations by 11.25begin1.26SUB-PROCEDURE: EVALUATE_POTENTIAL_GROUP1.27if (length of potential-group = 0 or length of cfp-list = 0)1.28[set continue-iteration false]1.29end1.30end1.31])1.32endE1.33 end(© 2018 Global Journals 1 User/provider-level parameterUser-level-rangeProvider-level-rangeStorage/diskspace (GB)200-6006000-10000Number of CPUs (MIPS per CPU)10-30800-850Minimum Budget/demand ($)500-10001-5 (/GB), 10-20 (/MIPS)Maximum Budge($)4000-5000Not ConsideredYear 2 018? ???? ==? ???????? ? ?????????(2))Group-based approachTraditional approach( E0.8Rejection rate0.2 0.4 0.60020004000600080001000012000© 2018 Global Journals * Resource allocation in grid computing: an economic model CMassimiliano GStefano J. WSEAS Trans. Comp 3 2008 * An auction method for resource allocation in computational grids HIzakian AAbraham BTLadani Future Generation Computer Systems 26 2009 * Services selection based on commodity-market in grid workflow W.-CNi L.-CLiu CWu Journal of Computer Applications 27 2007 * Optimizing decentralized grid markets through group selection CIsaac SRamon AOscar JLiviu FROmer Int. J. Web Grid Serv 4 2009 * An economic model for resource management in a Grid-based content distribution network ADiStefano CSantoro Future Generation Computer Systems 24 2008 * The grid blueprint for a future computing infrastructure AFoster CKesselman 1999 Morgan Kaufmann * Resource Selection in Grids Using Contract Net GKunal GArobinda Proceedings of the 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing the 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing IEEE Computer Society 2008. 2008 * Sla-based cooperative super scheduling algorithms for computational grids RRajiv HAaron BRajkumar J. ACM Transaction of Autonomous and Adaptive System 2008 * Ant Colony Algorithm for Job Scheduling in Grid Computing KRKu-Mahamud HJ ANasir 10.1109/AMS.2010.21 Fourth Asia International Conference on Mathematical/Analytical Modelling and Computer Simulation Kota Kinabalu, Malaysia 2010. 2010 * An Improved Ant Algorithm for Grid Task Scheduling Strategy LaizhiWei XiaobinZhang YunLi YujieLi International Conference on 2012 24 * Costbased Job grouping and Scheduling Algorithm for Grid Computing Environments SonalYadav AmitAgarwal RaviRastogi International Journal of Computer Applications 91 15 April 2014 * Grouping Based Job Scheduling Algorithm Using Priority Queue and Hybrid Algorithm in Grid Computing PinkyRosemarry RavinderSingh PayalSinghal DilipSisodia International Journal of Grid Computing & Applications (IJGCA) 3 4 December 2012 * Simulating intelligent routing in flexible manufacturing systems using NetLogo YSallez TBerger CTahon IEEE International Conference on Industrial Technology 2004 * An agent-based computational study of wealth distribution in function of resource growth interval using NetLogo R.-CDamaceanu Applied Mathematics, and Computation 201 2008 * Experiences creating three implementations of the repast agent modeling toolkit JNMichael TCNicholson RVJerry ACM Trans. Model. Comput. Simul 16 2006 * Foundation for Intelligent Physical Agents 2000