Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

A meta-pattern for building QoS-optimal mobile services out of equivalent microservices

  • Original Research Paper
  • Published:
Service Oriented Computing and Applications Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Algorithm 1
Fig. 6
Fig. 7

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

Notes

  1. https://www.ibm.com/watson/services/visual-recognition/.

  2. https://azure.microsoft.com/en-us/services/cognitive-services/face/.

  3. https://www.faceplusplus.com/face-detection/.

  4. https://github.com/ageitgey/face_recognition.

  5. https://docs.opencv.org/3.4/d1/de5/classcv_1_1CascadeClassifier.html.

References

  1. 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/

  2. Shi W, Cao J, Zhang Q, Li Y, Xu L (2016) Edge computing: vision and challenges. IEEE Internet Things J 3(5):637–646

    Article  Google Scholar 

  3. 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

  4. 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

  5. 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

  6. 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

    Article  Google Scholar 

  7. 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

    Article  Google Scholar 

  8. 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

  9. Chiang M, Zhang T (2016) Fog and IoT: an overview of research opportunities. IEEE Internet Things J 3(6):854–864

    Article  Google Scholar 

  10. 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

  11. Der Aalst WM, Ter Hofstede AH, Kiepuszewski B, Barros AP (2003) Workflow patterns. Distrib Parallel Databases 14(1):5–51

  12. 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

  13. 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

  14. 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

  15. 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

    Article  Google Scholar 

  16. Workflow Patterns (2017) Workflow patterns initiative

  17. Aldwyan Y, Sinnott RO (2019) Latency-aware failover strategies for containerized web applications in distributed clouds. Futur Gener Comput Syst 101:1081–1095

    Article  Google Scholar 

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

    Google Scholar 

  23. 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

  24. Mahfouz A, Mahmoud TM, Eldin AS (2017) A survey on behavioral biometric authentication on smartphones. J Inf Secur Appl 37:28–37

    Google Scholar 

  25. Wang C, Wang Y, Chen Y, Liu H, Liu J (2020) User authentication on mobile devices: approaches, threats and trends. Comput Netw 170:107118

    Article  Google Scholar 

  26. 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

    Article  Google Scholar 

  27. 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

  28. 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

  29. 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

  30. Schauer L, Werner M, Marcus P (2014) Estimating crowd densities and pedestrian flows using wi-fi and bluetooth. In: MobiQuitous 2014, pp 171–177

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. 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

  43. Louridas P (2008) Orchestrating web services with BPEL. IEEE Softw 25(2):85–87

    Article  Google Scholar 

  44. Baresi L, Guinea S (2010) Self-supervising BPEL processes. IEEE Trans Software Eng 37(2):247–263

    Article  Google Scholar 

  45. Lucia B, Ransford B (2015) A simpler, safer programming and execution model for intermittent systems. ACM SIGPLAN Notices 50(6):575–585

  46. 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

  47. 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

  48. 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

    Article  Google Scholar 

  49. 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

    Article  Google Scholar 

  50. 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

  51. 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

Download references

Acknowledgements

This research is supported by NSF through Grants #2104337, and #2232565.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zheng Song.

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.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11761-024-00391-1

Keywords