Service discovery is a well-known but important aspect of dynamic service-based systems, which is rather unsolved for megascale systems with a huge number of dynamically appearing and vanishing service providers. In this paper we deduce requirements for service discovery in megascale systems and analyze existing approaches with these in mind. Shortcomings of existing solutions are explained and a novel solution architecture is presented. It is based on the idea that service description data can be subdivided into static and dynamic properties. The first group remains constant over time while the second is valid only for shorter durations and has to be updated. Expressive service queries rely on both, e.g. service location as example for the first and response time for the latter category. In order to deal with this problem, our main idea is to also subdivide the architecture into two interconnected processing levels that work independently on static and dynamic query parts. Both processing levels consist of interconnected peers allowing to auto-scale the registry dynamically according to the current workload. Finally, some parts of the ongoing implementation based on Jadex agent technology will be explained.
Jander, K., Pokahr, A., Braubach, L., & Kalinowski, J. (2017). Service discovery in megascale distributed systems. Studies in Computational Intelligence, 737, 273–284. https://doi.org/10.1007/978-3-319-66379-1_24