{'fraction_non_alphanumeric': 0.018158236057068743, 'fraction_numerical': 0.0, 'mean_word_length': 5.429166666666666, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
BeesyBees: A mobile agent-based middleware for a reliable and secure execution of service-based workflow applications in BeesyCluster

Integrating distributed services into workflows comes with its own set of challenges, including security, coordination, fault tolerance and optimisation of execution time. This paper presents an architecture and implementation --nicknamed BeesyBees --that allows distributed execution of workflow applications in BeesyCluster using agents. BeesyCluster is a middleware that allows users to access distributed resources as well as publish applications as services, define service costs, grant access to other users services and consume services published by others. Workflows created in the BeesyCluster middleware are exported to BPEL and executed by BeesyBees agents in a distributed environment. Firstly, the paper demonstrates that engaging several agents to execute a workflow in a distributed fashion is more efficient than a centralised approach. It also discusses negotiation time tradeoffs in case of too many agents assigned to the task. An algorithm was proposed to migrate agents to such locations so that the workflow execution time is minimised. Secondly, it demonstrates that execution in the proposed environment is reliable even in case of failures. If a service fails, a task agent picks a new equivalent service at runtime. If one of task agents fails, another of remaining agents takes over its responsibilities. The communication between the middleware, agents and services is encrypted.