Skip to main content
Log in

Distributed algorithm for computation offloading in mobile edge computing considering user mobility and task randomness

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Recent years have witnessed substantial research efforts on computation offloading for mobile edge computing (MEC) systems. User mobility is an intrinsic trait of many MEC applications, which has posed significant challenges for realizing reliable computing. However, existing works studying this problem mainly focus on the movements of users while another high-dynamic behavior due to the randomness of computation task is largely ignored. To fill this gap, in this paper, we formulate the computation offloading decision problem in MEC system as a combinatorial optimization problem, and then we use Log-Sum-Exp function to approximate the optimal objective. Thereafter, we construct a Markov chain with steady-state distribution specifying to our problem in a distributed manner, such that the user mobility problem is transformed into the state transition problem. Moreover, this Markov chain is further extended to consider a dynamic scenario where the number of active users in the MEC system changes due to the random arrivals of new computation task or completions of old tasks. Numerical results show that our proposed computation offloading distributed algorithm can converge very fast to the optimal solution, and has a provable performance with a guaranteed loss bound.

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

Access this article

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

Similar content being viewed by others

References

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

    Article  Google Scholar 

  2. Mao Y, You C, Zhang J, Huang K, Letaief KB (2017) A survey on mobile edge computing: the communication perspective. IEEE Commun Surv Tutor 19(4):2322–2358 ((4th Quart.))

    Article  Google Scholar 

  3. Rimal BP, Van DP, Maier M (2016) Mobile-edge computing vs. centralized cloud computing in fiber-wireless access networks. In: Proceedings of IEEE INFOCOM WKSHPS, San Francisco, CA, USA, pp 991–996

  4. Mach P, Becvar Z (2017) Mobile edge computing: a survey on architecture and computation offloading. IEEE Commun Surv Tutor 19(3):1628–1656 ((3rd Quart.))

    Article  Google Scholar 

  5. Patel M, Naughton B, Chan C, Sprecher N, Abeta S, Neal A (2014) Mobile-edge computing. In: Mobile-edge computing-introductory technical white paper

  6. Hu YC, Patel M, Sabella D et al (2015) Mobile edge computing key technology towards 5G. ETSI White Paper 11(11):1–16

    Google Scholar 

  7. Abbas N, Zhang Y, Taherkordi A, Skeie T (2018) Mobile edge computing: a survey. IEEE Internet Things J 5(1):450–465

    Article  Google Scholar 

  8. Nguyen DT, Le LB, Bhargava V (2021) Price-based resource allocation for edge computing: a market equilibrium approach. IEEE Trans Cloud Comput 9(1):302–317

    Article  Google Scholar 

  9. Mao Y, Zhang J, Letaief KB (2016) Dynamic computation offloading for mobile-edge computing with energy harvesting devices. IEEE J Sel Areas Commun 34(12):3590–3605

    Article  Google Scholar 

  10. Liu J, Mao Y, Zhang J, Letaief KB (2016) Delay-optimal computation task scheduling for mobile-edge computing systems. In: Proceedings of IEEE International Symposium on Information Theory (ISIT), Barcelona, Spain, pp 1451–1455

  11. Wang Y, Sheng M, Wang X, Wang L, Li J (2016) Mobile-edge computing: partial computation offloading using dynamic voltage scaling. IEEE Trans Commun 64(10):4268–4282

    Google Scholar 

  12. You C, Huang K, Chae H, Kim B-H (2017) Energy-efficient resource allocation for mobile edge computation offloading. IEEE Trans Wirel Commun 16(3):1397–1411

    Article  Google Scholar 

  13. Ren J, Yu G, Cai Y, He Y (2018) Latency optimization for resource allocation in mobile-edge computation offloading. IEEE Trans Wirel Commun 17(8):5506–5519

    Article  Google Scholar 

  14. Guo S, Xiao B, Yang Y, Yang Y (2016) Energy-efficient dynamic offloading and resource scheduling in mobile cloud computing. In: Proceedings of IEEE International Conference on Computer Communications (INFOCOM), San Francisco, CA

  15. Huang L, Feng X, Zhang L, Qian L, Wu Y (2019) Multi-server multi-user multi-task computation offloading for mobile edge computing networks. Sensors 19:1–19

    Article  Google Scholar 

  16. Shan N, Cui X, Gao Z, Li Y (2020) Multi-user multi-server multi-channel computation offloading strategy for mobile edge computing. In: Proceedings of IEEE 4th Information Technology, Networking, Electronic and Automation Control Conference (ITNEC), Chongqing, China, pp 1389–1400

  17. Huang X, Zhang W, Yang J, Yang L, Yeo CK (2021) Market-based dynamic resource allocation in mobile edge computing systems with multi-server and multi-user. Comput Commun 165:43–52

    Article  Google Scholar 

  18. Dinh TQ, Tang J, La QD, Quek TQ (2017) Offloading in mobile edge computing: task allocation and computational frequency scaling. IEEE Trans Commun 65(8):3571–3584

    Google Scholar 

  19. Chen C, Guo R, Zhang W, Yang J, Yeo CK (2022) Optimal sequential relay-remote selection and computation offloading in mobile edge computing. J Supercomput 78(4):1093–1116

    Article  Google Scholar 

  20. Pham QV, LeAnh T, Tran NH, Park BJ, Hong CS (2018) Decentralized computation offloading and resource allocation for mobile-edge computing: a matching game approach. IEEE Access 6:75868–75885

    Article  Google Scholar 

  21. Dai Y, Xu D, Maharjan S, Zhang Y (2018) Joint computation offloading and user association in multi-task mobile edge computing. IEEE Trans Veh Technol 67(12):12313–12325

    Article  Google Scholar 

  22. Akherfi K, Gerndt M, Harroud H (2018) Mobile cloud computing for computation offloading: issues and challenges. Appl Comput Inform 14(1):1–16

    Article  Google Scholar 

  23. Wang S, Urgaonkar R, He T, Zafer M, Chan K, Leung KK (2014) Mobility-induced service migration in mobile micro-clouds. In: Proceedings of of IEEE Military Communication Conference (MILCOM), Baltimore, MD, pp 835–840

  24. Urgaonkar R, Wang S, He T, Zafer M, Chan K, Leung KK (2015) Dynamic service migration and workload scheduling in edge-clouds. Perform Eval 91:205–228

    Article  Google Scholar 

  25. Chen M-H, Dong M, Liang B (2016) Joint offloading decision and resource allocation for mobile cloud with computing access point. In: Proceedings of IEEE International Conference on Accoustic, Speech, and Signal Processing (ICASSP), Shanghai, China, pp 3516–3520

  26. Wang S, Urgaonkar R, Chan K, He T, Zafer M, Leung KK (2017) Dynamic service placement for mobile micro-clouds with predicted future costs. IEEE Trans Parallel Distrib Syst 28(4):1002–1016

    Article  Google Scholar 

  27. Chen M, Liew S, Shao Z, Kai C (2013) Markov approximation for combinatorial network optimization. IEEE Trans Inf Theory 59(10):6301–6327

    Article  MathSciNet  Google Scholar 

  28. Boyd S, Vandenberghe L (2004) Convex optimization. Cambridge University Press, Cambridge

    Book  Google Scholar 

  29. Levin D, Peres Y, Wilmer E (2009) Markov chains and mixing times. American Mathematical Society

  30. Zukerman M (2013) Introduction to queueing theory and stochastic teletrafficmmodels, Eprint Arxiv

  31. Jiang JW, Lan T, Ha S, Chen M, Chiang M (2012) Joint VM placement and routing for data center traffic engineering. In: Proceedings of IEEE INFOCOM, pp 2876–2880

  32. Chen Z, Zhang W, Zheng Y, Yang L, Yeo CK (2020) Distributed algorithm for AP association with random arrivals and departures of users. IET Commun 14(5):846–856

    Article  Google Scholar 

  33. Kelly FP (2011) Reversibility and stochastic networks. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  34. Diaconis P, Stroock D (1991) Geometric bounds for eigenvalues of Markov chains. Ann Appl Probab 1(1):36–61

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

This work is supported by Natural Science Funds of Fujian (nos. 2021J011002, 2021J011004, 2020J01813) and Zhangzhou Municipal Natural Science Foundation (ZZ2021J23).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to T. Wenjie Zhang.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

Appendix A: Proof of Theorem 2

Proof

First, it is not hard to see that the designed Markov chain is irreducible because all the states \(f\in \mathscr {F}\) are able to reach each other within a finite number of transitions. Next, we will validate that the stationary distribution \(p_f^{*}(\varvec{y})\) of this Markov chain is exactly given by Eq. (20).

We use \(f\rightarrow f'\) to represent the event that the MEC system will enter into state \(f'\) after leaving state f when the timer counts down to 0. Let \(p_{f\rightarrow f'}\) denote the corresponding probability of this event. When leaving state f, the system will enter into any state \(f' \in \varLambda _f\) with equal probability, thus \(p_{f\rightarrow f'}\) can be obtained as

$$\begin{aligned} p_{f\rightarrow f'}=\frac{1}{|\varLambda _f|},\forall f\in \mathscr {F}, f'\in \varLambda _f \end{aligned}$$
(46)

where \(\varLambda _f\) is the set of targeting states for f, and \(|\varLambda _f|\) is given by

$$\begin{aligned} |\varLambda _f|=\sum _{u_i\in \mathscr {U}}(|\mathscr {M}_{u_i}|-1) \end{aligned}$$
(47)

The counting down rate for each user is given by

$$\begin{aligned} \iota _{u_i}=\frac{|\mathscr {M}_{u_i}|-1}{\exp (\alpha +\frac{1}{2}\beta (E_{i}^{f}-E_{i}^{f'}))} \end{aligned}$$
(48)

Combining Eqs. (46), (47) and (48), we can obtain the transmission rate from state f to state \(f'\) as

$$\begin{aligned} q_{f,f'}&=\sum _{u_i\in \mathscr {U}}\iota _{u_i}\times p_{f\rightarrow f'}\nonumber \\&=\frac{\sum _{u_i\in \mathscr {U}}(|\mathscr {M}_{u_i}|-1)}{\exp (\alpha +\frac{1}{2}\beta (E_{i}^{f}-E_{i}^{f'}))}\times \frac{1}{\sum _{u_i\in \mathscr {U}}(|\mathscr {M}_{u_i}|-1)}\nonumber \\&=\frac{1}{\exp (\alpha )}\exp (-\frac{1}{2}\beta (E_{i}^{f}-E_{i}^{f'}))\nonumber \\&=\frac{1}{\exp (\alpha )}\exp (-\frac{1}{2}\beta (y_{f'}-y_{f})) \end{aligned}$$
(49)

We can show that the balance equation function \(p_f^{*}(\varvec{r})q_{f,f'}=p_{f'}^{*}(\varvec{y})q_{f',f}\), \(\forall f, f' \in \mathscr {F}\) holds. And according to Theorem 1.3 and Theorem 1.4 in Ref. [33], the designed Markov chain based on Algorithm 1 is time-reversible with stationary distribution given by Eq. (20).

This completes the proof. \(\square \)

Appendix B. Proof of Theorem 3

Proof

To attain the lower bound and upper bound for the mixing time \(\tau _\mathrm{{mix}}(\varepsilon )\), we leverage the idea proposed in Ref. [27] using the spectral analysis method in Refs. [29, 34].

Since \(y_\mathrm{{min}}\le y_{f}\le y_\mathrm{{max}}\) and \(|\mathscr {F}|\le \prod _{i=1}^n|\mathscr {M}_{u_i}|\), we have

$$\begin{aligned} \sum _{f\in \mathscr {F}}\exp (\beta y_f)\le |\mathscr {F}|\exp (\beta y_\mathrm{{max}})\le \zeta \exp (\beta y_\mathrm{{max}}) \end{aligned}$$
(50)

Therefore, the minimum of stationary distribution can be obtained as

$$\begin{aligned} p_\mathrm{{min}}\triangleq \min _{f\in \mathscr {F}}p_f^{*}= & {} \min _{f\in \mathscr {F}}\frac{\exp (\beta y_f)}{\sum _{f\in \mathscr {F}}\exp (\beta y_f')}\nonumber \\\ge & {} \frac{\exp (\beta y_\mathrm{{min}})}{\zeta \exp (\beta y_\mathrm{{max}})}\nonumber \\= & {} \frac{1}{\zeta }\exp (-\beta (y_\mathrm{{max}}-y_\mathrm{{min}})) \end{aligned}$$
(51)

Let \(Q=\{q_{f,f'}, \forall f,f' \in \mathscr {F}\}\) denote the transition rate matrix of the designed Markov chain, then we can further construct a discrete-time Markov chain \(Z(\nu )\) with transition rate matrix as \(\varPsi =I+\frac{Q}{\kappa }\), where I is the identity matrix, and \(\vartheta \) is the uniform parameter which will be determined later.

For each feasible configuration \(f\in \mathscr {F}\), it has at most \(\delta =\sum _{u_i\in \mathscr {U}}(|\mathscr {M}_{u_i}|-1)\) targeting states, and the transition rate is bounded by

$$\begin{aligned} q_{f,f'}= & {} \frac{1}{\exp (\alpha )}\exp (-\frac{1}{2}\beta (y_{f'}-y_{f}))\nonumber \\\le & {} \exp (\frac{1}{2}\beta (y_\mathrm{{max}}-y_\mathrm{{min}})-\alpha ) \end{aligned}$$
(52)

Then we can get the value for the uniform parameter \(\kappa \), that is

$$\begin{aligned} \sum _{f'\ne f}q_{f,f'}\le \delta \exp (\frac{1}{2}\beta (y_\mathrm{{max}}-y_\mathrm{{min}})-\alpha )=\kappa \end{aligned}$$
(53)

Let \(\rho \) represent the second-largest eigenvalue of the transition rate matrix \(\varPsi \), using the uniformization theorem and spectral gap inequality in Refs. [29, 34], we can get

$$\begin{aligned} \frac{\exp (-\kappa \tau (1-\rho ))}{2}\le \max _{f\in \mathscr {F}}\Vert H_t(f)-\varvec{P}^{*}\Vert _{TV} \le \frac{\exp (-\kappa \tau (1-\rho ))}{2\sqrt{p_\mathrm{{min}}}}. \end{aligned}$$
(54)

Therefore, we have

$$\begin{aligned} \frac{1}{\kappa (1-\rho )}\ln {\frac{1}{2\varepsilon }}\le \tau _\mathrm{{mix}}(\varepsilon ) \le \frac{1}{\kappa (1-\rho )}\left[ \frac{1}{2}\ln {\frac{1}{p_\mathrm{{min}}}}+\ln {\frac{1}{2\varepsilon }}\right] \end{aligned}$$
(55)

Let \(\varPhi \) denote the Conductance for a time-reversible, ergodic Markov chain, which is defined as

$$\begin{aligned} \varPhi \triangleq \min _{B\in \mathscr {F},\varUpsilon _{B}\in (0,1/2]}\frac{J(B,\bar{B})}{\varUpsilon _B}, \end{aligned}$$
(56)

where B is any subset of \(\mathscr {F}\), and

$$\begin{aligned} \varUpsilon _B=\sum _{f\in B}p_f^{*}, \end{aligned}$$
(57)
$$\begin{aligned} J(B,\bar{B})=\sum _{f\in B,f'\in \bar{B}}p_f^{*}\varPsi (f,f'). \end{aligned}$$
(58)

Then, according to the Cheeger’s inequality in Refs. [29, 34], we have

$$\begin{aligned} 1-2\varPhi \le \rho \le 1-\frac{1}{2}\varPhi ^2. \end{aligned}$$
(59)

Combining (55) and (59) results in

$$\begin{aligned} \frac{1}{2\kappa \varPhi }\ln {\frac{1}{2\varepsilon }}\le \tau _\mathrm{{mix}}(\varepsilon ) \le \frac{2}{\kappa \varPhi ^2}\left[ \frac{1}{2}\ln {\frac{1}{p_\mathrm{{min}}}}+\ln {\frac{1}{2\varepsilon }}\right] . \end{aligned}$$
(60)

To derive the lower bound of the mixing time \(\tau _\mathrm{{mix}}(\varepsilon )\), we will first obtain the upper bound of \(\varPhi \). For \(\forall B\in \mathscr {F},\varUpsilon _{B}\in (0,1/2]\),

$$\begin{aligned} \varPhi= & {} \min _{B\in \mathscr {F},\varUpsilon _{B}\in (0,1/2]}\frac{J(B,\bar{B})}{\varUpsilon _{B}} \nonumber \\\le & {} \frac{1}{\varUpsilon _{B'}}\sum _{f\in B',f'\in \bar{B'}}p_f^{*}\varPsi (f,f')\nonumber \\= & {} \frac{1}{\varUpsilon _{B'}}\sum _{f\in B'}p_f^{*}\sum _{f'\in \bar{B'}}\varPsi (f,f')\nonumber \\\le & {} \frac{1}{\varUpsilon _{B'}}\sum _{f\in B'}p_f^{*}\nonumber \\= & {} 1. \end{aligned}$$
(61)

By combining Eqs. (53), (60) and (61), the lower bound of mixing time \(\tau _\mathrm{{mix}}(\varepsilon )\) can be obtained as

$$\begin{aligned} \tau _\mathrm{{mix}}(\varepsilon )\ge \ln {\frac{1}{2\varepsilon }}\frac{1}{2\kappa } = \ln {\frac{1}{2\varepsilon }}\cdot \frac{\exp (\alpha -\frac{\beta }{2}(y_\mathrm{{max}}-y_\mathrm{{min}}))}{2\delta }. \end{aligned}$$
(62)

Next we calculate the upper bound of the mixing time \(\tau _\mathrm{{mix}}(\varepsilon )\). For \(\forall f, f'\in \mathscr {F}\), and \(q_{f,f'}\ne 0\), we have

$$\begin{aligned} q_{f,f'}=\exp \left( \frac{1}{2}\beta (y_{f'}-y_{f})-\alpha \right) \ge \exp \left( \frac{1}{2}\beta (y_\mathrm{{min}}-y_\mathrm{{max}})-\alpha \right) . \end{aligned}$$
(63)

Combining Eqs. (56) and (63), the lower bound of \(\varPhi \) can be derived as

$$\begin{aligned} \varPhi\ge & {} \min _{B\in \mathscr {F},\varUpsilon _{B}\in (0,1/2]}J(B,\bar{B})\nonumber \\\ge & {} \min _{f\ne f', \varPsi (f,f')>0}J(f,f')\nonumber \\= & {} \min _{f\ne f', \varPsi (f,f')>0}p_f^{*}\varPsi (f,f')\nonumber \\= & {} \min _{f\ne f', \varPsi (f,f')>0}p_f^{*}\frac{q_(f,f')}{\kappa }\nonumber \\\ge & {} \frac{p_\mathrm{{min}}}{\kappa }\exp \left( \frac{1}{2}\beta (y_\mathrm{{min}}-y_\mathrm{{max}})-\alpha \right) . \end{aligned}$$
(64)

Finally, the combination of Eqs. (51), (53), (59) and (64) would achieve

$$\begin{aligned} \tau _\mathrm{{mix}}(\varepsilon )\le & {} \frac{2}{\kappa \varPhi ^2}\left[ \ln {\frac{1}{2\varepsilon }}+\frac{1}{2}\ln {\frac{1}{p_\mathrm{{min}}}}\right] \nonumber \\\le & {} \frac{2\kappa \exp (2\alpha -\beta (y_\mathrm{{max}}-y_\mathrm{{min}}))}{p_\mathrm{{min}}^2}\left[ \ln {\frac{1}{2\varepsilon }}+\frac{1}{2}\ln {\frac{1}{p_\mathrm{{min}}}}\right] \nonumber \\\le & {} 2\delta \zeta ^2\exp \left[ \alpha +\frac{3}{2}\beta (y_\mathrm{{max}}-y_\mathrm{{min}})\right] \cdot \nonumber \\&\left[ \frac{1}{2}\ln {\zeta }+\ln {\frac{1}{2\varepsilon }}+\frac{\beta }{2}(y_\mathrm{{max}}-y_\mathrm{{min}})\right] . \end{aligned}$$
(65)

This completes the proof. \(\square \)

Appendix C. Proof of Theorem 5

Proof

We use \(f_n\rightarrow f_{n+1}\) to denote the event that the system will enter state \(f_{n+1}\) after leaving state \(f_n\) when one user is activated due to the arrival of new computation task. Let \(p_{f_n\rightarrow f_{n+1}}\) denote the probability of this event, which can be calculated as

$$\begin{aligned} p_{f_n\rightarrow f_{n+1}}=\frac{\exp (-\beta y_{f_{n+1}}^{n+1})}{\sum _{l'\in \mathscr {L},f'_{n+1}=f_n\cup {l'}}\exp \left( -\beta y_{f'_{n+1}}^{n+1}\right) }. \end{aligned}$$
(66)

As the new computation tasks arrive according to a Poisson process with parameter \(\lambda \), the users will be activated with a rate equal to \(\lambda \). Thus the system will leave state \(f_n\) and enter into state \(f_{n+1}\) at a rate of \(\lambda \). In this case, the transition rate from state \(f_n\) to \(f_{n+1}\) can be obtained as

$$\begin{aligned} q_{f_n\rightarrow f_{n+1}}=\frac{\lambda \exp (-\beta y_{f_{n+1}}^{n+1})}{\sum _{l'\in \mathscr {L},f'_{n+1}=f_n\cup {l'}}\exp \left( -\beta y_{f'_{n+1}}^{n+1}\right) }. \end{aligned}$$
(67)

When an old computation task is completed, one of the active users will go into the rest, and the system will enter into state \(f_n\) with probability

$$\begin{aligned} p_{f_{n+1}\rightarrow f_{n}}= & {} \frac{\exp (-\beta y_{f_{n}}^{n})}{\sum _{l'\in \mathscr {L},f'_{n+1}=f_n\cup {l'}}\exp (-\beta y_{f'_{n+1}}^{n+1})}\cdot \nonumber \\&\frac{\sum _{f_{n+1}\in \mathscr {F}_{n+1}}\exp \left( -\beta y_{f_{n+1}}^{n+1}\right) }{\sum _{f_n\in \mathscr {F}_n}\exp \left( -\beta y_{f_n}^n\right) }. \end{aligned}$$
(68)

There are totally \(n+1\) active users in the MEC system, each user enters into the resting state when its task is completed with parameter \(\mu \), thus the system leaves state \(f_{n+1}\) with a rate equal to \((n+1)\mu \). Then the transition rate from state \(f_{n+1}\) to \(f_{n}\) can be calculated as

$$\begin{aligned} q_{ f_{n+1}\rightarrow f_{n}}= & {} \frac{(n+1)\mu \exp \left( -\beta y_{f_{n}}^{n}\right) }{\sum _{l'\in \mathscr {L},f'_{n+1}=f_n\cup {l'}}\exp \left( -\beta y_{f'_{n+1}}^{n+1}\right) }\cdot \nonumber \\&\frac{\sum _{f_{n+1}\in \mathscr {F}_{n+1}}\exp \left( -\beta y_{f_{n+1}}^{n+1}\right) }{\sum _{f_n\in \mathscr {F}_n}\exp \left( -\beta y_{f_n}^n\right) }. \end{aligned}$$
(69)

Consequently, the proposed transition rule realizes a time-reversible Markov chain, because the transition rate satisfies:

  • First, we can verify that the constructed Markov chain is irreducible because all the configurations can reach each other within a finite number of transitions.

  • Second, it is no hard to observe that the constructed Markov chain is time-reversible since the balance equation holds between any two adjacent states \(f_n\) and \(f_{n+1}\).

  • Finally, according to the result in Ref. [27], our constructed Markov chain will converge and has a stationary distribution given by Eq. (43).

This completes the proof. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zheng, F.Y., Huang, S.L., Zhang, T.W. et al. Distributed algorithm for computation offloading in mobile edge computing considering user mobility and task randomness. J Supercomput 78, 12476–12504 (2022). https://doi.org/10.1007/s11227-022-04383-w

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-022-04383-w

Keywords

Navigation