Abstract
A QoS-optimal service balances reliability, execution cost, and latency to satisfy application requirements. In emerging distributed environments, with their unreliable and resource-scarce mobile/IoT devices, it is hard but essential to optimize the QoS of mobile services. Fortunately, these environments are characterized by ever-growing equivalent functionalities that satisfy the same requirements by different means. The combined execution of equivalent microservices has been used to improve QoS (e.g., majority voting for accuracy, speculative parallelism for latency, and failover for reliability). These executions are commonly described as workflow patterns, crude-grained recurring interactions across microservices within a service. However, as the number of equivalent microservices grows, applying a crude-grained pattern may cause severely unbalanced QoS, while nesting these patterns is convoluted to implement and expensive to maintain. In this article, we introduce a novel workflow meta-pattern for defining fine-grained workflow patterns that describe QoS-optimal combined executions of equivalent microservices. The meta-pattern employs a domain-specific algebraic expression to specify the invocation sequences of equivalent microservices, and a Boolean function to determine whether to terminate the execution. To evaluate the applicability of our meta-pattern, we build a Scala functional programming library, by which we further develop edge computing and cognitive service applications. Our experiments show that applying our meta-pattern to define such workflow patterns saves programmer effort, while the resulting patterns effectively improve the QoS of distributed applications.








Similar content being viewed by others
References
Statista Research Department: Internet of Things - Number of Connected Devices Worldwide 2015–2025. https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/
Shi W, Cao J, Zhang Q, Li Y, Xu L (2016) Edge computing: vision and challenges. IEEE Internet Things J 3(5):637–646
Wu H, Deng S, Li W, Yin J, Li X, Feng Z, Zomaya AY (2019) Mobility-aware service selection in mobile edge computing systems. In: 2019 IEEE international conference on web services (ICWS), pp 201–208. IEEE
Sun M, Zhou Z, Zhang W, Hung PC (2019) IoT service composition for concurrent timed applications. In: 2019 IEEE international conference on web services (ICWS), pp 50–54. IEEE
Moeini H, Yen I-L, Bastani F (2019) Service specification and discovery in IoT networks. In: 2019 IEEE international conference on web services (ICWS), pp 55–59. IEEE
Achir M, Abdelli A, Mokdad L, Benothman J (2022) Service discovery and selection in IoT: a survey and a taxonomy. J Netw Comput Appl 200:103331
El-Sayed H, Sankar S, Prasad M, Puthal D, Gupta A, Mohanty M, Lin C-T (2017) Edge of things: the big picture on the integration of edge, IoT and the cloud in a distributed computing environment. IEEE Access 6:1706–1717
Varghese B, Wang N, Barbhuiya S, Kilpatrick P, Nikolopoulos DS (2016) Challenges and opportunities in edge computing. In: IEEE International conference on smart cloud (SmartCloud), pp 20–26. IEEE
Chiang M, Zhang T (2016) Fog and IoT: an overview of research opportunities. IEEE Internet Things J 3(6):854–864
Hassan S, Bahsoon R (2016) Microservices and their design trade-offs: A self-adaptive roadmap. In: 2016 IEEE International conference on services computing (SCC), pp 813–818. IEEE
Der Aalst WM, Ter Hofstede AH, Kiepuszewski B, Barros AP (2003) Workflow patterns. Distrib Parallel Databases 14(1):5–51
Song Z, Tilevich E (2019) A programming model for reliable and efficient edge-based execution under resource variability. In: 2019 IEEE international conference on edge computing (EDGE), pp 64–71
Bhatia A, Li S, Song Z, Tilevich E (2019) Exploiting equivalence to efficiently enhance the accuracy of cognitive services. In: 2019 IEEE international conference on cloud computing technology and science (CloudCom), pp 143–150. IEEE
Hiratsuka N, Ishikawa F, Honiden S (2011) Service selection with combinational use of functionally-equivalent services. In: IEEE International conference on web services (ICWS), pp 97–104. IEEE
Cardellini V, Casalicchio E, Grassi V, Iannucci S, Presti FL, Mirandola R (2011) Moses: a framework for QoS driven runtime adaptation of service-oriented systems. IEEE Trans Softw Eng 38(5):1138–1159
Workflow Patterns (2017) Workflow patterns initiative
Aldwyan Y, Sinnott RO (2019) Latency-aware failover strategies for containerized web applications in distributed clouds. Futur Gener Comput Syst 101:1081–1095
Kosta S, Aucinas A, Hui P, Mortier R, Zhang X (2012) Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading. In: 2012 Proceedings IEEE infocom, pp 945–953. IEEE
Yen I-L, Bastani F, Solanki N, Huang Y (2018) Trustworthy computing in the dynamic iot cloud. In: 2018 IEEE international conference on information reuse and integration (IRI), pp 411–418. IEEE
Song Z, Rowader O, Li Z, Tello M, Tilevich E (2022) Quality of information matters: Recommending web services for performance and utility. In: 2022 IEEE International conference on cloud computing technology and science (CloudCom), pp 41–48. IEEE
Qiao Y, Nolani R, Gill S, Fang G, Lee B (2018) Thingnet: A micro-service based iot macro-programming platform over edges and cloud. In: 2018 21st Conference on innovation in clouds, internet and networks and workshops (ICIN), pp 1–4. IEEE
Cheng B, Solmaz G, Cirillo F, Kovacs E, Terasawa K, Kitazawa A (2018) Fogflow: easy programming of IoT services over cloud and edges for smart cities. IEEE IoT J 5(2):696–707
Rogowski M, Saeed K, Rybnik M, Tabedzki M, Adamski M (2013) User authentication for mobile devices. In: Computer information systems and industrial management: 12th IFIP TC8 International Conference, CISIM 2013, Krakow, Poland, September 25–27, 2013. Proceedings, pp 47–58. Springer
Mahfouz A, Mahmoud TM, Eldin AS (2017) A survey on behavioral biometric authentication on smartphones. J Inf Secur Appl 37:28–37
Wang C, Wang Y, Chen Y, Liu H, Liu J (2020) User authentication on mobile devices: approaches, threats and trends. Comput Netw 170:107118
Zaidi AZ, Chong CY, Jin Z, Parthiban R, Sadiq AS (2021) Touch-based continuous mobile device authentication: state-of-the-art, challenges and opportunities. J Netw Comput Appl 191:103162
Liu X, Song Z, Ngai E, Ma J, Wang W (2015) PM2.5 monitoring using images from smartphones in participatory sensing. In: 2015 IEEE Conference on computer communications workshops (INFOCOM WKSHPS), pp 630–635. IEEE
Song S, Li VO, Lam JC, Wang Y (2023) Personalized ambient pollution estimation based on stationary camera-taken images under cross-camera information sharing in smart city. IEEE Internet Things J
Li M, Zhang Z, Huang K, Tan T (2008) Estimating the number of people in crowded scenes by mid based foreground segmentation and head-shoulder detection. In: 19th International conference on pattern recognition, 2008. ICPR 2008, pp 1–4. IEEE
Schauer L, Werner M, Marcus P (2014) Estimating crowd densities and pedestrian flows using wi-fi and bluetooth. In: MobiQuitous 2014, pp 171–177
Torkamandi P, Pajevic Kärkkäinen L, Ott J (2022) Characterizing wi-fi probing behavior for privacy-preserving crowdsensing. In: Proceedings of the 25th international ACM conference on modeling analysis and simulation of wireless and mobile systems, pp 203–212
Song Z, Tilevich E (2019) Equivalence-enhanced microservice workflow orchestration to efficiently increase reliability. In: 2019 IEEE international conference on web services (ICWS), pp 426–433. IEEE
Jung S-G, An J, Kwak H, Salminen J, Jansen BJ (2018) Assessing the accuracy of four popular face recognition tools for inferring gender, age, and race. In: Twelfth international AAAI conference on web and social media
Vuurens J, Vries AP, Eickhoff C (2011) How much spam can you take? An analysis of crowdsourcing results to increase accuracy. In: Proceedings of the ACM SIGIR workshop on crowdsourcing for information retrieval (CIR’11), pp 21–26
Kitchin D, Quark A, Cook W, Misra J (2009) The orc programming language. In: Formal techniques for distributed systems: joint 11th IFIP WG 6.1 International conference FMOODS 2009 and 29th IFIP WG 6.1 international conference FORTE 2009, Lisboa, Portugal, June 9–12, 2009. Proceedings, pp 1–25. Springer
Song Z, Tilevich E (2018) PMDC: Programmable mobile device clouds for convenient and efficient service provisioning. In: 2018 IEEE 11th International conference on cloud computing (CLOUD), pp 202–209
Le M, Song Z, Kwon Y-W, Tilevich E (2017) Reliable and efficient mobile edge computing in highly dynamic and volatile environments. In: 2017 Second international conference on fog and mobile edge computing (FMEC), pp 113–120. IEEE
Krintz C, Wolski R, Golubovic N, Bakir F (2018) Estimating outdoor temperature from cpu temperature for IoT applications in agriculture. In: International conference on the internet of things
Hu T, Bertolott IC, Navet N (2017) Towards seamless integration of n-version programming in model-based design. In: 2017 22nd IEEE International conference on emerging technologies and factory automation (ETFA), pp 1–8. IEEE
Imam S, Sarkar V (2015) The eureka programming model for speculative task parallelism. In: 29th European Conference on Object-Oriented Programming (ECOOP 2015). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik
Zheng Z, Lyu MR (2008) A distributed replication strategy evaluation and selection framework for fault tolerant web services. In: 2008 IEEE International Conference on Web Services, pp 145–152. IEEE
Russell N, Ter Hofstede AH, Van Der Aalst WM, Mulyar N (2006) Workflow control-flow patterns: a revised view. BPM Center Report BPM-06-22, https://bpmcenter.org/, 06–22
Louridas P (2008) Orchestrating web services with BPEL. IEEE Softw 25(2):85–87
Baresi L, Guinea S (2010) Self-supervising BPEL processes. IEEE Trans Software Eng 37(2):247–263
Lucia B, Ransford B (2015) A simpler, safer programming and execution model for intermittent systems. ACM SIGPLAN Notices 50(6):575–585
Song Z, Tilevich E (2020) Win with what you have: QoS-consistent edge services with unreliable and dynamic resources. In: 2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS), pp. 530–540. IEEE
Abouelhoda M, Alaa S, Ghanem M (2010) Meta-workflows: pattern-based interoperability between galaxy and taverna. In: Proceedings of the 1st international workshop on workflow approaches to new data-centric science, pp 1–8
Taghiyar MJ, Rosner J, Grewal D, Grande BM, Aniba R, Grewal J, Boutros PC, Morin RD, Bashashati A, Shah SP (2017) Kronos: a workflow assembler for genome analytics and informatics. Gigascience 6(7):042
Kumar A, Wainer J (2005) Meta workflows as a control and coordination mechanism for exception handling in workflow systems. Decis Support Syst 40(1):89–105
Reichert M, Rinderle-Ma S, Dadam P (2009) Flexibility in process-aware information systems. Transactions on petri nets and other models of concurrency II: Special issue on concurrency in process-aware information systems, pp 115–135
Song Z, Chadha S, Byalik A, Tilevich E (2018) Programming support for sharing resources across heterogeneous mobile devices. In: Proceedings of the 5th international conference on mobile software engineering and systems, pp 105–116
Acknowledgements
This research is supported by NSF through Grants #2104337, and #2232565.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors have no relevant financial or non-financial interests to disclose.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Song, Z., Li, Z. & Tilevich, E. A meta-pattern for building QoS-optimal mobile services out of equivalent microservices. SOCA 18, 109–120 (2024). https://doi.org/10.1007/s11761-024-00391-1
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-024-00391-1