Voluminous documentation is part of the problem, not part of the solution. ~Tom DeMarco

From Honeybees to Internet servers: Biomimicry for distributed management of Internet hosting centersAmitabh Banerjee(IT 4th Year)& Jaideep (ICE 3rd Year)

Introduction
The unrelenting growth of myriad Internet services coupled with the ubiquitous Internet characterized by its open and dynamic environment presents key challenges for designing and managing Internet computing infrastructure on which such services are hosted. A typical centralized Internet service hosting center contains an ensemble of commodity servers on which Internet services are hosted for a fee. Faced with unpredictable Internet request traffic, the hosting center must orchestrate its server ensemble amongst co-hosted services so as to maximize revenue earned from hosting fees.
A honeybee colony faces a similar problem. Nectar collection is an essential foraging activity, requiring typically 50–70 kg of nectar during summer and approximately 30–50 kg reserve for winter survival. A honeybee colony must orchestrate its foragers amongst flower patches (nectar sources) so as to maximize nectar intake. However, as in the case of a hosting center, forager orchestration must deal with unpredictability of nectar supply and an unknown scale of fluctuation from dearth to abundance.
A biomimetic server orchestration algorithm has been proposed which performs well on a set of test cases. The inspiration for biomimicry was the remarkable resemblance between the honeybee colony’s problem of allocating foragers amongst flower patches to maximize nectar influx and the host center’s problem of allocating servers amongst host customers to maximize revenue. Here, we describe the self-organizing biomimetic algorithm and highlight its information flows and feedback mechanisms.

htoi1

Fig: Server and forager orchestration problems

Biomimetic server ensemble orchestration algorithm

A self-organizing server ensemble orchestration algorithm for Internet hosting centers follows readily from the homology that we have exposed. As in the case of the forager orchestration in a honeybee colony, the biomimetic server ensemble orchestration algorithm must acquire information on an ongoing basis in respect of prospective co-hosted

Internet services and request load on their service queues as illustrated in figure. To gather relevant information, we mimic signals, cues and other mechanisms of a honeybee colony. Each server in a hosting center is either a forager or a scout server. The dance floor is represented by an advertisement board. A waggle dance of some duration is mimicked by an advertisement whose posting appears on the advertisement board for some time length. Furthermore, a flower patch location is represented by a virtual server (service) identifier whilst waggle dancing and following a waggle dance are mimicked by advertisement posting and advertisement reading respectively. The biomimetic server orchestration in an Internet hosting center relies on each server generating information about its own service queue and making it globally available, whilst all servers in the ensemble have the opportunity to view this information and act upon it. Basically, a server services requests and posts advertisements of length varying with revenue potential. It regularly checks its own revenue rate against the hosting center’s and adjusts its probabilities of advertising or reorchestration. To reorchestrate, a forager server will randomly select an advertisement and migrate to the corresponding virtual server, whilst a scout server will migrate to a random virtual server.

The behavior of any server in the hosting center is controlled by the pseudocode of figure.  A server si Vj , on completion of each request from Qj , will attempt with probability p to post an advert on the advertboard with duration
D = vjA, where A denotes the advert scaling factor.

Also, it will attempt with probability ri to read a randomly selected advert from the advert board if it is a forager or randomly select Vj, j: 0. . . . (M − 1), if it is a scout. The probability ri is dynamic and changes as a function of the forager/scout server’s own revenue rate and the hosting center’s overall revenue

htoi2          htoi3

Figure: Behavior of a server in the biomimetic orchestration algorithm        Table: Rules for adjusting the probability of reading the advert board

rate. The revenue rate, Pi, for a server si is given byhtio4 where Ri is the total number of requests served by a given server in the time interval Ti. The hosting center’s overall revenue rate, Phosting, is given by htoi5where Rj denotes the total number of requests served by Vj in thetime interval Thosting. A server si Vj serving queue Qj determines its profitability by comparing the revenue rate Pi with Phosting. It updates ri according to the rules shown intable. These rules quantitatively model forager behavior inreal honeybee colonies, given that waggle dancing foragersnever get recruited to another patch and foragers use globalinformation (hive’s nectar intake rate cued by time to find areceiver bee) to decide whether to dance or not. Thus, bees at aprofitable patch have a decreased chance of following anotherwaggle dance.

Application
The methodology has been applied in a variety of domains, with varying degrees of success. Here we briefly survey some of these applications, looking for common patterns that may lead to success or failure.
Schoonderwoerd et al developed an ant-colony inspired pheromone-laying algorithm to select the next path for a message in a telecommunication network. The underlying issue in this system is the selection of a specific path between each source–destination pair so as to balance the load on the different links in the network. Other researchers have explored ant-colony-inspired methods for ‘connectionless’ network routing problems, such as Internet routing, in which there is no specific path. Network links can experience unpredictable congestion or failure. The routing problem is even more dynamic in these connectionless domains. Di Caro and Dorigo imitate ant pheromone trail laying and following behavior to dynamically route packets on the Internet. The resulting algorithms are simple and intuitive. Di Caro and Dorigo report that their performance is superior to more complex alternatives in terms of throughput and packet delay. Overall, dynamic network routing appears to be one of the leading successes in swarm intelligence applications. Other promising applications include image clustering and segmentation, fault-tolerant vehicle scheduling and factory control/scheduling

Conclusions
The biomimetic algorithm adapts very well under a variety of circumstances whilst being competitive against benchmark assessment algorithms. We opine that the adaptiveness of the algorithm is due to the tightly coupled homology between the problems in the natural and human domains.

Based on experience and on a small survey of other cases, we conjecture that the following conditions promote the suitability and success of swarm intelligence applications: inherent parallelism in the problem domain, presence of at least one parallelism in the problem domain, presence of at least one balancing (negative) feedback loop, noisy or variable data—often temporally or spatially local—that tends to be accurate in the aggregate and the need for rapid and effective responsiveness to greatly changing circumstances.