Skip to Main Content
A novel distributed approach for executing distributed tasks on mobile ad hoc networks (MANETs) is presented. A distributed application is represented as a complex task comprised of simpler sub-tasks that need to be performed on different categories of computing devices with specialized roles. The dependencies induced by logical patterns of data flow between these specialized devices which are responsible for performing the aforementioned sub-tasks, yield a task graph representation for a given application. We present a simple and efficient distributed algorithm for dynamic discovery and selection of suitable devices in a MANET from among a number of them providing the same functionality. We refer to this process as instantiation which is carried out with respect to the proposed task graph representation of the application. We also present a distributed algorithm for detecting disruptions in application execution that can occur due to device mobility. The algorithm then recovers quickly from the situation by re-instantiating affected parts of the task graph, if possible. Finally, we propose metrics for evaluating the performance of these algorithms and report simulation results for a variety of application scenarios.