Scalable Service Composition in Mobile Ad hoc Networks using Hierarchical Task Graphs∗†
چکیده
Service discovery is an essential component of application development in dynamic environments such as mobile ad hoc networks (MANETs). This is because the service providing devices are themselves mobile in MANETs and hence, the service–device binding cannot be tightly coupled over the lifetime of an application. Therefore, during the progress of a distributed application, a user should be capable of discovering and utilizing several different instances of a particular service in the network, if necessary. A common goal of all service discovery protocols is to discover the required services in a timely and scalable fashion, so that the application can run smoothly. In this paper, we investigate a related dimension of the service discovery problem, namely, service composition. In general terms, service composition refers to the process of combination of multiple simple services in order to form a larger, more complex distributed service. This offers users a great degree of transparency in discovery and selection of required services, instead of having to be cognizant of all the details about the simpler services that constitute the complex ones. Also, this can reduce discovery latency at the time of executing distributed applications. Owing to the hierarchical nature of the service composition framework, we represent a distributed application and its smaller components using logical hierarchical task graphs. At every level of hierarchy in the graph, nodes representing logical services and edges between nodes representing required data flows between corresponding services form a task graph with a specific degree of detail. In this paper, we present a distributed framework and protocols for achieving the following goals: (1) construction of complex distributed services from simpler services, (2) runtime discovery of devices and instances of services that are most suitable for executing the larger distributed application, and (3) rapid adaptation to node and link failures due to mobility or other reasons. Finally, we discuss several issues that are relevant for the performance evaluation of such a system by simulation or implementation. ∗This work was supported by the NSF under grant No. ANI-0073843. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. †Published in the Proc. 1st Annual Mediterranean Ad Hoc Networking Workshop, (Med-hoc-Net 2002, sponsored by IFIP), Sardegna, Italy, September, 2002.