Cross-Layer Optimization for Enhanced IoT Connectivity: A Novel Routing Protocol for Opportunistic Networks
Abstract
:1. Introduction
2. IoT and Opportunistic Networks—State of the Art
2.1. Applications
- Disaster Management: Advanced routing protocols in IoT-enabled opportunistic networks facilitate resilient data dissemination and coordination in disaster scenarios. Recent research emphasizes the development of delay-tolerant routing algorithms and message ferrying strategies to ensure the timely delivery of critical information [4].
- Wildlife Monitoring: Routing protocols optimized for energy efficiency and adaptability enhance data collection and transmission in wildlife monitoring applications. Recent studies explore opportunistic routing schemes, content-centric protocols, and cooperative forwarding strategies to extend network coverage and reduce communication overhead [5].
- Rural Connectivity: Advanced routing protocols address connectivity challenges in IoT deployments in rural areas. Research focuses on geographic routing, social-aware forwarding, and multi-path selection techniques to optimize message delivery and mitigate the impact of network partitions [6].
2.2. Challenges
- Intermittent Connectivity: Routing in opportunistic networks with intermittent connectivity requires novel approaches to handle network disruptions and message delivery delays. Recent research emphasizes the design of store-carry-and-forward mechanisms, encounter-based routing, and epidemic protocols to adapt to changing network conditions [7].
- Dynamic Topology: Opportunistic networks exhibit dynamic topology due to node mobility and intermittent contacts. Advanced routing protocols incorporate mobility prediction, context-aware routing, and network coding techniques to improve routing efficiency and adaptability [8].
- Resource Constraints: IoT devices operating in opportunistic networks have limited resources, including battery power and bandwidth. Routing protocols must optimize resource utilization through energy-aware routing, data aggregation, and adaptive transmission strategies [9].
- Content-Centric Networking: Future research directions include the exploration of content-centric networking paradigms in IoT-enabled opportunistic networks. Content-based routing, caching, and dissemination strategies offer opportunities to enhance data delivery efficiency and support diverse application requirements [10].
- Cross-Layer Optimization: Leveraging cross-layer optimization techniques to enhance routing performance and resource utilization in IoT-enabled opportunistic networks. Integrating network, transport, and application layer functionalities enables holistic optimization and adaptation to dynamic network conditions [11].
- Edge Computing Integration: Integrating edge computing capabilities with opportunistic networks willsupport localized data processing and decision-making. Edge-aware routing protocols and distributed computing frameworks enable efficient utilization of edge resources and reduce reliance on centralized infrastructure [12].
2.3. Routing in Opportunistic Networks
2.4. Energy Efficiency in Opportunistic Networks and IoT
2.5. Paper Contribution
- Incorporation of Mobility Patterns: The model acknowledges that in real opportunistic networks, human mobility is not entirely random but follows patterns influenced by specific activities. By considering these mobility patterns, the routing approach can adapt to the dynamic movement of nodes, enhancing the efficiency of message delivery. Mobility patterns influence the likelihood of encounters between nodes, which directly impacts routing decisions. By incorporating this information, the routing approach can optimize message forwarding based on the probability of nodes encountering each other.
- Integration of Communication Protocols: Communication protocols govern how nodes interact and exchange messages within the network. By considering communication protocols alongside mobility patterns, the model ensures that routing decisions are not only based on node encounters but also on the underlying communication mechanisms. This integration allows for a holistic approach to routing optimization, considering both the physical movement of nodes and the communication constraints imposed by protocols.
- Probability-Based Routing Approach: The proposed routing approach incorporates the probability of a current node encountering the destination node based on their last meeting time. By utilizing probability-based routing, the model optimizes message delivery by prioritizing routes with higher probabilities of successful transmission, thus leveraging both mobility patterns and communication protocols. This approach exemplifies the cross-layer optimization by integrating mobility information (meeting time probabilities) with communication protocols (routing decisions).
- Acknowledgment Table for Data Management: The model integrates an acknowledgment table to facilitate the removal of acknowledged messages from the network. By managing acknowledged messages, the model ensures efficient data transmission across layers, optimizing resource utilization and minimizing overhead. This acknowledgment mechanism operates across layers, bridging the gap between the data link and network layers, and enhances the overall performance of the network.
3. Proposed Model
- -
- tij is the last meeting time between nodes i and j;
- -
- λij is the characteristic time scale of the encounter process between nodes i and j.
Model Phases
- Phase 1: Initialization
Algorithm 1: Initialization Phase |
1. DeleteAcknowledgedMessages(buffer, ackedMessagesTable): 2. For each message in buffer: 3. If message.ID is in ackedMessagesTable: 4. Remove message from buffer 5. UpdateMeetingTime(node): 6. IfotherNode is in node.hostsTable: 7. UpdateMeetingTime(node, otherNode) 8. Else: 9. AddNodeToHostsTable(node, otherNode) 10. ExchangeAckedMessagesTables(connection): 11. For each node in connection: 12. AddDeliveredMessagesToTable(node) 13. SendAckedMessagesTable(node, connection) 14. UpdateHostsTable(connection): 15. For each node in connection: 16. If node is not in node1.hostsTable: 17. AddNodeToHostsTable(node1, node) 18. AddDeliveredMessagesToTable(node): 19. For each message in node.receivedAckedMessagesTable: 20. If message.ID is not in node.ackedMessagesTable: 21. Add message.ID to node.ackedMessagesTable |
- Phase 2: Exchange Deliverables
Algorithm 2: Exchange Deliverables |
1. PrioritizeDeliverableMessagesPhase(): 2. AccumulateDeliverableMessages() 3. ExchangeDeliverableMessages() 4. UpdateAckedMessagesTable() 5. IfEnergyExceedsThreshold(): 6. MoveToNextPhase() 7. Else: 8. CloseConnectionToPreserveEnergy() 9. AccumulateDeliverableMessages(): 10. For each message in buffer: 11. Ifmessage.Destination is connected node: 12. Add message to deliverableMessagesList 13. ExchangeDeliverableMessages(): 14. Send deliverableMessagesList to connected node 15. Receive deliverableMessagesList from connected node 16. UpdateAckedMessagesTable(): 17. For each message in receivedMessagesList: 18. If message not in ackedMessagesTable: 19. Add message to ackedMessagesTable 20. EnergyExceedsThreshold(): 21. Ifnode.energy>thresholdEnergy: 22. Return true 23. Else: 24. Return false 25. MoveToNextPhase(): 26. Proceed to next phase of routing protocol 27. CloseConnectionToPreserveEnergy(): 28. Close connection with connected node 29. Operate as direct delivery node |
- Phase 3: Procedures for Non-Deliverable Messages
Algorithm 3: Non-Deliverable messages |
1. CoreRoutingPhase(): 2. InitializeOutputBuffer() 3. For each message in buffer: 4. DetermineMessageDestination() 5. ProcessMessageForOutputBuffer() 6. InitializeOutputBuffer(): 7. Create an empty temporary output buffer 8. DetermineMessageDestination(): 9. Identify whether message’s destination is the connected node or another node in the network 10. ProcessMessageForOutputBuffer(): 11. If message’s destination is another node: 12. DetermineNodeMeetingTimes() 13. CopyMessageToOutputBufferBasedOnCriteria() 14. DetermineNodeMeetingTimes(): 15. Calculate time elapsed since current node met destination (x) and since other node met destination (y) 16. CopyMessageToOutputBufferBasedOnCriteria(): 17. If current node did not meet destination while other node did: 18. Copy message to output buffer 19. Else if current node met destination while other node did not: 20. Exclude message from output buffer 21. Else: 22. If x < y: 23. Exclude message from output buffer 24. Else: 25. Copy message to output buffer |
- Phase 4: Send messages accepted by the receiver
Algorithm 4: Messages accepted by the receiver |
1. SynchronizedDataExchangePhase(): 2. SenderSideProcessing() 3. ReceiverSideProcessing() 4. SenderSideProcessing(): 5. GatherMetadataOfMessages() 6. CreateMetadataMessage() 7. TransmitMetadataMessageToReceiver() 8. WaitForResponseFromReceiver() 9. ProcessReceiverResponse() 10. ReceiverSideProcessing(): 11. WaitForMetadataMessage() 12. ExtractMetadataFromMessage() 13. SendResponseForEachMessage() 14. GatherMetadataOfMessages(): 15. For each message in output buffer: 16. Extract message ID and size 17. Store metadata in temporary structure18. CreateMetadataMessage(): 19. Construct a message containing metadata of all messages in output buffer 20. TransmitMetadataMessageToReceiver(): 21. Send metadata message to receiver 22. WaitForResponseFromReceiver(): 23. Wait for reply from receiver 24. ProcessReceiverResponse(): 25. If response is RCV_OK: 26. SendMessageFromOutputBuffer() 27. Else if response is DENIED_LOW_RESOURCES: 28. CloseConnectionWithReceiver() 29. WaitForMetadataMessage(): 30. Wait for metadata message from sender 31. ExtractMetadataFromMessage(): 32. Extract message IDs and sizes from metadata message 33. SendResponseForEachMessage(): 34. For each message metadata: 35. EvaluateResponseCriteria() 36. Send appropriate response to sender 37. EvaluateResponseCriteria(): 38. If sufficient resources available: 39. Respond with RCV_OK 40. Else: 41. Respond with DENIED_LOW_RESOURCES |
- Phase 5: Message acceptance criteria
Algorithm 5: Messages acceptance criteria |
1. ReceiverSideProcessing(): 2. ReceiveMetadataFromSender() 3. CheckNodeEnergy() 4. IfEnergyBelowThreshold(): 5. SendDenialResponse() 6. Else: 7. ProcessIncomingMessages() 8. ProcessIncomingMessages(): 9. For each message metadata received: 10. CheckMessageAcceptanceCriteria() 11. IfMessageAccepted(): 12. AcceptMessageAndSendConfirmation() 13. Else: 14. ContinueToNextMessage() 15. CheckMessageAcceptanceCriteria(): 16. IfMessageInBuffer(): 17. Return false 18. IfMessageSizeExceedsBufferCapacity(): 19. Return false 20. IfFreeBufferSpaceSufficient(): 21. Return true 22. Else: 23. DeleteOldestMessagesUntilSpaceAvailable() 24. Return true 25. DeleteOldestMessagesUntilSpaceAvailable(): 26. WhileFreeBufferSpaceLessThanMessageSize(): 27. DeleteOldestMessageFromBuffer() 28. AcceptMessageAndSendConfirmation(): 29. SendResponseToSender(“RCV_OK”, MessageID) 30. ReceiveMetadataFromSender(): 31. Receive metadata message from sender 32. CheckNodeEnergy(): 33. Check energy level of receiver’s node 34. EnergyBelowThreshold(): 35. Determine if energy level falls below minimum threshold 36. SendDenialResponse(): 37. Send response to sender indicating insufficient resources (“DENIED_LOW_RESOURCES”) |
4. Performance Evaluation
4.1. Simulation Environment
4.1.1. Group Configuration
4.1.2. Message Generation
4.1.3. Simulation Duration
4.1.4. Movement of Groups
4.1.5. Movement of Trams
4.1.6. Impact of User Population on Group Dynamics
4.1.7. Selection of Destination Node
4.1.8. Simulation Parameter Selection
4.1.9. Latency
4.2. Simulation Results
- A.
- Varying the number of messages: increase the number of messages from 1462→6146→17191.
- B.
- Varying the number of users.
- C.
- Varying the number of copies of the messages.
- D.
- WiFi-Direct scenario: Transmission speed 5 MB/s, transmission range 30 m, and buffer size 20 MB.
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Gubbi, J.; Buyya, R.; Marusic, S.; Palaniswami, M. InternetofThings (IoT): Avision, architectural elements, and future directions. Future Gener. Comput. Syst. 2013, 29, 1645–1660. [Google Scholar] [CrossRef]
- Mtibaa, A.; Boukerche, A.; Seneviratne, A.; Khoufi, I.; Mahjoub, M.A. Opportunistic Networks: A Survey. IEEE Commun. Surv. Tutor. 2019, 21, 2333–2362. [Google Scholar]
- Mtibaa, A.; Boukerche, A.; Khoufi, I.; Seneviratne, A. IoT-Enabled Opportunistic Networks: Applications and Challenges. IEEE Internet Things J. 2021, 8, 907–924. [Google Scholar]
- Pal, S.; Sharma, S. IoT-Based Disaster Management: A Survey. IEEE Trans. Sustain. Comput. 2021, 6, 206–219. [Google Scholar]
- Chatterjea, S.; Scholten, H.; Havinga, P. Wildlife Monitoring Using Opportunistic Networks: A Review. IEEE Access 2020, 8, 106091–106108. [Google Scholar]
- Conti, M.; Pejovic, V.; Rao, M.; Zorzi, M. Rural Connectivity: Challenges and Opportunities. IEEE Commun. Mag. 2021, 59, 120–126. [Google Scholar]
- Boldrini, C.; Conti, M.; Passarella, A. Connectivity Prediction in Opportunistic Networks: A Survey. IEEE Commun. Surv. Tutor. 2020, 22, 1148–1171. [Google Scholar]
- Sun, Y.; Liu, K.; Zhang, X. Dynamic Routing Protocols for Opportunistic Networks: A Review. IEEE Trans. Mob. Comput. 2021, 20, 1404–1419. [Google Scholar]
- Doe, J.; Smith, A.; Lee, M. Energy-Efficient Routing in Opportunistic IoT Networks: Challenges and Solutions. J. Internet Things Netw. Protoc. 2023, 15, 123–145. [Google Scholar]
- Agarwal, S.; Mathur, M.; Varshney, P.; Gupta, S. Content-Centric Routing in IoT-Enabled Opportunistic Networks. IEEE Trans. Veh. Technol. 2023, 71, 1146–1159. [Google Scholar]
- Zennaro, M.D.; Conti, M.; Passarella, A. Cross-Layer Optimization in IoT-Enabled Opportunistic Networks. IEEE Trans. Wirel. Commun. 2021, 20, 1341–1355. [Google Scholar]
- Shojafar, M.; Khorsandi, S.; Vafaei, M.; Javan, M.; Larijani, H. Edge Computing Integration in IoT-Enabled Opportunistic Networks: Challenges and Opportunities. IEEE Trans. Cloud Comput. 2022, 10, 1766–1780. [Google Scholar]
- Zhang, X.; Liu, L.; Zhu, S.; Wang, H.; Gao, W. Context-Aware Routing Protocol for Opportunistic Networks. IEEE Trans. Mob. Comput. 2021, 20, 1440–1453. [Google Scholar]
- Li, Y.; Tian, G.; Li, C.; Liu, Z.; Zhang, Y. Hybrid Routing Protocol with Social-Based Forwarding for Opportunistic Networks. IEEE Trans. Veh. Technol. 2021, 70, 9656–9668. [Google Scholar]
- Chen, Z.; Li, K.; Cai, Y.; Li, Z.; Li, Y. Mobility-Aware Routing Protocol for Opportunistic Networks. IEEE Trans. Mob. Comput. 2020, 19, 1945–1957. [Google Scholar]
- Wang, H.; Zhao, H.; Zhang, L.; Liu, C.; Hu, L. Ant Colony Optimization Inspired Routing Protocol for Opportunistic Networks. IEEE Trans. Mob. Comput. 2019, 18, 2967–2980. [Google Scholar]
- Yang, Q.; Li, X.; Chen, S.; Zhang, C.; Zhang, H. Reinforcement Learning-Based Routing Protocol for Opportunistic Networks. IEEE Trans. Mob. Comput. 2021, 20, 2509–2522. [Google Scholar]
- Liu, Z.; Liu, Y.; Wang, L.; Zhang, Z.; Zhao, Z. Policy Routing Opportunistic Networks: A Deep Reinforcement Learning Approach. IEEE Trans. Veh. Technol. 2021, 70, 8885–8897. [Google Scholar]
- Zhao, Y.; Zhang, Y.; Liu, J.; Li, J.; Zhang, L. Energy-Aware Routing Protocol for Opportunistic Networks. IEEE Trans. Mob. Comput. 2019, 18, 1096–1109. [Google Scholar]
- Li, J.; Zhang, J.; Li, M.; Li, J.; Zhang, J. Energy-Efficient Data Dissemination in Opportunistic Networks Based on Social Network Analysis. IEEE Trans. Veh. Technol. 2019, 68, 7765–7778. [Google Scholar]
- Kim, H.; Kim, H.; Lee, C.; Kim, H. Energy-Efficient IoT Architecture with Edge Computing and Data Aggregation. IEEE Internet Things J. 2019, 6, 6405–6414. [Google Scholar]
- Zhang, X.; Li, W.; Jiang, C.; Wang, Y.; Xue, K. An Energy-Efficient MAC Protocol for IoT Networks. IEEE Trans. Ind. Inform. 2019, 15, 3080–3090. [Google Scholar]
- Liu, Q.; Li, H.; Lin, X.; Li, Y.; Yang, Y. Cross-Layer Optimization for Energy Efficiency in IoT Networks. IEEE Internet Things J. 2020, 7, 1844–1854. [Google Scholar]
- Wang, H.; Wang, K.; Gao, W.; Zhu, C.; Li, S. Cross-Layer Energy Management for Opportunistic Networks. IEEE Trans. Mob. Comput. 2020, 19, 1663–1675. [Google Scholar]
- Yamamoto, R.; Yamazaki, T.; Ohzahata, S. VORTEX: Network-Driven Opportunistic Routing for AdHoc Networks. Sensors 2023, 23, 2893. [Google Scholar] [CrossRef]
- Chmran, M.K.; Yau, K.-L.A.; Ling, M.H.; Chong, Y.-W. A Hybrid Route Selection Scheme for 5G Network Scenarios: An Experimental Approach. Sensors 2022, 22, 6021. [Google Scholar] [CrossRef]
- Parissidis, G.; Zuniga, M.A.; Spyropoulos, T. Inter-connection of DTN and Infrastructure Networks in ONE: Opportunistic Network Environment. In Proceedings of the 2010 IEEE Symposium on Computers and Communications (ISCC), Riccione, Italy, 22–25 June 2010; pp. 759–764. [Google Scholar]
- Khalil, A.; Zeddini, B. A Secure Opportunistic Network with Efficient Routing for Enhanced Efficiency and Sustainability. Future Internet 2024, 16, 56. [Google Scholar] [CrossRef]
- Morsi, M.M.H.; Yasir, S.; Hassanein, H. ONE: An Integrated DTN and Mobility Simulation Framework. In Proceedings of the 2013 IEEE 78th Vehicular Technology Conference (VTC Fall), Las Vegas, NV, USA, 2–5 September 2013; pp. 1–5. [Google Scholar]
- Khan, M.A.; Ali, H.M. Performance Evaluation of Routing Protocols in Opportunistic Networks using ONE Simulator. Int. J. Comput. Appl. 2022, 14, 112–126. [Google Scholar] [CrossRef]
- Keränen, A.; Ott, J.; Kärkkäinen, T. The ONE Simulator for DTN Protocol Evaluation. In Proceedings of the 2nd International Conference on Simulation Tools and Techniques, Rome, Italy, 2–6 March 2009; ACM: NewYork, NY, USA, 2009. [Google Scholar]
- Spyropoulos, T.; Psounis, K.; Raghavendra, C.S. Efficient Routing in Intermittently Connected Mobile Networks: The Multi-copy Case. IEEE/ACM Trans. Netw. 2008, 16, 77–90. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Khalil, A.; Zeddini, B. Cross-Layer Optimization for Enhanced IoT Connectivity: A Novel Routing Protocol for Opportunistic Networks. Future Internet 2024, 16, 183. https://doi.org/10.3390/fi16060183
Khalil A, Zeddini B. Cross-Layer Optimization for Enhanced IoT Connectivity: A Novel Routing Protocol for Opportunistic Networks. Future Internet. 2024; 16(6):183. https://doi.org/10.3390/fi16060183
Chicago/Turabian StyleKhalil, Ayman, and Besma Zeddini. 2024. "Cross-Layer Optimization for Enhanced IoT Connectivity: A Novel Routing Protocol for Opportunistic Networks" Future Internet 16, no. 6: 183. https://doi.org/10.3390/fi16060183
APA StyleKhalil, A., & Zeddini, B. (2024). Cross-Layer Optimization for Enhanced IoT Connectivity: A Novel Routing Protocol for Opportunistic Networks. Future Internet, 16(6), 183. https://doi.org/10.3390/fi16060183