Skip to main content
Log in

Fast node cardinality estimation and cognitive MAC protocol design for heterogeneous machine-to-machine networks

  • Published:
Wireless Networks Aims and scope Submit manuscript

Abstract

We design two estimation schemes, Method I and Method II, for rapidly obtaining separate estimates of the number of active nodes of each traffic type in a heterogeneous machine-to-machine (M2M) network with T types of nodes (e.g., those that send emergency, periodic, normal type data etc.), where \(T\ge 2\) is an arbitrary integer. Method I is a simple scheme, and Method II is more sophisticated and outperforms Method I. Also, we design a medium access control (MAC) protocol that supports multi-channel operation for a heterogeneous M2M network with T types of nodes, operating as a secondary network using Cognitive Radio technology. In every time frame, our Cognitive MAC protocol uses the proposed estimation schemes to rapidly estimate the active node cardinality of each type, and uses these estimates to find the optimal contention probabilities to be used. We compute a closed form expression for the expected number of time slots required by Method I to execute, and a simple upper bound on it. Also, we analytically obtain expressions for the expected number of successful contentions per frame and the expected amount of energy consumed. Finally, we evaluate the performances of our proposed estimation schemes and Cognitive MAC protocol using simulations.

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
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. For example, some M2M nodes need to transmit data (e.g., smart meter readings) periodically, some need to send emergency or alarm messages (e.g., in healthcare and security applications), some need to transmit normal data traffic and some need to reliably transmit data packets (e.g., in remote payment gateway systems) [3, 5, 6].

  2. Specifically, Wi-Fi has high power consumption, due to which it is not suitable for battery operated M2M devices, and Bluetooth has high latency when the number of devices is large, as is the case in M2M networks [7]. ZigBee operates on unlicensed bands and is prone to interference from Wi-Fi networks and other equipment (e.g., microwave ovens) that use those bands [4, 7]. Due to the high demand for H2H communication services such as voice, video, emails etc, only a limited amount of radio spectrum is available with cellular operators to support M2M communications [4].

  3. Note that for two nodes to be able to exchange data, both must have their wireless transceiver tuned to a common channel at a time.

  4. Note that [19] is a technical report corresponding to [18], and it is available online.

  5. Note that this would be the case in M2M networks in which the nodes are, e.g., sensors that occasionally transmit measurements or nodes that transmit alarms, emergency alerts and other infrequent messages.

  6. A given node randomly chooses a preamble from a pool of preambles and transmits it on the random access channel (RACH).

  7. |A| denotes the cardinality of set A.

  8. If all the bits of the ID are 1, then its hash value is defined to be l.

  9. See Lemma 4.1 and equation (6) on page 1446 of [21], which state that \({\hat{n}} = \frac{1}{\phi } 2^{\rho }\). The value 1.2897 is obtained by inverting \(\phi = 0.775351\), i.e., \(1/\phi = 1.2897\). In the computation of \({\hat{n}}\), \(1/\phi\) is used as a correction factor and it is introduced to improve the accuracy of the estimation [21].

  10. \(\lceil x\rceil =\) The smallest integer greater than or equal to x.

  11. Note that the block results (E, \(\alpha\)), (\(\alpha\), E), (\(\alpha\), \(\beta\)) and (\(\beta\), \(\alpha\)) cannot occur under the above protocol. The reason is as follows. Recall that active Type 1 nodes transmit symbol \(\alpha\) in both the slots, and Type 2 and Type 3 nodes do not use symbol \(\alpha\). So whenever one (respectively, two or more) node (respectively, nodes) of Type 1 transmits (respectively, transmit), then only the following results are possible: (\(\alpha\), \(\alpha\)), (\(\alpha\), C), and (C, \(\alpha\)) (respectively, (C, C)). Hence, whenever symbol \(\alpha\) is observed in one slot, the result of the other slot should be either \(\alpha\) or C.

  12. For example: (i) If the outcome is (\(\alpha , \alpha , \ldots , \alpha\)), then it implies that exactly one node from \({\mathcal {N}}_1\) has transmitted and no nodes from \({\mathcal {N}}_2, \ldots , {\mathcal {N}}_T\) have transmitted. (ii) If the outcome is (\(\beta , \beta , \ldots , \beta\)), then it implies that exactly one node from each of \({\mathcal {N}}_2, \ldots , {\mathcal {N}}_T\) have transmitted and no node from \({\mathcal {N}}_1\) has transmitted. (iii) If the outcome is (\(\alpha , C, C, \ldots , C, C, \alpha\)), then it implies that exactly one node from \({\mathcal {N}}_1\), at least one node from \({\mathcal {N}}_3, {\mathcal {N}}_4, \ldots , {\mathcal {N}}_{T-2}, {\mathcal {N}}_{T-1}\) have transmitted and no node from \({\mathcal {N}}_2\) and \({\mathcal {N}}_T\) have transmitted. (iv) If the outcome is (\(\beta , C, E, \beta , E, E, \ldots , E\)), then it implies that exactly one node from each of \({\mathcal {N}}_2\) and \({\mathcal {N}}_5\), at least two nodes from \({\mathcal {N}}_3\) have transmitted, and no nodes from any of the remaining types have transmitted.

  13. For example, \(S_W\) may be 5 [22].

  14. For each \(j \in \{1, \dots , |C_{II}|\}\), the \(((j-1)(T-1)+1)^{th}\), …, \((j(T-1))^{th}\) slots of the third phase are used by nodes from \({\mathcal {N}}_2, \ldots , {\mathcal {N}}_T\) respectively. Specifically, for each \(j = 1, \dots , |C_{II}|\), in slot \(((j-1)(T-1)+1)\) (respectively, \(((j-1)(T-1)+2)\), …, \((j(T-1)\))) of the third phase, the active nodes from \({\mathcal {N}}_2\) (respectively, \({\mathcal {N}}_3\), …, \({\mathcal {N}}_T\)) whose hash value equals the first phase block number, say i, of the \(j^{th}\) element of \(C_{II}\) transmit. If slot \(((j-1)(T-1)+1)\) (respectively, \(((j-1)(T-1)+2)\), …, \((j(T-1)\))) is empty, then \(B(2,i) = 0\) (respectively, \(B(3,i) = 0\), …, \(B(T,i) = 0\)), else \(B(2,i) = 1\) (respectively, \(B(3, i) = 1\), …, \(B(T, i) = 1\)). Also, since \(B(1,i) = 1\), the above ambiguity is resolved in the third phase.

  15. For example, each active node of Type 1 and hash value i transmits symbol \(\alpha\) in slot 1 and does not transmit in slots \(2, \ldots , \eta _T\) of block \(B_i\). Each active node of Type 2 and hash value i transmits symbol \(\alpha\) in slots 1 and 2 and does not transmit in slots \(3, \ldots , \eta _T\) of block \(B_i\). For T even, each active node of Type T and hash value i transmits symbol \(\beta\) in slots \(1, \ldots , \eta _T\) of block \(B_i\). For T odd, each active node of Type T and hash value i transmits symbol \(\beta\) in slot 1, symbol \(\alpha\) in slot \(\eta _T\), and does not transmit in slots \(2, \ldots , \eta _T -1\) of block \(B_i\).

  16. For example: Let us consider the case \(T=4\). From Fig. 4, we get that the symbol combinations used are \((\alpha , 0)\), \((\alpha , \alpha )\), \((0, \beta )\), and \((\beta , \beta )\). If the slot results in the first phase of block \(B_i\) are (\(\alpha , \beta\)), it implies that exactly one node each from Type 1 (hence, \(B(1,i)=1\)), Type 3 (hence, \(B(3,i)=1\)), and no nodes from Type 2 (hence, \(B(2,i)=0\)), Type 4 (hence, \(B(4,i)=0\)) have transmitted.

  17. We assume that the probabilities \(z_i\) are known to the base station; for example, they can be estimated using past observations of PU occupancies on different channels.

  18. Recall that for \(T = 2\) and \(T = 3\), the same estimation scheme is used under Methods I and II described in Sect. 4. For \(T \ge 4\), either Method I or Method II can be used in the EW.

  19. Note that although the value of \(R_s\) is not known in advance, after the first (respectively, second) phase of the estimation scheme, the BS can find the value of \(|C_I|\) (respectively, \(|C_{II}|\)) (see Sects. 4.1.1 and 4.1.2). So the information required to reserve \(R_s\) slots is available with the network.

  20. \(\lfloor x\rfloor =\) The largest integer less than or equal to x.

  21. All our simulations were done using the MATLAB software.

  22. Let \(n_b\) (respectively, \({\hat{n}}_b\)) be the number of active nodes (respectively, estimate of the number of active nodes) of Type b. Let \(\epsilon\) and \(\delta\) denote the desired relative estimation error and estimation scheme failure probability respectively [25]. For the given accuracy requirements (\(\epsilon , \delta\)), under each estimation scheme, estimates \({\hat{n}}_b\) are obtained by independently running the scheme multiple times and averaging the results; the number of runs is selected such that \(Pr(|{\hat{n}}_b - n_b| \le \epsilon n_b) \ge 1 - \delta\). In our simulations, the parameter values \(\epsilon = 0.05\) and \(\delta = 0.01\) are used.

  23. Note that for \(T = 2\) and \(T= 3\), we use the same scheme in both the methods. Hence, \(q^I_{threshold}= q^{II}_{threshold}\) for \(T = 2\) and \(T= 3\). Also, Fig. 10a shows that for odd values of \(T \ge 5\), \(q^{II}_{threshold}\) is higher than \(q^{II}_{threshold}\) for \(T-1\) (which is even). Intuitively, this is because in Method II, for even values of T, \((T/2)t_T\) slots are used in the first phase, whereas for odd values of T, only \(((T-1)/2)t_T\) slots are used in the first phase.

  24. Note that the ideal protocol is not practically implementable and is considered only for comparison with the proposed protocol.

  25. \(\left( \frac{1}{4}\right) ^{l_{n_r} + k} \le \left( \frac{1}{4}\right) ^{\log _2n_r} \le \left( \frac{1}{4}\right) ^k = \left( \frac{1}{4^k n_r^2}\right)\) for \(k = 0, 1, \dots , s -2\).

  26. \(\left( \frac{1}{4^{T-1}}\right) ^{l_{n_r} + k} \le \left( \frac{1}{4^{T-1}}\right) ^{\log _2n_r} \left( \frac{1}{4^{T-1}}\right) ^k\) for \(k = 0, 1, 2, \dots , s-2\).

  27. \(\left( \frac{1}{2^{T}}\right) ^{l_{n_r} + k} \le \left( \frac{1}{2^{T}}\right) ^{\log _2n_r} \left( \frac{1}{2^T}\right) ^k\) for \(k = 0, 1, 2, \dots , s-2\).

  28. For example: If Slot 1 results in \(\alpha\) and Slot 2 results in \(\beta\), then the BS infers that in block \(B_i\), exactly one node each of Type 1 (hence, \(B(1,i) = 1\)) and Type 3 (hence, \(B(3,i) = 1\)) have transmitted, and no nodes of Type 2 (hence, \(B(2,i) = 0\)) and Type 4 (hence, \(B(4,i) = 0\)) have transmitted. Similarly, if Slot 1 results in E and Slot 2 results in \(\beta\), then the BS infers that in block \(B_i\), exactly one node of Type 3 (hence, \(B(3,i) = 1\)) has transmitted, and no nodes of Type 1 (hence, \(B(1,i) = 0\)), Type 2 (hence, \(B(2,i) = 0\)), and Type 4 (hence, \(B(4,i) = 0\)) have transmitted.

  29. For example: If Slot 1 results in C and Slot 2 results in \(\alpha\), then the BS infers that at least one node of Type 1 and exactly one node of Type 2 are active, and all Type 3 and Type 4 nodes are inactive. Similarly, if Slot 1 results in C and Slot 2 results in \(\beta\), then the BS infers that at least one node of Type 1 is active, no node of Type 2 is active, and exactly one node of Type 3 or Type 4 is active.

  30. For example– at least two nodes of Type 2 (second row) or exactly one node each of Types 2 and 4 (fourth row) or at least two nodes of each of Types 1 and 3 and none of Types 2 and 4 (last row).

  31. For example (i) if the two bits in the \((2j-1)^{th}\) and \((2j)^{th}\) positions of the concatenated bit string are 00, then it implies that the activity or inactivity of nodes of all the types is known with certainty to the BS for the \(j^{th}\) block; hence all these nodes will be in silent mode during the second phase, (ii) if the two bits in the \((2j-1)^{th}\) and \((2j)^{th}\) positions of the concatenated bit string are 10, then it implies that ambiguity exists regarding the activity or inactivity of nodes of Types 1 and 2 and the activity or inactivity of nodes of Types 3 and 4 has been inferred with certainty for the \(j^{th}\) block. Hence, during the second phase, active nodes of Types 1 and 2 corresponding to the \(j^{th}\) block will participate to resolve the ambiguity and nodes of Types 3 and 4 will be in silent mode.

References

  1. Kadam, S., Raut, C. S., & Kasbekar, G. S. (2017). Fast node cardinality estimation and cognitive mac protocol design for heterogeneous M2M networks. In Proceedings of IEEE GLOBECOM (pp. 1–7).

  2. Kadam, S., Raut, C. S., Meena, A., & Kasbekar, G. S. (2018). Fast node cardinality estimation and cognitive MAC protocol design for heterogeneous machine-to-machine networks. Technical Report. arXiv:1812.03902.pdf.

  3. Wu, G., Talwar, S., Johnsson, K., Himayat, N., & Johnson, K. D. (2011). M2M: From Mobile to Embedded Internet. IEEE Communications Magazine, 49(4), 36–43.

    Article  Google Scholar 

  4. Zhang, Y., Yu, R., Nekovee, M., Liu, Y., Xie, S., & Gjessing, S. (2012). Cognitive machine-to-machine communications: Visions and potentials for the smart grid. IEEE Network, 26(3), 6–13.

    Article  Google Scholar 

  5. Rajandekar, A., & Sikdar, B. (2015). A survey of MAC layer issues and protocols for machine-to-machine communications. IEEE Internet Things Journal, 2(2), 175–186.

    Article  Google Scholar 

  6. 3GPP. (2014). Service Requirements for Machine-Type Communications. TS 22.368 V13.1.0.

  7. Aijaz, A., & Aghvami, A.-H. (2015). PRMA-based cognitive machine-to-machine communications in smart grid networks. IEEE Transactions on Vehicular Technology, 64(8), 3608–3623.

    Article  Google Scholar 

  8. Akyildiz, I. F., Lee, W.-Y., Vuran, M. C., & Mohanty, S. (2006). NeXt generation/dynamic spectrum access/cognitive radio wireless networks: A survey. Computer Networks, 50(13), 2127–2159.

    Article  Google Scholar 

  9. De Domenico, A., Strinati, E. C., & Di Benedetto, M.-G. (2012). A survey on MAC strategies for cognitive radio networks. IEEE Communications Surveys and Tutorials, 14(1), 21–44.

    Article  Google Scholar 

  10. So, J., & Vaidya, N. H. (2004). Multi-Channel MAC for Ad Hoc networks: Handling multi-channel hidden terminals using a single transceiver. In Proceedings of ACM MobiHoc, pp. 222–233.

  11. Cordeiro, C., & Challapali, K. (2007). C-MAC: A cognitive MAC protocol for multi-channel wireless networks. In Proceedings of DySPAN (pp. 147–157).

  12. Bertsekas, D. P, & Gallager, R. G. (1992).Data Networks. PHI, 2nd ed.

  13. Duan, S., Shah-Mansouri, V., Wang, Z., & Wong, V. W. S. (2016). D-ACB: adaptive congestion control algorithm for bursty M2M traffic in LTE networks. IEEE Transactions on Vehicular Technology, 65(12), 9847–9861.

    Article  Google Scholar 

  14. Ashrafuzzaman, K., & Fapojuwo, A. O. (2018). Efficient and agile carrier sense multiple access in capillary machine-to-machine communication networks. IEEE Access, 6, 4916–4932.

    Article  Google Scholar 

  15. Tavana, M., Rahmati, A., & Shah-Mansouri, V. (2018). Congestion control with adaptive access class barring for LTE M2M overload using Kalman filters. Computer Networks, 141, 222–233.

    Article  Google Scholar 

  16. El Tanab, M., & Hamouda, W. (2019). Machine-to-machine communications with massive access: congestion control. IEEE Internet Things Journals, 6(2), 3545–3557.

    Article  Google Scholar 

  17. Liu, J., Zhou, W., & Song, L. (2017). A novel congestion reduction scheme for massive machine-to-machine communication. IEEE Access, 5, 18765–18777.

    Article  Google Scholar 

  18. S. Vivek Y., Prasad, P. H., Kumar, R., Kadam, S., & Kasbekar, G. S. (2019). Rapid node cardinality estimation in heterogeneous machine-to-machine networks. In Proceedings of IEEE VTC D’IoT, pp. 1–7, Spring.

  19. S. Vivek Y., Prasad, P. H., Kumar, R., Kadam, S., & Kasbekar, G. S. (2018). rapid node cardinality estimation in heterogeneous machine-to-machine networks,” Technical Report, 2018. [Online]. https://www.ee.iitb.ac.in/~gskasbekar/gaurav_publications.html. Accessed Oct 2018.

  20. Kadam, S., S. Vivek Y., Prasad, P. H., Kumar, R., & Kasbekar, G. S. (2019). Rapid node cardinality estimation in heterogeneous machine-to-machine networks. submitted to a journal, under review. Corr. Technical Report (2019). arXiv:1907.04133.pdf.

  21. Qian, C., Ngan, H., Liu, Y., & Ni, L. M. (2011). Cardinality estimation for large-scale RFID systems. IEEE Transactions on Parallel and Distributed Systems, 22(9), 1441–1454.

    Article  Google Scholar 

  22. Kodialam, M., Nandagopal, T., & Lau, W. C. (2007). Anonymous tracking using RFID tags. In Proceedings of IEEE INFOCOM, pp. 1217–1225.

  23. Han, H., Sheng, B., Tan, C. C., Li, Q., Mao, W., & Lu, S. (2010). Counting RFID Tags Efficiently and Anonymously. In Proceedings of IEEE INFOCOM, pp. 1028–1036.

  24. Flajolet, P., & Martin, G. N. (1985). Probabilistic counting algorithms for data base applications. Journal of Computer and System Sciences, 31(2), 182–209.

    Article  MathSciNet  Google Scholar 

  25. Zhou, Z., Chen, B., & Yu, H. (2016). Understanding RFID counting protocols. IEEE/ACM Transactions on Networking, 24(1), 312–327.

    Article  Google Scholar 

  26. Liu, X., Xie, X., Li, K., Xiao, B., Wu, J., Qi, H., et al. (2017). Fast tracking the population of key tags in large-scale anonymous RFID systems. IEEE/ACM Transactions on Networking, 25(1), 278–291.

    Google Scholar 

  27. Chen, H., Xue, G., & Wang, Z. (2017). Efficient and reliable missing tag identification for large-scale RFID systems with unknown tags. IEEE Internet Things Journals, 4(3), 736–748.

    Article  Google Scholar 

  28. Gong, W., Liu, J., Liu, K., & Liu, Y. (2017). Toward more rigorous and practical cardinality estimation for large-scale RFID systems. IEEE/ACM Transactions on Networking, 25(3), 1347–1358.

    Article  Google Scholar 

  29. Zhou, Z., & Chen, B. (2018). RFID counting over time-varying channels. In Proceedings of IEEE INFOCOM (pp. 1142–1150).

  30. Liu, X., Li, K., Liu, A. X., Guo, S., Shahzad, M., Wang, A. L., et al. (2017). Multi-category RFID estimation. IEEE/ACM Transactions on Networking, 25(1), 264–277.

    Article  Google Scholar 

  31. “Information Technology—Radio Frequency Identification for Item Management—Part 6: Parameters for Air Interface Communications at 860 MHz to 960 MHz General,” ISO/IEC Standard 18000-6 (2013).

  32. Lai, Y.-C., Hsiao, L.-Y., Chen, H.-J., Lai, C.-N., & Lin, J.-W. (2013). A novel query tree protocol with bit tracking in RFID tag identification. IEEE Transactions on Mobile Computing, 12(10), 2063–2075.

    Article  Google Scholar 

  33. Hossain, M. A., & Sarkar, N. I. (2018). A distributed multichannel MAC protocol for rendezvous establishment in cognitive radio Ad Hoc networks. Ad Hoc Network, 70, 44–60.

    Article  Google Scholar 

  34. Lopez, D. A., Rojas, C. A., Zapata, D. F., & Trujillo, E. R. (2018). Designing a MAC algorithm for equitable spectrum allocation in cognitive radio wireless networks. Wireless Personal Communications, 98(1), 363–394.

    Article  Google Scholar 

  35. Kadam, S., Prabhu, D., Rathi, N., Chaki, P., & Kasbekar, G. S. (2019). Exploiting group structure in MAC protocol design for multichannel Ad Hoc cognitive radio networks. IEEE Transactions on Vehicular Technology, 68(1), 893–907.

    Article  Google Scholar 

  36. Feng, P., Bai, Y., Huang, J., Wang, W., Gu, Y., & Liu, S. (2019). CogMOR-MAC: A Cognitive Multi-Channel Opportunistic Reservation MAC for Multi-UAVs Ad Hoc Networks. Computer and Communication, 136, 30–42.

    Article  Google Scholar 

  37. Liu, Y., Yu, R., Pan, M., Zhang, Y., & Xie, S. (2017). SD-MAC: Spectrum database-driven MAC protocol for cognitive machine-to-machine networks. IEEE Transactions on Vehicular Technology, 66(2), 1456–1467.

    Article  Google Scholar 

  38. Qureshi, F. F., Iqbal, R., & Asghar, M. N. (2017). Energy efficient wireless communication technique based on cognitive radio for Internet of Things. Journal of Network and Computer Applications, 89, 14–25.

    Article  Google Scholar 

  39. Zikria, Y. B., Ishmanov, F., Afzal, M. K., Kim, S. W., Nam, S. Y., & Yu, H. (2017). Opportunistic channel selection MAC protocol for cognitive radio Ad Hoc sensor networks in the Internet of Things. Sustainable Computing: Informatics and Systems, 18, 112–120.

    Google Scholar 

  40. Miao, G., Azari, A., & Hwang, T. (2016). \(E^{2}\) -MAC: energy efficient medium access for massive M2M communications. IEEE Transactions on Communications, 64(11), 4720–4735.

    Article  Google Scholar 

  41. Saad, W., El-Feshawy, S. A., Shokair, M., & Dessouky, M. I. (2018). Optimised approach based on hybrid MAC protocol for M2M networks. IET Network, 7(6), 393–397.

    Article  Google Scholar 

  42. Verma, P. K., Verma, R., Prakash, A., Agrawal, A., Naik, K., Tripathi, R., et al. (2016). Machine-to-machine (M2M) communications: A survey. Journal of Network and Computer Applications, 66, 83–105.

    Article  Google Scholar 

  43. Wang, H., & Fapojuwo, A. O. (2017). A survey of enabling technologies of low power and long range machine-to-machine communications. IEEE Communications Surveys and Tutorials, 19(4), 2621–2639.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sachin Kadam.

Additional information

Publisher's Note

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

The contributions of S. Kadam and G. Kasbekar have been supported by SERB grant SB/S3/EECE/157/2016. A preliminary version of this paper [1] was presented at the IEEE GLOBECOM 2017 conference and was published in its proceedings (https://doi.org/10.1109/GLOCOM.2017.8254618). A technical report corresponding to this paper is available online [2].

C. Raut: He worked on this research while he was with IIT Bombay. A. Meena: He worked on this research while he was with IIT Bombay.

Appendices

Appendix 1: Proofs of the upper bounds obtained in Section 4.1.5

Proof of Theorem 1

Since \(K_T = \sum _{i=0}^{t_T-1} I_{\{S_1^{(i)} = C, \ldots , S_{T-1}^{(i)} = C\}}\) (see Sect. 4.1.4), the expected number of slots required in the second phase is \(E(K_T) = \sum _{i=0}^{t_T-1} P(C_i)\), where \(C_i\) is the event that collisions occur in all the \(T-1\) slots of block \(B_i\). Now, \(C_i = A_i \cup F_i \cup D_i\), where

\(A_i\) : Event that at least two Type 1 nodes transmit in block \(B_i\);

\(F_i\) : Event that at least two each of Type 2, \(\ldots\) , Type T nodes transmit in block \(B_i\);

\(D_i\) : Event that exactly one Type 1 node and one Type 2, \(\ldots\) , one Type T node transmit in block \(B_i\).

Using the union bound, upper bounds for \(P(A_i)\), \(P(F_i)\) and \(P(D_i)\) are computed as,

$$\begin{aligned} P(A_i)\le & {} {{n_1} \atopwithdelims (){2}} p_i^2 \le \frac{n_1^2}{2}p_i^2; \end{aligned}$$
(11)
$$\begin{aligned} P(F_i)\le & {} {{n_2} \atopwithdelims (){2}} p_i^2 \ldots {{n_T} \atopwithdelims (){2}} p_i^2 \le (n_2 \ldots n_T)^2 \Big (\frac{p_i^2}{2}\Big )^{T-1}; \end{aligned}$$
(12)
$$\begin{aligned} P(D_i)\le & {} (n_1 p_i)\ldots (n_T p_i) = (n_1 \ldots n_T) p_i^T; \end{aligned}$$
(13)

where \(p_i\) is given by (3).

Next, recall that \(l_{n_r} = \lceil (\log _2n_r)\rceil\). Using the union bound, \(P(C_i) \le P(A_i) + P(F_i) + P(D_i) \le ({n_1^2}/{2})p_i^2 + (n_2 \ldots n_T)^2 (p_i^2/{2})^{T-1} + n_1 \ldots n_T p_i^T\). Now,

$$\begin{aligned} E(K_T) = \sum _{i=0}^{t_T-1} P(C_i) = \sum _{i=0}^{l_{n_r} - 2} P(C_i) + \sum _{i= l_{n_r} - 1}^{t_T-1} P(C_i). \end{aligned}$$
(14)

Let us consider the first summation of (14),

$$\begin{aligned} \sum _{i=0}^{l_{n_r} - 2} P(C_i) \le \sum _{i=0}^{ l_{n_r} - 2} 1= l_{n_r} - 1. \end{aligned}$$
(15)

Now consider the second summation of (14), in which \(t_T\) can be written as \(t_T = l_{n_r} + s\),

$$\begin{aligned}&\sum _{i={l_{n_r} - 1}}^{l_{n_r} + s - 1} P(C_i)\nonumber \\&\quad \le \sum _{i={l_{n_r} -1}}^{l_{n_r} + s -1} \left( \frac{n_1^2}{2}p_i^2 + \frac{(n_2 \ldots n_T)^2}{2^{T-1}} p_i^{2(T-1)} + {n_1 \ldots n_T} p_i^T\right) \nonumber \\&\quad = \frac{n_1^2}{2} \Bigg [\sum _{i={l_{n_r} -1}}^{l_{n_r} + s -2} \left( \frac{1}{4}\right) ^{i+1} + \left( \frac{1}{4}\right) ^{l_{n_r} + s-1} \Bigg ] \nonumber \\&\qquad + \frac{(n_2 \ldots n_T)^2}{2^{T-1}} \Bigg [\sum _{i={l_{n_r} -1}}^{l_{n_r} + s -2} \left( \frac{1}{4^{T-1}}\right) ^{i+1} + \left( \frac{1}{4^{T-1}}\right) ^{l_{n_r} + s-1}\Bigg ]\nonumber \\&\qquad + n_1 \ldots n_T \Bigg [\sum _{i={l_{n_r} -1}}^{l_{n_r} + s - 2} \left( \frac{1}{2^T}\right) ^{i+1} + \left( \frac{1}{2^T}\right) ^{l_{n_r} + s-1}\Bigg ] \ (\text{ by } (3)) \end{aligned}$$
(16)

Let us consider the series, \(S(r,n) = 1 + r + r^2 + \ldots + r^{n-1} + r^{n-1}\), where n is an integer and \(0< r < 1\). A simplified formula for the sum S(rn) is as follows.

$$\begin{aligned} S(r,n) = \frac{1 - r^n}{1-r} + r^{n-1} = \frac{1-2r^n(1-1/2r)}{1-r}. \end{aligned}$$
(17)

Let us consider individual upper bounds for each quantity in (16). We get,Footnote 25Footnote 26Footnote 27

$$\begin{aligned}&\frac{n_1^2}{2} \Bigg [\sum _{i={l_{n_r} -1}}^{l_{n_r} + s -2} \left( \frac{1}{4}\right) ^{i+1} + \left( \frac{1}{4}\right) ^{l_{n_r} + s-1} \Bigg ] \nonumber \\&\quad \le \frac{n_1^2}{2} \left[ \frac{1}{n_r^2} + \frac{1}{4n_r^2} + \frac{1}{16n_r^2} + \ldots \ldots + \frac{1}{4^{s-2}n_r^2} + \frac{1}{4^{s-2}n_r^2 }\right] \nonumber \\&\quad = \frac{n_1^2}{2n_r^2} \Bigg [ \frac{1-2(1/4^s)(1-4/2)}{1-1/4}\Bigg ] \text { (by~(17))}\nonumber \\&\quad = \frac{2}{3} \frac{n_1^2}{n_r^2}\Big ( 1 + 2/4^s\Big ). \end{aligned}$$
(18)
$$\begin{aligned}&\frac{(n_2 \ldots n_T)^2}{2^{T-1}} \Bigg [\sum _{i={l_{n_r} -1}}^{l_{n_r} + s -2} \left( \frac{1}{4^{T-1}}\right) ^{i+1} + \left( \frac{1}{4^{T-1}}\right) ^{l_{n_r} + s-1}\Bigg ] \nonumber \\&\quad \le \frac{(n_2 \ldots n_T)^2}{2^{T-1}} \left( \frac{1}{4^{T-1}}\right) ^{\log _2n_r} \nonumber \\&\qquad \left[ 1 + \frac{1}{4^{(T-1)}} + \frac{1}{4^{2(T-1)}} + \dots +\frac{1}{4^{(s-1)(T-1)}} +\frac{1}{4^{(s-1)(T-1)}}\right] \nonumber \\&\quad = \Big (\frac{n_2 \ldots n_T}{n_r^{T-1}}\Big )^2 \frac{1}{2^{T-1} (1 - 4^{-(T-1)})} \nonumber \\&\qquad \bigg (1 - \frac{2}{4^{(T-1)s}} \Big (1 - \frac{4^{T-1}}{2}\Big )\bigg ) \text { (by~(17))}. \end{aligned}$$
(19)
$$\begin{aligned}&n_1 \ldots n_T \Bigg [\sum _{i={l_{n_r} -1}}^{l_{n_r} + s - 2} \left( \frac{1}{2^T}\right) ^{i+1} + \left( \frac{1}{2^T}\right) ^{l_{n_r} + s-1}\Bigg ] \nonumber \\&\quad \le n_1 \ldots n_T \left( \frac{1}{2^{T}}\right) ^{\log _2n_r} \nonumber \\&\qquad \left[ 1 + \frac{1}{2^T} + \frac{1}{2^{2T}} + \dots + \frac{1}{2^{(s-1)T}} + \frac{1}{2^{(s-1)T}}\right] \nonumber \\&\quad = \Big (\frac{n_1 \ldots n_T}{n_r^T}\Big ) \frac{1}{1 - 2^{-T}} \Big ( 1 - \frac{2}{2^{Ts}} (1 - 2^{T-1})\Big ) \text { (by~(17))}. \end{aligned}$$
(20)

By (14)–(16) and (1819)–(20), we get:

$$\begin{aligned} E(K_T)&\le {} l_{n_r} - 1+ \frac{2}{3} \frac{n_1^2}{n_r^2}\Big (1+2/4^s\Big ) + \Big (\frac{n_2 \ldots n_T}{n_r^{T-1}}\Big )^2 \nonumber \\&\quad \times \frac{1}{2^{T-1} (1 - 4^{-(T-1)})} \bigg (1 - \frac{2}{4^{(T-1)s}} \Big (1 - \frac{4^{T-1}}{2}\Big )\bigg )\nonumber \\&\quad + \Big (\frac{n_1 \ldots n_T}{n_r^T}\Big ) \frac{1}{1 - 2^{-T}} \Big ( 1 - \frac{2}{2^{Ts}} (1 - 2^{T-1})\Big ). \end{aligned}$$
(21)

\(\square\)

Proof of Theorem 2

The expected number of slots required in the third phase is (see Sect. 4.1.4) \(E(R_T) = \sum _{i=0}^{t_T-1} P(A_i)\), where the event \(A_i\) is as defined in the proof of Theorem 1. Recall that \(l_{n_r} = \lceil (\log _2n_r)\rceil\). From the inequalities shown in (111213), (15) and (1819), we get:

$$\begin{aligned} E(R_T) \le l_{n_r} - 1 + \frac{2}{3} \frac{n_1^2}{n_r^2}\Big (1+2/4^s\Big ). \end{aligned}$$
(22)

\(\square\)

Appendix 2: Method II in the special cases \(T = 4\), \(T = 5\), and \(T = 6\)

1.1 Scheme for \(T = 4\)

The first phase consists of \(t_4\) blocks, each consisting of two slots. From Fig. 4, it follows that the symbol combinations given in the following table are used.

Type

Symbol Combination

1

\(\alpha\) 0

2

\(\alpha\)\(\alpha\)

3

0 \(\beta\)

4

\(\beta\)\(\beta\)

1.1.1 First phase

In each slot of the first phase there are four possible outcomes: E, \(\alpha\), \(\beta\), and C. Hence, the total number of possible outcomes in the two slots of a block is \(4^2 = 16\). It is easy to see that the bit patterns \(B(b, i), b \in \{1, 2, 3, 4\}\), can be unambiguously found by the BS if no collision occurs in either of the slots of block \(B_i\).Footnote 28 So next, we consider the cases in which at least one collision occurs per block. The number of cases in which a collision occurs in exactly one slot of a block is \(\left( {\begin{array}{c}2\\ 1\end{array}}\right) \times 3 = 6\). The possible outcomes in a block in these 6 cases are shown in the first two columns of Table 2. The types of nodes listed under the ‘Active’ (respectively, ‘Inactive’) column are unambiguously identified by the BS as being active (respectively, inactive) at the end of the first phase; the types listed under the ‘Not Sure’ column are those for which ambiguity exists, and this ambiguity needs to be resolved in the second phase.Footnote 29

Table 2 This table shows the inferences drawn by the BS regarding the activity or inactivity of various types of nodes for each of the outcomes in which exactly one collision occurs per block

Table 3 shows the possible combinations of numbers of active nodes of different types for which the result CC may occur in a block of the first phase.Footnote 30 From this table, it can be seen that if the result CC occurs in a block, then ambiguity remains about the activity or inactivity of all four node types, and this ambiguity needs to be resolved in the second phase.

Table 3 This table shows the possible combinations of numbers of active nodes of different types for which the block result CC may occur

1.1.2 Broadcast packet (BP)

The list of type numbers for which ambiguity about activity or inactivity needs to be resolved in each block is informed to all nodes by the BS through a BP, which consists of a bit stream, just after the first phase (see Fig. 3). For a given T, let \(S_{NS}(T)\) be the set of all possible subsets of types of nodes for which the BS may not be sure of their activity or inactivity for a block after the first phase; the case where the activity (or inactivity) of every type of node is known to the BS with certainty is included in the set \(S_{NS}(T)\) as an empty set (\(\emptyset\)). From Tables 2 and 3, we can see that \(S_{NS}(4) = \{ \{3, 4\}, \{1, 2\}, \{1, 2, 3, 4\}, \emptyset \}\). Suppose the bit strings 00, 01, 10 and 11 are used to represent the cases \(\emptyset , \{3, 4\}, \{1, 2\}, \{1, 2, 3, 4\}\) respectively. The BS concatenates the bit strings corresponding to all the blocks of the first phase and sends the concatenated bit string in the BP; this concatenated list is received by all active nodes and they act accordingly during the second phase.Footnote 31

Let b(T) be the number of bits used to represent each element of the set \(S_{NS}(T)\). Then the length of the BP (in terms of number of slots) for a given T is given by:

$$\begin{aligned} len_{BP}(T) = \lceil (b(T) \times t_T)/S_W\rceil . \end{aligned}$$
(23)

For \(T=4\), \(b(4) = \lceil \log _2 |S_{NS}(4)|\rceil = 2\). Hence, \(len_{BP}(4) = \lceil (2 t_4)/S_W\rceil\).

1.1.3 Second phase

In this phase only active nodes of those types and hash values (blocks) participate, for which ambiguity exists after the first phase. The first phase block results \(C \beta\) and \(\alpha C\) (see Table 2) require one additional slot in the second phase to resolve the ambiguity. In case the result of a block is \(C \beta\) (respectively, \(\alpha C\)), active Type 3 (respectively, Type 1) nodes corresponding to that block respond with symbol \(\alpha\) and active Type 4 (respectively, Type 2) nodes corresponding to that block respond with symbol \(\beta\) in their corresponding slot of the second phase. If the slot outcome is \(\alpha\), then it implies that a node of Type 3 (respectively, Type 1) is active, else the slot outcome is \(\beta\), and it implies that a node of Type 4 (respectively, Type 2) is active. Thus, the ambiguity for the block is resolved at the end of the second phase. In case the result CC occurs in a block of the first phase, then ambiguity exists regarding the activity or inactivity of nodes of all four types at the end of the first phase; then, for each of the groups \((\{\text {Type 1, Type 2}\}, \{\text {Type 3, Type 4}\})\), the estimation scheme for \(T=2\) is used in the second phase to resolve this ambiguity. Note that Method II is recursive– if the result CC occurs in a block of the first phase while executing the scheme for \(T = 4\), the scheme for \(T = 2\) is used to resolve the ambiguity for that block in the second phase.

1.2 Scheme for \(T = 5\)

The first phase consists of \(t_5\) blocks, each consisting of two slots. From Fig. 4, it follows that the symbol combinations given in the following table are used.

Type

Symbol Combination

1

\(\alpha\) 0

2

\(\alpha\)\(\alpha\)

3

0 \(\beta\)

4

\(\beta\)\(\beta\)

5

\(\beta\)\(\alpha\)

1.2.1 First phase

The number of cases in which a collision occurs in exactly one slot of a block is \(\left( {\begin{array}{c}2\\ 1\end{array}}\right) \times 3 = 6\). The possible outcomes in a block in these cases and the inferences drawn by the BS regarding the activity or inactivity of various types of nodes for each of these outcomes are shown in Table 4. From Table 4 it can be seen that the block results \(C \alpha\), \(C \beta\), \(\alpha C\) and \(\beta C\) require additional slots in the second phase to resolve ambiguity. Finally, it is easy to check that if the result CC occurs in a block, then ambiguity remains about the activity or inactivity of all five node types, and this ambiguity needs to be resolved in the second phase.

Table 4 This table shows the inferences drawn by the BS regarding the activity or inactivity of various types of nodes for each of the outcomes in which exactly one collision occurs per block

1.2.2 Broadcast packet (BP)

A BP similar to that described in Section B.1.2 is sent by the BS after the first phase. Using notation similar to that in that section, \(S_{NS}(5) = \{ \{2, 5\}, \{3, 4\},\)\(\{1, 2\}, \{4, 5\}, \{1, 2, 3, 4, 5\},\)\(\emptyset \}\). So \(b(5) = \lceil \log _2 |S_{NS}(5)|\rceil = 3\) and \(len_{BP}(5)\) = \(\lceil b(5) \times t_5/S_W\rceil = \lceil 3t_5/S_W\rceil\).

1.2.3 Second phase

In this phase only active nodes of those types and hash values participate, for which ambiguity still exists after the first phase. To resolve the ambiguity in case of the block results \(C \alpha\), \(C \beta\), \(\alpha C\), and \(\beta C\), an approach similar to the one described in Section B.1.3 for the cases \(C \beta\) and \(\alpha C\) is used; in particular, one additional slot is required in the second phase. In case the block result CC occurs, the set of node types is divided into two groups: \((\{\text {Type 1, Type 2, Type 3}\}\), \(\{\text {Type 4, Type 5}\})\). For the first (respectively, second) group, the scheme for \(T = 3\) (respectively, \(T=2\)) is (recursively) used in the second phase to resolve the ambiguity.

1.3 Scheme for \(T = 6\)

The first phase consists of \(t_6\) blocks, each consisting of 3 slots. From Fig. 4, it follows that the symbol combinations given in the following table are used.

Type

Symbol Combination

1

\(\alpha\) 0 0

2

\(\alpha\)\(\alpha\) 0

3

\(\alpha\)\(\alpha\)\(\alpha\)

4

0 0 \(\beta\)

5

0 \(\beta\)\(\beta\)

6

\(\beta\)\(\beta\)\(\beta\)

1.3.1 First phase

The number of cases in which a collision occurs in exactly one slot (respectively, two slots) of a block is \(\left( {\begin{array}{c}3\\ 1\end{array}}\right) \times 3^2 = 27\) (respectively, \(\left( {\begin{array}{c}3\\ 2\end{array}}\right) \times 3 = 9\)). Out of these \(27 + 9 = 36\) cases, in Table 5, we only show the cases where ambiguity about the activity or inactivity of some of the types of nodes exists and additional slots in the second phase are needed to resolve the ambiguity. Also, it is easy to check that if the result CCC occurs in a block of the first phase, then ambiguity remains about the activity or inactivity of all six node types, and this ambiguity needs to be resolved in the second phase.

Table 5 This table shows the inferences drawn by the BS regarding the activity or inactivity of various types of nodes for each of the outcomes in which one or two collisions occur per block and ambiguity about the activity or inactivity of some of the types of nodes exists

1.3.2 Broadcast packet (BP)

A BP similar to that described in Section B.1.2 is sent by the BS after the first phase. Using notation similar to that in that section, \(S_{NS}(6) = \{ \{5, 6\},\{2, 3\}, \{1\}, \{1, 4, 5, 6\}, \{4\},\)\(\{1, 2, 3, 4\}, \{1, 2, 3, 4, 5, 6\}\), \(\emptyset \}\). So \(b(6) = \lceil \log _2 |S_{NS}(6)|\rceil = 3\) and \(len_{BP}(6) = \lceil b(6) \times t_6/S_W\rceil = \lceil 3t_6/S_W\rceil\).

1.3.3 Second phase

In this phase only nodes of those types and hash values participate, for which ambiguity still exists after the first phase. To resolve the ambiguity in case of the block results listed in Table 5, an approach similar to those described in Sections B.1.3 and B.2.3 is used. For the block results \(C C \beta\) and \(\alpha C C\), two slots are required in the second phase to resolve the ambiguity, whereas for the other block results, one slot is sufficient. For example, in case the block result \(CC\beta\) occurs, in the first of the two required slots, each active Type 1 node transmits symbol \(\alpha\). If the slot result is empty, it implies that all Type 1 nodes are inactive, else at least one Type 1 node is active. In the second of the two required slots, each active Type 4 (respectively, Type 5, Type 6) node transmits symbol \(\alpha\) (respectively, \(\beta\), 0 (no transmission)). Only three outcomes are possible: if the outcome is \(\alpha\) (respectively, \(\beta\), E), it implies that a Type 4 (respectively, Type 5, Type 6) node is active and all nodes of the other two types are inactive. Finally, in case the result CCC occurs in a block of the first phase, then the set of all node types is divided into two groups of size 3: \(\{1, 2, 3\}\) and \(\{4, 5, 6\}\), and the scheme for \(T = 3\) is (recursively) used twice in the second phase to resolve the ambiguity.

Appendix 3: Proofs of the analytical results provided in section 6

Proof of Proposition 1

There are \(M=m\) successful contentions if and only if for some integers \(k_1,\ldots , k_m\), the first \((k_1 - 1)\) contention attempts are unsuccessful with n contending nodes and the \(k_1^{th}\) attempt is successful, \((k_1 + 1)^{th}\) to \((k_2 - 1)^{th}\) attempts are unsuccessful with \(n- 1\) contending nodes and \(k_2^{th}\) attempt is successful, …, and \((k_{m} + 1)^{th}\) to \(W_m ^{th}\) attempts are unsuccessful with \(n- m\) contending nodes. So we get the expression for \(P(M=m)\) given in (7).

\(\square\)

Proof of Proposition 2

Note that there are a total of \(W_M\) uplink slots in the frame. In each of these slots, some of the active nodes are in transmission state and the rest are in idle state. So \(\mathscr {E}_{UL} = \sum _{i=1}^{W_M} \big (L_i \gamma _T + (n-L_i)\gamma _I\big )\). Taking expectations and conditioning on the values taken by M, we get the expression given in (8).

\(\square\)

Computation of An Expression for\(E(L_i/M=m)\):

\(E(L_i/M=m)\) can be calculated as:

$$\begin{aligned}&E(L_i/M=m)\nonumber \\&\quad = \sum _{j=0}^m \left( \sum _{l_i = 0}^{n-j} l_i P(L_i = l_i/M=m, N_i = n-j)\right) \nonumber \\&\qquad P(N_i = n-j/M=m) \end{aligned}$$
(24)

\(P(N_i = n-j/M=m)\) for all i and j can be found using the fact that \(N_1 = n\) with probability 1 and the following recursion:

$$\begin{aligned}&P(N_i = n-j/M=m) \nonumber \\&\quad = P(N_{i-1} = n-j/M=m)\nonumber \\&\qquad \Big (1 - P_{i-1}(S_{n-j}/M=m)\Big )\nonumber \\&\qquad + P(N_{i-1} = n-j+1/M=m)\nonumber \\&\qquad \Big (P_{i-1}(S_{n-j+1}/M=m)\Big ) \end{aligned}$$
(25)

where \(P_i(S_{x}/M=m)\) is the probability of success when x nodes contend in UL slot i given \(M=m\) and \(j \in \{0, 1, \dots ,i-1\}\). Now,

$$\begin{aligned} P_i(S_{n-j}/M=m) = \frac{P_i(M=m/S_{n-j}) P_i(S_{n-j})}{P(M=m)}, \end{aligned}$$
(26)

where \(P_i(S_{x}) = x p_x (1 - p_x)^{x-1}\) is the probability of success when x nodes contend in UL slot i and \(P_i(M=m/S_{x})\) is the probability that \(M = m\) given that a success occurs when x nodes contend in UL slot i. Next, similar to (7), we get:

$$\begin{aligned}&P_i(M=m/S_{n-j}) \nonumber \\&\quad = \sum _{k_1=i+1}^{W_m - m + 1} \sum _{k_2=k_1 + 1}^{W_m - m + 2} \dots \sum _{k_{m}=k_{m-1} + 1}^{W_m} \nonumber \\&\quad (1 - r_{n-j-1})^{k_1 - i - 1}r_{n-j-1} (1 - r_{n-j-2})^{k_2 - k_1 - 1}r_{n-j-2} \nonumber \\&\quad \dots (1 - r_{n-m})^{W_m - k_m}. \end{aligned}$$
(27)

for \(m \ge j+1\) and \(P_i(M=m/S_{n-j}) = 0\) for \(m < j+1\). Next:

$$\begin{aligned} P(L_i= & {} l_i | M = m, N_i = n-j) \nonumber \\= & {} \frac{P(L_i = l_i, M = m| N_i = n-j)}{P(M=m|N_i = n-j)} \nonumber \\= & {} \frac{P(M=m|L_i = l_i, N_i = n-j)P(L_i = l_i| N_i = n-j)}{P(M=m|N_i = n-j)} \end{aligned}$$
(28)

Note that closed form expressions for \(P(M=m|L_i = l_i, N_i = n-j)\) and \(P(M=m|N_i = n-j)\) can be computed similar to the computation of \(P_i(M=m/S_{n-j})\) in (27). Also, clearly:

$$\begin{aligned} P(L_i = l_i| N_i = n-j) = \left( \begin{array}{c} n-j \\ l_i \\ \end{array} \right) p_{n-j}^{l_i} (1 - p_{n-j})^{n-j-l_i}. \end{aligned}$$
(29)

Finally, by using (7), (24)−(29), we get an expression for \(E(L_i/M=m)\).

Proof of Proposition 3

In DL slots, contending nodes are in reception state and the rest are in idle state. So \(\mathscr {E}_{DL} = \sum _{i=1}^{W_M} \big (N_i \gamma _R + (n-N_i)\gamma _I\big )\). Taking expectations and conditioning on the values taken by M, we get the expression given in (9).

\(\square\)

Computation of An Expression for\(E(N_i/M=m)\):

By definition of conditional expectation, \(E(N_i/M=m) = \sum _{j=0}^m (n-j) P(N_i = n-j/M=m)\). Also, \(P(N_i = n-j/M=m)\) is given by (25).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kadam, S., Raut, C.S., Meena, A.D. et al. Fast node cardinality estimation and cognitive MAC protocol design for heterogeneous machine-to-machine networks. Wireless Netw 26, 3929–3952 (2020). https://doi.org/10.1007/s11276-020-02291-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11276-020-02291-6

Keywords

Navigation