Evolutionary market agents and heterogeneous service providers: Achieving desired resource allocations

Evolutionary Market Agents and Heterogeneous Service Providers: Achieving Desired Resource Allocations Peter R. Lewis, Paul Marrow and Xin Yao load-balancing mechanisms have been proposed (e.g. [6]), these rely upon cooperation between nodes within the system; something which we may not be able to assume. In previous work [7], we proposed an evolutionary, market-based approach to achieve even load-balancing between service providing nodes in a fully decentralised system without the presence of cooperation. Our approach, which makes use of an artificially created market for the resource, relies purely upon self-interest, and no individual node has any desire in favour of a load-balanced outcome. In our approach, service providing nodes quote prices for equivalent resources and service users select from whom to purchase the desired resource. Evolutionary market agents, acting on behalf of service providing nodes, evolve the price quoted by their respective seller over time. The payoff from the live market is used as the fitness function for each seller’s evolutionary algorithm. However, the approach described in [7] considers that all service providing nodes have an equivalent ability to provide the resource. In many real-world scenarios this will not be the case. For example, one node may be able to perform twice as much work as another. In this kind of scenario, with heterogeneous service provider abilities, the approach in [7] is not able to take account of these factors. Its use will result in an even resource allocation between the service providing nodes, regardless of their abilities. This is therefore likely to be an inefficient outcome. In this paper we extend the approach in order to take advantage of this information in providing an appropriate, desired outcome allocation. Our approach falls into the broad category of market-based control, a methodology which has been applied to the allocation of resources in various real-world scenarios. Clearwater provides a useful introduction to the use of computational markets in scenarios such as bandwidth allocation and airconditioning control [3], and a useful review may be found in [8]. Cliff and Bruten [8] note that a large proportion of marketbased control systems, however, either rely on a central auctioneer, or require human intervention. Therefore, though much of the computation is done by individual agents and is distributed, these systems are often not decentralised. They argue that this leads to a brittleness of the system. A number of distributed auction mechanisms have also been proposed [9], [10], [11], [12], which reduce the fragility associated with reliance upon a single node, provide more scalability and allow for dynamic composition of auctions. However, similarly to the vulnerabilities of the Internet’s 904 Abstract—In future massively distributed service-based computational systems, resources will span many locations, organisations and platforms. In such systems, the ability to allocate resources in a desired configuration, in a scalable and robust manner, will be essential. We build upon a previous evolutionary market-based approach to achieving resource allocation in decentralised systems, by considering heterogeneous providers. In such scenarios, providers may be said to value their resources differently. We demonstrate how, given such valuations, the outcome allocation may be predicted. Furthermore, we describe how the approach may be used to achieve a stable, uneven load-balance of our choosing. We analyse the system’s expected behaviour, and validate our predictions in simulation. Our approach is fully decentralised; no part of the system is weaker than any other. No cooperation between nodes is assumed; only self-interest is relied upon. A particular desired allocation is achieved transparently to users, as no modification to the buyers is required. I. I NTRODUCTION Future massively distributed service-based computational systems will allow computational resources to span many locations, organisations and platforms, connected through the Internet [1]. There is a need to find novel ways to understand and autonomically allocate, manage and control resources in these large, decentralised and dynamic systems [2]. Building on the simple idea of bilateral exchange in human society, markets may be used as a mechanism with which to control and allocate resources [3] in such complex computational systems. From an engineering perspective, any resource allocation problem will have an objective; a desired allocation or outcome. A common example of this is load-balancing, where it is desired that the task of providing a resource be shared evenly between a group of providing nodes. More complex objectives involve stable, uneven load-balances, where the resource allocation takes account of other factors. Such factors might include users’ preferences over quality of service issues, underlying costs to the service provider, or differences in the ability of nodes to provide an equivalent resource. This paper proposes an approach to deal with the latter of these cases. Classically, resource allocation objectives are achieved in a centralised manner, often relying on a single node responsible for load-balancing [4], [5]. Scalability, however, is a critical factor in load-balancing systems, and though decentralised Peter R. Lewis and Xin Yao are with the School of Computer Science at the University of Birmingham, UK (email: p.r.lewis@cs.bham.ac.uk, x.yao@cs.bham.ac.uk). Paul Marrow is with BT Innovate, Adastral Park, Ipswich, UK (email: paul.marrow@bt.com). 978-1-4244-2959-2/09/$25.00 c 2009 IEEE Authorized licensed use limited to: UNIVERSITY OF BIRMINGHAM. Downloaded on June 11, 2009 at 13:30 from IEEE Xplore. Restrictions apply. domain name system [13], failure at certain points in the network may well cripple wider functionality, at best. Kuwabara et al. [14] propose what we believe to be the most decentralised market-based approach to the allocation of resources. Here, no auctioneer, specialist or market-maker is used; prices are set solely by the sellers and advertised via a broadcast mechanism. Rational buyers then decide the quantity to purchase from each seller, in order to maximise their payoff. However, unlike our sellers’ strategies, those used used by Kuwabara et al. are not driven by self-interest. Non-market-based approaches to the problem of decentralised resource allocation in the presence of heterogeneous service providing nodes also exist in the specific domain of downloading replicated files. Dynamic parallel access schemes [15], [16] make use of client self-interest in a similarly decentralised way to increase the speed of file downloads. Our approach has some similarities with this mechanism, though is more generic and hence applicable to services other than the downloading of files. A. Problem Formulation We consider a scenario consisting of a set of service providing nodes, S, each member of which provides an equivalent, quantitatively divisible service, the resource π, which may vary only in price. We assume that the members of S cannot be relied upon to cooperate. We then imagine a large population of service users or buyers, B, each member of which aims to consume some of the resource π, at regular intervals. In previous work [7], our objective was to balance the load evenly, such that all the service providers in S provide an equal amount of π across the population of service users. In this paper however, we wish to predict what outcome resource allocations will be reached, given heterogeneous seller valuations. Furthermore, we wish to understand how the approach may be extended in order to achieve a stable, uneven load-balance of our choosing. This is indeed a trivial problem when cooperation may be assumed, however we wish to achieve this using self-interest, in a fully decentralised system. Additionally, the possibility of complex buyer decision functions means that there may not be a straightforward mapping between valuations and outcome allocation. At a given instant, a service provider, si ∈ S, advertises π at the price pπi per unit. Each service user, a buyer in s this case, then purchases some of the resource π, should it be in their interest to do so at the price offered. The system iterates, with service providers able to adapt their prices to the market conditions over time. The actual provision of π may be regarded as instantaneous, such that it does not interfere with this mechanism. For simplicity at this stage, we assume that the system proceeds in discrete time-steps, that each buyer bj ∈ B desires exactly one unit of π per time-step, and that each and every si ∈ S has sufficient quantity of π available to satisfy all the buyers in B should it be so requested. This final assumption is commonplace in the provision of informationbased services and is present in other related work such as [14]. We do not believe that it alters the underlying behaviour being demonstrated. Each time-step, each buyer, if it chooses to buy, may purchase any amount of π from any number of service providers in S, subject to the constraint that the total amount purchased per time-step is equal to exactly one unit. If no offer from any si ∈ S is in its interest, the buyer will instead opt to purchase nothing. We therefore define qij to be the instantaneous quantity bought by buyer bj from seller si . |S| The constraints mean therefore that i=1 qij ∈ {0, 1} for all bj ∈ B. The quantity of π sold by a given seller si at a given time-step, its load, lsi , is therefore: |B| lsi = j=1 qij . (1) We may therefore describe outcome resource allocations in terms of lsi for si ∈ S. B. Evolutionary Market Agents Competition between sellers is driven by the co-evolution of their respective evolutionary market agents; their evolutionary fitness being analogous to their payoff from interactions in the market, Psi for seller si ∈ S. An evolutionary market agent, operating on behalf of a particular service providing node, has the self-interested objective of maximising its fitness and hence payoff. Using evolutionary computation techniques, the agent evolves the market position of its host over time. As in our previous work [7], in this model a market position consists simply of price. Therefore each individual represents a real-valued price. For each interaction in the market, the price encoded by an individual is adopted, and the resulting payoff provides its fitness. The evolutionary algorithm for seller si ’s agent proceeds as follows: 1) Decide upon the design parameters to be used: initial price range [pmin , pmax ], population size and mutation factor, α. In the simulations described, pmin = 0, and pmax = 500. A population size of 10 was used, with a mutation factor, α = 0.1. 2) Generate an initial population, P op, and set k = 1. Each individual in P op is a real value, drawn from the uniform random distribution [pmin , pmax ]. 3) Initial fitness testing a) Set the seller’s offer to the value of the first individual in P op, and enter the market for one market time-step. Record the seller’s payoff, Psi as that individual’s fitness. b) Repeat for the next individual in P op, until all initial individuals have been evaluated in the market. 2009 IEEE Congress on Evolutionary Computation (CEC 2009) 905 Authorized licensed use limited to: UNIVERSITY OF BIRMINGHAM. Downloaded on June 11, 2009 at 13:30 from IEEE Xplore. Restrictions apply. 4) Probabilistic tournament selection a) Select four individuals, x1 , x2 , x3 and x4 from P op, at random, such that x1 = x2 = x3 = x4 . b) Let champion c1 be either x1 or x2 , the fitness of whichever is greater with probability 0.9, the fitness of whichever is less otherwise. c) Let champion c2 be either x3 or x4 , the fitness of whichever is greater with probability 0.9, the fitness of whichever is less otherwise. 5) Let the offspring, o, be a new individual with its price equal to the mid-point of c1 and c2 . 6) Mutate o, by perturbing its value by a random number drawn from a normal distribution with mean zero and standard deviation α. 7) Select the individual in {x1 , x2 , x3 , x4 } with the lowest fitness value, remove it from P op, and insert o into P op. 8) Set the seller’s offer to the value encoded in o, and enter the market for one market time-step. Record the seller’s payoff, Psi as o’s fitness. 9) Repeat from step 4. II. H ETEROGENEOUS S ERVICE P ROVIDING N ODES In the original model, the assumptions were that all service providing nodes have an equal ability to provide the service, and that we wish to load-balance the usage equally across them [7]. In realistic deployments however, it is unlikely that this will be the case. Leaving aside any consideration of differences in the overall capacity of service providing nodes - that is to say the total amount of π which a single node may provide at a given time - here we consider a heterogeneity of the ability of nodes in the population to provide the resource. One node, for example, may be able to perform twice as much work as another, perhaps delivering the resource faster. Such heterogeneities of service providing nodes’ abilities may be represented by selling agent firstly taking account of a notion of the cost of provision of the resource, π, and hence different relative valuations of π when compared with the notion of money. This valuation may be built in to our existing model by modifying the payoff function of the selling agents to take account of the cost of provision, and a preference weight on the price. In the original model, seller si ’s utility gain, or payoff, Psi , was equivalent to its revenue, Rsi , given by |B| Let us explore this by means of the above two-node example. For the spread buyers used in [7], the quantity of π purchased by buyer bj from seller si , qij = π π (vbj − pπ1 ) + (vbj − ps2 π) s π (vbj − pπ1 ) s , (4) π where vbj is the valuation, and hence maximum price payable by each buyer. For a population of spread buyers, the payoff functions (equation 3) for s1 and s2 are therefore |B| π vbj − pπ1 s Ps1 = j=1 π π (vbj − pπ1 ) + (vbj − pπ2 ) s s (ws1 pπ1 − cπ1 ) , (5) s s and |B| Ps 2 = j=1 π π (vbj − pπ2 ) + (vbj − pπ1 ) s s π vbj − pπ2 s (ws2 pπ2 − cπ2 ) , (6) s s Sellers s1 and s2 will then attempt to maximise their respective payoff function as before. The outcome resource allocation occurs when the system is at equilibrium. In our example, if s1 represents a node able to perform twice as much work as s2 , then we might say that ws1 = 1.0 and ws2 = 0.5, since s2 values its work twice as much, when compared to money. For the purposes of the example, we initially assume that both sellers bear a fixed cost; cπ1 = s π cπ2 = 100, and that vbj = 300, to give us a reasonable range s of prices. Using an iterative procedure, we calculate that the system described is at equilibrium when pπ1 = 243.1 and s pπ2 = 262.4. At this point, neither s1 nor s2 may increase its s respective payoff by unilaterally choosing a different price. The allocation at these prices, therefore, is our expected outcome allocation. This may be calculated for each service provider by substituting equation 4 into equation 1: |B| ls i = j=1 π π (vbj − pπ1 ) + (vbj − pπ2 ) s s π (vbj − pπ1 ) s . (7) Solving this using the sellers’ weights, our determined equilibrium price values, and assumed costs in the example, ls1 = 0.6 × |B| , and ls2 = 0.4 × |B| . In other words, we can expect s1 to take 60% of the load, and s2 to take 40%, given the above valuations and costs. This result may be validated in simulation. Figure 1 shows the normalised outcome loads for the two-node scenario with parameters as described above. The predicted allocation is quickly achieved, and remains stable. The above approach may be generalised to other buyer behaviours, such as those found in [17], by replacing equation 4 with one which captures the appropriate buyer behaviour. Psi = R si = j=1 pπi qij . s (2) Introducing a node’s cost of providing π, cπi , and taking s account of a utility preference weight, wsi , we may instead propose that si ’s payoff, |B| Psi = j=1 qij (wsi pπi − cπi ) . s s (3) 906 2009 IEEE Congress on Evolutionary Computation (CEC 2009) Authorized licensed use limited to: UNIVERSITY OF BIRMINGHAM. Downloaded on June 11, 2009 at 13:30 from IEEE Xplore. Restrictions apply. 1 s1 s2 Now, given the buyer decision function for spread buyers (from equation 4 above), we also know that we want π π (vbj − pπ1 ) + (vbj − pπ2 ) s s π (vbj − pπ1 ) s 0.8 Normalised Load = 0.5 , 0.6 0.4 π which when solved for a given vbj , 300 in the example above, gives 0.2 pπ1 = pπ2 . s s In other words, an even load-balance will be the outcome allocation when both sellers quote the same price for π at equilibrium, as we already know. We also know from previous work [7] that this equilibrium may be achieved with zero cost values, cπi and when ws1 = ws2 = 1. s B. A More Complex Example Now let us consider a more complex desired outcome allocation; ls1 = 2 × |B|, ls2 = 1 × |B|. We wish for s1 to 3 3 provide twice the load as s2 . Following the method above, for a given homogeneous π buyer valuation, vbj , we may calculate the required relationship between pπ1 and pπ2 at equilibrium to achieve our s s desired outcome: π (vbj π − pπ1 ) + (vbj − pπ2 ) s s π (vbj − pπ1 ) s 0 0 100 200 300 400 500 600 700 800 900 1000 Iteration Fig. 1. Evolution of the loads on s1 and s2 , where ws1 = 1.0 and ws2 = 0.5. The service providers converge to loads of 0.6 and 0.4 respectively. Mean and standard deviation over 30 independent runs. We have, therefore, a method for predicting the expected outcome resource allocation, given the service providers’ costs and valuations, and known buyer behaviour. Furthermore, we are able to validate these predictions in simulation. III. ACHIEVING D ESIRED O UTCOME A LLOCATIONS The ability to predict an outcome allocation, the allocation at equilibrium, is in itself useful. However, in resource allocation tasks, we often have a particular objective in mind. Can we determine, therefore, what seller valuation and cost values should be used in order for the system to evolve to a particular desired outcome? Let us explore this also by means of some examples; firstly a trivial one, and then a more complex objective. A. A Trivial Example Suppose initially that we wish in fact to achieve an even load-balance between two providers, equivalent to the original model in [7]. In this instance, we wish for the following outcome: ls1 = ls2 = 0.5 × |B| . Since the population of buyers is homogeneous, for each seller, si ∈ S it must be that B j=1 qij = 2 , 3 which simplifies to . (8) 2 In order to achieve our desired outcome allocation, the prices pπ1 and pπ2 at equilibrium, must conform to this s s relationship. The question then arises of what valuation and cost values, cπ1 , cπ2 , ws1 and ws2 , can be chosen in order to satisfy this s s constraint. In order to begin to answer this, we firstly take a look at how the equilibrium prices vary with respect to the differences in seller valuations. Figure 2 shows two distinct regions within the space of heterogeneous seller valuations. Firstly, we note the region when ws2 < 1 , where s2 has no equilibrium 3 price. This may be explained as follows. Since Psi = |B| |B| π π j=1 qij (wsi psi − csi ), and lsi = j=1 qij , in order to achieve any positive load lsi , with a non-negative payoff Psi , it follows that we must have wsi ≥ cπi s . pπi s (9) pπ2 = s π vbj + pπ1 s |B| = qik , ∀bk ∈ B , where qik is the quantity of π bought by buyer bk from seller si . Clearly therefore, lsi = 0.5 × |B| if and only if qij = 0.5, for any and all bj ∈ B. Hence we now know that the payoff functions for s1 and s2 will be as follows: Ps1 = Ps2 |B| × (ws1 pπ1 − cπ1 ) s s 2 |B| × (ws2 pπ2 − cπ2 ) s s = 2 Now, the maximum possible price pπi which would lead to s any transaction occurring will be the buyers’ reserve price, π or valuation, vbj , which given homogeneous buyers is, as we have already seen, the same for all bj ∈ B. Since, given a fixed cost cπi , this is the price which places a lower s bound on the constraint on wsi , it follows that there exists no price for which the seller si has a non-negative payoff when 2009 IEEE Congress on Evolutionary Computation (CEC 2009) 907 Authorized licensed use limited to: UNIVERSITY OF BIRMINGHAM. Downloaded on June 11, 2009 at 13:30 from IEEE Xplore. Restrictions apply. 320 ps ps1 2 1 s1 s2 300 Equilibrium Price Normalised Load 0 0.2 0.4 ws 2 0.8 280 0.6 260 0.4 240 0.2 220 0.6 0.8 1 0 0 100 200 300 400 500 600 700 800 900 1000 Iteration Fig. 2. Predicted equilibrium prices with respect to seller valuations. ws1 = 1.0, ws2 varies along the x axis. Fig. 3. Evolution of the loads on s1 and s2 , where ws1 = 1.0 and ws2 = 0.42105. The service providers converge to loads of 2 and 1 3 3 respectively. Mean and standard deviation over 30 independent runs. wsi < 1 3. cπ si π vb . In the example illustrated above, this is indeed j IV. F URTHER S IMULATION R ESULTS We have already seen how the equilibrium prices vary with respect to differences in seller valuations (see figure 2 above). But how does this translate into outcome resource allocations? Figure 4 illustrates the example scenario’s corresponding predicted outcome loads between s1 and s2 , normalised by the size of the buyer population. ls ls1 2 Normalised Load at Equilibrium Below this weight value, no transactions will take place, since they would require either buyer or seller to accept a negative payoff. However, given that s2 is unable to trade when wsi < 1 in 3 the above example, in this region s1 exists in monopoly. As we would expect, it is therefore able to charge the maximum π acceptable price for the buyers, (i.e. pπ1 = vbj ) and be s confident of securing a normalised load of 1. In the competitive region of the weight-space however, the equilibrium prices follow a more complex pattern. Recall that in order to achieve our desired resource allocation, we require a ratio between the sellers’ prices as described in equation 8. π In our example, when vbj = 300 , ∀bj ∈ B, we require that pπ1 s . 2 In our example, this occurs when ws1 = 1.0 and ws2 = 0.42105. Therefore, by fixing values for cπ1 and cπ2 , we have s s identified weight values which we predict will achieve our desired outcome allocation of ls1 = 2 × |B|, ls2 = 1 × |B|. 3 3 We now validate this prediction in simulation. Figure 3 shows the evolution of the load on each service providing node over time, where ws1 = 1.0 and ws2 = 0.42105 for 30 independent runs; mean and standard deviation are shown. The system achieves the desired allocation, where s1 is providing twice the level of load as s2 , and clearly, as with the original results in [7], a rough approximation to the predicted outcome is achieved quickly, while the final allocation remains stable. We are, therefore, able to predict the outcome resource allocation for given sets of buyers and sellers, or conversely to parameterise them in order to achieve a desired outcome. Sellers taking account of the cost of provision, and their valuation of money when compared with this cost, leads to a load-balance which reflects the varied ability of service providers. This is achieved transparently, from the buyers’ perspective. pπ2 = 150 + s 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 ws 2 0.6 0.8 1 Fig. 4. Predicted outcome loads with respect to seller valuations. ws1 = 1.0, ws2 varies along the x axis. Here, the monopolistic region is clearly visible, when ws2 < 1 , as ls1 = 1 and ls2 = 0. The relationship between 3 the valuation differences and the outcome allocation in the competitive region is, however, more complex. This is due to the non-linearity of the spread buyer decision function being employed here, and the shape of the curves in this region are dependent upon this behaviour. We now validate this prediction, as before, in simulation. Figure 5 shows experimental results compared with the predictions in figure 4. Mean and standard deviation results are shown, in each case at the allocation reached after 1000 iterations. 908 2009 IEEE Congress on Evolutionary Computation (CEC 2009) Authorized licensed use limited to: UNIVERSITY OF BIRMINGHAM. Downloaded on June 11, 2009 at 13:30 from IEEE Xplore. Restrictions apply. Normalised Load at Equilibrium 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 ws 2 ls predicted 1 ls experimental 1 ls predicted 2 ls experimental 2 maximum acceptable price. When it does so, no transactions occur, as the seller, s1 in this case, has priced itself out of the market. The result is temporarily a load - and payoff of zero. Of course, this individual will quickly be selected out, and the price will return to a lower value, however, the presence of this step function in the fitness landscape of the evolutionary market agent means that this behaviour will continue. Nevertheless, this is not of great concern, since the price’s proximity to the step in the fitness landscape only occurs in monopoly, and will not affect regular operation of the algorithm. 1 0.6 0.8 V. C ONCLUSIONS AND F UTURE W ORK Here we have considered decentralised resource allocation in the presence of service providing nodes with heterogeneous abilities; the amount of work a node is able to perform. In this scenario, service providing nodes may be said to value their resources differently, when compared with a common notion of money. We described how the market-based approach in [7] may be extended and generalised in order to take account of these concepts. We demonstrated how this heterogeneity of seller valuations leads to a stable and uneven outcome loadbalance. This is achieved despite a lack of any central control or cooperation between nodes; only self-interest is relied upon. However, the possibility of complex buyer decision functions means that there may not be a straightforward mapping between valuations and outcome allocation. We therefore provided a method for its prediction and validated our predictions in simulation. Further to this, we described how a desired outcome resource allocation of our choosing may be reached, by determining suitable valuations for the service providing nodes, given the buyers’ decision functions. The achievement of a desired, uneven load-balance is achieved transparently to service users, as no modification to the buyers’ behaviour is required. Our future work will consider the results obtained here in the presence of larger numbers of service providing nodes, though our intuition suggests that this will involve a straightforward scaling up of the method presented in this paper. We also aim to be able to quantify how quickly the desired allocation is reached, especially in the presence of more dynamic environments. Finally, market-based control has been applied to a variety of different real-world scenarios [3], many of which are not concerned with purely computational resources, such as air-conditioning control and transport logistics [18]. We believe that our approach will be equally applicable in such scenarios, where the characteristics of self-interest and decentralisation apply. Fig. 5. Predicted and experimental outcome loads with respect to seller valuations. ws1 = 1.0, ws2 varies along the x axis. Experimental results are mean and standard deviation over 30 independent runs. Firstly, we note that in the competitive region of the valuation space, our experiments follow the predicted outcome loads to a high degree of accuracy. The stochastic nature of the evolutionary market agents’ algorithms ensures that there remains some variation at equilibrium, due to ongoing mutation. During the monopolistic phase however, when ws2 < 1 , 3 we note not only that the experimental result for ls1 only loosely follows its predicted path, but also that there is a high standard deviation between the simulation runs. However, further observation reveals that for the experimental results in this region, ls1 + ls2 is often less than 1, meaning that the users’ desired load is not being met in all cases. This is in fact also due to ongoing mutation in the s1 ’s population at equilibrium. 300.3 Buyers’ Valuation Seller’s Price Load 1 0 300.1 Price Load 300 299.9 299.8 990 991 992 993 994 995 996 997 998 999 Iteration 300.2 Fig. 6. Resource allocation in a monopoly. Mutation of the seller’s price about the buyers’ valuation leads to instability. Results from a typical run when ws1 = 1.0 and ws2 = 0.1. The results in figure 6, from a typical run when ws1 = 1.0 and ws2 = 0.1, illustrate this effect. As the price mutates, there is a probability that it will increase above the buyers’ 2009 IEEE Congress on Evolutionary Computation (CEC 2009) 909 Authorized licensed use limited to: UNIVERSITY OF BIRMINGHAM. Downloaded on June 11, 2009 at 13:30 from IEEE Xplore. Restrictions apply. ACKNOWLEDGEMENTS This work was partially supported by an UK EPSRC/BT CASE project on ”Autonomic Solutions for Virtualised ICT Systems” and an EPSRC grant (No. GR/T10671/01) on ”Market-Based Control of Complex Computational Systems”. R EFERENCES [1] M. P. Singh and M. N. Huhns, Service-Oriented Computing: Semantics, Processes, Agents. Chichester, West Sussex: John Wiley and Sons, 2005. [2] M. P. Papazoglou, P. Traverso, S. Dustdar, and F. Leymann, “Serviceoriented computing: Research roadmap,” 2006. [3] S. H. Clearwater, Ed., Market-Based Control: A Paradigm for Distributed Resource Allocation. Singapore: World Scientific, 1996. [4] V. Cardellini, M. Colajanni, and P. S. Yu, “Dynamic load balancing on web server systems,” IEEE Internet Computing, vol. 3, no. 3, pp. 28–39, 1999. [5] E. A. Brewer, “Lessons from Giant-Scale Services,” IEEE Internet Computing, vol. 5, no. 4, pp. 46–55, 2001. [6] R. Alfano and G. D. Caprio, “Turbo: an autonomous execution environment with scalability and load balancing features,” in Proceedings of the IEEE Workshop on Distributed Intelligent Systems: Collective Intelligence and its Applications (DIS06), 2006, pp. 377–382. [7] P. R. Lewis, P. Marrow, and X. Yao, “Evolutionary market agents for resource allocation in decentralised systems,” in Parallel Problem Solving From Nature - PPSN X, ser. Lecture Notes in Computer Science, vol. 5199. Springer, 2008, pp. 1071–1080. [8] D. Cliff and J. Bruten, “Simple bargaining agents for decentralized market-based control,” HP Laboratories, Bristol, UK, Tech. Rep. HPL98-17, 1998. [9] M. Esteva and J. Padget, “Auctions without auctioneers: Distributed auction protocols,” in Lecture Notes in Artificial Intelligence. Berlin, Germany: Springer-Verlag, 2000, vol. 1788, ch. Agent-mediated Electronic Commerce II, pp. 20–28. [10] H. Kikuchi, S. Hotta, K. Abe, and S. Nakanishi, “Distributed auction servers resolving winner and winning bid without revealing privacy of bids,” in Proceedings of the Seventh International Conference on Parallel and Distributed Systems: Workshops. Washington, DC, USA: IEEE Computer Society, 2000, p. 307. [11] D. Hausheer and B. Stiller, “Peermart: The technology for a distributed auction-based market for peer-to-peer services,” in Proceedings of the IEEE International Conference on Communications, vol. 3, 2005, pp. 1583–1587. [12] N. Haque, N. R. Jennings, and L. Moreau, “Scalability and robustness of a network resource allocation system using market-based agents,” Netnomics, vol. 7, no. 2, pp. 69–96, 2005. [13] V. Ramasubramanian and E. G. Sirer, “Perils of transitive trust in the domain name system,” Cornell University, Ithaca, New York, USA, Tech. Rep. TR2005-1994, 2005. [14] K. Kuwabara, T. Ishida, Y. Nishibe, and T. Suda, “An equilibratory market-based approach for distributed resource allocation and its applications to communication network control,” in Market-Based Control: A Paradigm for Distributed Resource Allocation, S. H. Clearwater, Ed. Singapore: World Scientific, 1996, pp. 53–73. [15] P. Rodriguez and E. W. Biersack, “Dynamic parallel access to replicated content in the Internet,” IEEE/ACM Transactions on Networking, vol. 10, no. 4, pp. 455–465, 2002. [16] R. Chang, M. Guo, and H. Lin, “A multiple parallel download scheme with server throughput and client bandwidth considerations for data grids,” Future Generation Computer Systems, vol. 24, no. 8, pp. 798– 805, 2008. [17] A. R. Greenwalt and J. O. Kephart, “Shopbots and pricebots,” Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence, vol. 1, pp. 506–511, 1999. [18] P. Davidsson, L. Henesey, L. Ramstedt, J. T¨ rnquist, and F. Wernstedt, o “An analysis of agent-based approaches to transport logistics,” Transportation Research Part C: Emerging Technologies, vol. 13, no. 4, pp. 255–271, 2005. 910 2009 IEEE Congress on Evolutionary Computation (CEC 2009) Authorized licensed use limited to: UNIVERSITY OF BIRMINGHAM. Downloaded on June 11, 2009 at 13:30 from IEEE Xplore. Restrictions apply.
x

Log In

or reset password

Reset Password

Enter the email address you signed up with, and we'll send a reset password email to that address

Academia © 2012