Equivalence-Enhanced Microservice Workflow Orchestration to Efficiently Increase Reliability

The applicability of the microservice architecture has extended beyond traditional web services, making steady inroads into the domains of IoT and edge computing. Due to dissimilar contexts in different execution environments and inherent mobility, edge and IoT applications suffer from low execution reliability. Replication, traditionally used to increase service reliability and scalability, is inapplicable in these resource-scarce environments. Alternately, programmers can orchestrate the parallel or sequential execution of equivalent microservices—microservices that provide the same functionality by different means. Unfortunately, the resulting orchestrations rely on parallelization, synchronization, and failure handing, all tedious and error-prone to implement. Although automated orchestration shifts the burden of generating workflows from the programmer to the compiler, existing programming models lack both syntactic and semantic support for equivalence. In this paper, we enhance compiler-generated execution orchestration with equivalence to efficiently increase reliability. We introduce a dataflow-based domain-specific language, whose dataflow specifications include the implicit declarations of equivalent microservices and their execution patterns. To automatically generate reliable workflows and execute them efficiently, we introduce new equivalence workflow constructs. Our evaluation results indicate that our solution can effectively and efficiently increase the reliability of microservice-based applications.

[1]  Weisong Shi,et al.  Edge Computing: Vision and Challenges , 2016, IEEE Internet of Things Journal.

[2]  Thomas Risse,et al.  Combining global optimization with local selection for efficient QoS-aware service composition , 2009, WWW '09.

[3]  Sebastian Tilch,et al.  Survey of optical indoor positioning systems , 2011, 2011 International Conference on Indoor Positioning and Indoor Navigation.

[4]  Victor C. M. Leung,et al.  Fog at the Edge: Experiences Building an Edge Computing Platform , 2018, 2018 IEEE International Conference on Edge Computing (EDGE).

[5]  Jun Sun,et al.  Optimizing Selection of Competing Services with Probabilistic Hierarchical Refinement , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[6]  Martin Hirzel,et al.  Stream Processing Languages and Abstractions , 2019, Encyclopedia of Big Data Technologies.

[7]  Gunhee Han,et al.  A Single-Chip CMOS Smoke and Temperature Sensor for an Intelligent Fire Detector , 2009, IEEE Sensors Journal.

[8]  Yuansong Qiao,et al.  ThingNet: A micro-service based IoT macro-programming platform over edges and cloud , 2018, 2018 21st Conference on Innovation in Clouds, Internet and Networks and Workshops (ICIN).

[9]  Fabio Casati,et al.  Conceptual Modeling of Workflows , 1995, Advances in Object-Oriented Data Modeling.

[10]  Rajiv Ranjan,et al.  Osmotic Computing: A New Paradigm for Edge/Cloud Integration , 2016, IEEE Cloud Computing.

[11]  van der Wmp Wil Aalst,et al.  Workflow control-flow patterns : a revised view , 2006 .

[12]  Erich J. Neuhold,et al.  Transforming BPEL into annotated deterministic finite state automata for service discovery , 2004, Proceedings. IEEE International Conference on Web Services, 2004..

[13]  Vijayalakshmi Atluri,et al.  Modeling and Analysis of Workflows Using Petri Nets , 1998, Journal of Intelligent Information Systems.

[14]  Fuyuki Ishikawa,et al.  Service Selection with Combinational Use of Functionally-Equivalent Services , 2011, 2011 IEEE International Conference on Web Services.

[15]  Adam Barker,et al.  A Dataflow Language for Decentralised Orchestration of Web Service Workflows , 2013, 2013 IEEE Ninth World Congress on Services.

[16]  Avraham Leff,et al.  WSO: Developer-Oriented Transactional Orchestration of Web-Services , 2017, 2017 IEEE International Conference on Web Services (ICWS).

[17]  Fabrizio Montesi,et al.  Microservices: Yesterday, Today, and Tomorrow , 2017, Present and Ulterior Software Engineering.

[18]  Nour Ali,et al.  A Systematic Mapping Study in Microservice Architecture , 2016, 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA).

[19]  Chandra Krintz,et al.  Estimating outdoor temperature from CPU temperature for IoT applications in agriculture , 2018, IOT.

[20]  Schahram Dustdar,et al.  Nomads - Enabling Distributed Analytical Service Environments for the Smart City Domain , 2015, 2015 IEEE International Conference on Web Services.

[21]  Gürkan Solmaz,et al.  FogFlow: Easy Programming of IoT Services Over Cloud and Edges for Smart Cities , 2018, IEEE Internet of Things Journal.

[22]  Fabrizio Montesi,et al.  Data-Driven Workflows for Microservices: Genericity in Jolie , 2015, 2016 IEEE 30th International Conference on Advanced Information Networking and Applications (AINA).

[23]  Jayadev Misra,et al.  The Orc Programming Language , 2009, FMOODS/FORTE.

[24]  Victor C. M. Leung,et al.  Developing IoT applications in the Fog: A Distributed Dataflow approach , 2015, 2015 5th International Conference on the Internet of Things (IOT).

[25]  Fernando Seco,et al.  A survey of mathematical methods for indoor localization , 2009, 2009 IEEE International Symposium on Intelligent Signal Processing.