Next Article in Journal
Near-Data Source Graph Partitioning
Previous Article in Journal
MDD-DETR: Lightweight Detection Algorithm for Printed Circuit Board Minor Defects
Previous Article in Special Issue
A Study on the Non-Contact Artificial Intelligence Elevator System Due to the Effect of COVID-19
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Buffer Occupancy-Based Congestion Control Protocol for Wireless Multimedia Sensor Networks

1
Department of Electrical and Computer Engineering, International Islamic University Islamabad, Islamabad 44000, Pakistan
2
Department of Computer Science, Muslim Youth University, Islamabad 45750, Pakistan
3
Department of Information Systems, King Abdul Aziz University, Jeddah 21589, Saudi Arabia
4
Department of Electrical and Computer Engineering, COMSATS University, Islamabad 45550, Pakistan
5
Department of Electrical and Computer Engineering, Capital University of Science and Technology (CUST), Islamabad 45750, Pakistan
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(22), 4454; https://doi.org/10.3390/electronics13224454
Submission received: 11 September 2024 / Revised: 6 November 2024 / Accepted: 12 November 2024 / Published: 13 November 2024
(This article belongs to the Special Issue Recent Advances in Wireless Ad Hoc and Sensor Networks)

Abstract

:
Wireless multimedia sensor networks (WMSNs) have stringent constraints and need to deliver data packets to the sink node within a predefined limited time. However, due to congestion, buffer overflow occurs and leads to the degradation of the quality-of-service (QoS) parameters of event information. Congestion in WMSNs results in exhausted node energy, degraded network performance, increased transmission delays, and high packet loss. Congestion occurs when the volume of data trying to pass through a network exceeds its capacity. First, the BOCC protocol uses two congestion indicators to detect congestion. One is the buffer occupancy and other is the buffer occupancy change rate. Second, a rate controller is proposed to protect high-priority I-frame packets during congestion. BOCC sends a congestion notification to the source node to reduce congestion in the network. The source node adjusts its data transmission rate after receiving the congestion notification message. In the proposed algorithm, the rate adjustment is made by discarding low-priority P-frame packets from the source nodes. Third, to further improve the performance of the BOCC protocol, the problem is formulated as a constrained optimization problem and solved using convex optimization and sequential quadratic programming (SQP) methods. Experimental results based on Raspberry Pi sensor nodes show that the BOCC protocol achieves up to 16% reduction in packet loss and up to 23% reduction in average end-to-end delay compared to state-of-the-art congestion control algorithms.

1. Introduction

The advancement of technology has led to the development of low-power tiny devices which integrate sensing, processing, and communication abilities. Networks of such devices with wireless communication capabilities are called wireless sensor networks (WSNs) [1,2]; these have wide spread applications. They contain many sensor nodes, connected wirelessly, to sense and process scalar data and communicate with the sink node. The number of nodes present in WSNs is quite high, maybe hundreds or thousands, scattered throughout the entire network. Every sensor node is basically comprises components for sensing, processing, transmission, reception, and power supply. The development of sensor-based micro-electromechanical systems (MEMSs) along with inexpensive complementary metal–oxide–semiconductor (CMOS) cameras integrated with microphones have led to the new era known as wireless multimedia sensor networks (WMSNs) [3]. WMSNs collect or capture streams of data, process them, store them for future requirements, and aggregate multimedia data collected from different nodes for onward transmission. They transmit video, audio, text, and images over wireless communication media, and in order to achieve this, the nodes can gather audio and visual data to create scalar and multimedia data. WMSNs expand WSNs’ use to applications like tracking [4], environmental monitoring [5], automation [6], multimedia surveillance [7], traffic control systems [8], health care facilities [9], habitat monitoring [10], and industrial control systems [11].
Existing congestion control protocols for wireless multimedia sensor networks (WMSNs) primarily focus on either traffic-based or resource-based mechanisms, with some hybrid approaches attempting to balance both. However, these protocols often face limitations in high-density networks where buffer overflow and packet loss compromise quality of service (QoS) due to insufficient prioritization of critical data types and ineffective congestion detection. Traditional traffic-based methods are reactive, adjusting rates post-congestion, while resource-based methods can over-utilize network resources, impacting longevity. Hybrid methods partially address these concerns but lack robust prioritization mechanisms for multimedia data, which is essential for applications requiring real-time video and image transmission.
The requirement of QoS in multimedia communications introduces a great challenge because of high bandwidth requirements, unreliable channels, and restricted energy levels [12]. Usually, the total load at any node is calculated by computing the total packets generated and relayed over the node by the neighbor nodes. Because of the high density of nodes, the sensing range of nodes overlaps, hence there is redundancy in event detection by the nodes. This leads to generation of higher traffic and in turn increases the rate of input at sensor nodes. The output rate decreases due to simultaneous transmission attempts by the nodes. Hence, the input rate becomes more than the output rate and data packets accumulate in the buffer causing congestion at a node, which leads to buffer overflow and packet drops. Congestion at one node or part of the network spreads throughout the network and hampers the overall performance. This leads to packet loss and also degradation of network throughput [13]. Event tracking is also affected because the detected event characteristics cannot be reliably delivered towards the sink node. Congestion also adversely increases energy consumption at nodes and partitioning of the network [14].
Congestion is the accumulation of too many packets, which decreases the efficiency of the network due to insufficient network capacity. In other words, congestion is the process of building up of packets in the queue or buffer of the nodes, and this happens when the number of data packets at the receiving side is less then the number of data packets at the transmitting side. A typical congestion scenario is depicted in Figure 1. It forces the victimized nodes to ignore the incoming data packets due to lack of buffer space at that node, and drops the data packets. Thus, it requires data packet retransmission, causing more energy consumption at the nodes [15]. Retransmission of data packets leads to more energy consumption, because the transmission process consumes the highest amount of energy out of all the activities performed by a node. Furthermore, injection of high-rate multimedia data packets in the network causes resources like energy and buffer space to be consumed quickly. Moreover, different traffic types flowing in the network with various characteristics along with QoS requirements need to support transmission of bursty data with a high data rate. So, designing congestion control protocols for WMSNs with optimum efficiency is a challenging task. This signifies the importance of addressing the challenge to reduce the congestion for better energy efficiency and QoS for WMSNs [16].
The first solution is to adopt a centralized routing algorithm that calculates the routing decision for a given sensor node and distributes it to the sensor nodes. When the topology changes, there is the need to re-compute the route and distribute it among the sensor nodes. Hence, because of this sort of redundancy, centralized routing algorithms are inappropriate for WSNs and WMSNs in particular [17]. In the case of distributed schemes, routing algorithms distribute the traffic load among the neighbor nodes evenly to make sure that every node in the network has enough buffer space to enqueue packets. In WMSNs, the event occurs randomly, and hence the traffic load and the available buffer at sensor nodes in the neighborhood of nodes are dynamic in nature. This dynamism leads to unevenness of load during routing. So, distributing the load evenly without the support of the information of other layers (cross-layer) may result in non-uniform distribution of information on the level of the buffer in the neighborhood [18].
The BOCC protocol addresses these gaps by introducing a proactive congestion control method based on buffer occupancy metrics, which efficiently manages data transmission rates before severe congestion occurs. Unlike existing protocols, BOCC prioritizes high-priority I-frame packets over P-frame packets, ensuring essential multimedia data reach their destination even under congested conditions. This strategy optimizes packet delivery by discarding lower-priority packets selectively, minimizing packet loss without exhausting network resources. Additionally, the use of convex optimization and sequential quadratic programming (SQP) enables BOCC to dynamically adapt to network changes, enhancing packet delivery rates and reducing delays compared to traditional approaches. Above all, the key objectives achieved in this paper are listed below.
  • The proposed BOCC algorithm retains the high-priority I-frames, discarding further low-priority frames in scenarios where congestion occurs, hence improving the performance of different media sent over the network.
  • A dual-buffer-based congestion control mechanism is modeled to predict the congestion in WMSNs. Congestion can be effectively detected by this approach.
  • Moreover, to further optimize the performance of the BOCC protocol, the problem is mathematically modeled as a constrained optimization problem. Convex optimization and sequential quadratic programming (SQP) methods are further mathematically modeled to solve the optimization problem. It is observed that convex optimization is better than the SQP method as it converges in less time.
  • This article represents practical experiments conducted with a Raspberry Pi sensor node.
The rest of the article is distributed in the following sections. Section 2 focuses on the existing literature to provide an insight into the different protocols in various domains, explaining the targeted objective of the article. Section 3 discusses the detailed problem formulation. Section 4 proposes a congestion control protocol that uses transmission rate adjustment in order to achieve the characteristic features of WMSNs. Section 5 presents the experimental results along with detailed comparisons, and Section 6 provides concluding remarks on the article with an outlook for further studies.

2. Related Work

Three categories can be used to categorize congestion control algorithms, as presented in Figure 2: (1) Traffic-based congestion control protocols, (2) resource-based congestion control protocols, and (3) hybrid-based congestion control protocols. Traffic-based congestion control protocols, such as the adaptive weight firefly (AWF) algorithm, effectively manage congestion by dynamically adjusting transmission rates in response to congestion signals. These approaches are advantageous in networks with predictable traffic loads, as they offer efficient and straightforward adjustments. Their primary limitation lies in their sensitivity to fluctuating network loads, which can lead to unpredictable delays and packet loss issues, which are particularly prominent in multimedia sensor networks where data are bursty and bandwidth demands are high. There are numerous traffic-based protocols which also introduce delay and complexity through frequent feedback adjustments. Meanwhile, the BOCC protocol adjusts the transmission rates with respect to network conditions. Moreover, it exploits the buffer occupancy and buffer occupancy change rate as key indicators. This approach helps the BOCC to detect and respond to congestion, which leads to decreases in the rate changes and maintains better quality of service (QoS) for multimedia data transmission.
Resource-based congestion control protocols are used in scenarios where high reliability and minimal delay is required. Hierarchical protocols, such as the HTAP algorithm, achieve effective load balancing by distributing the traffic, which helps in reducing the congestion. However, these approaches can be resource-intensive and often require additional paths or nodes, which can lead to increased energy consumption and overhead. Furthermore, in dynamic WMSNs with limited nodes, one of the main challenges is to create alternative paths, which makes these protocols less feasible. The BOCC protocol relies on feedback-based rate control rather than alternative routing and conserves energy in multi-hop networks. By adjusting rates based on buffer levels, BOCC avoids the need for complex routing changes, making it both energy efficient and simpler to implement.
Hybrid congestion control protocols integrate the traffic and the resource management techniques to provide adaptive solutions that are mapped to the network requirements. The healthcare-aware HOCA protocol belongs to a class of hybrid congestion control protocols that optimize data transmission by adjusting rates based on data sensitivity, which is highly suitable for WMSNs prioritizing specific data types such as video. However, these protocols often produce high computational overhead due to the need for both traffic and resource awareness, due to which complexity is increased. Managing the balance between traffic and resource adjustments can introduce trade-offs between latency and throughput and also affects the performance in high-load scenarios. In the case of BOCC, it shares some hybrid characteristics by integrating adaptive traffic control based on congestion indicators. This avoids the extensive resource manipulation which is experienced in hybrid approaches. BOCC’s design focuses on energy efficiency, high video quality, and prioritization of I-frames without addition of the complexities of multi-resource management, which makes it particularly well suited for the demands of WMSNs.

2.1. Traffic-Based Congestion Control Protocols

The adaptive weight firefly (AWF) algorithm exploits the strengths of two separate algorithms to manage the congestion in the network. It assigns weights to these algorithms to create an adaptive response [19]. The data rate control mechanism is employed only when a negative acknowledgment (NACK) is received. Additionally, to improve the network throughput, an ant colony routing-based algorithm is used. This results in greater network delay. In TACC, the sending rate is gradually reduced when congestion appears for the first time [20]. If the network is consistently crowded, TACC aggressively modifies the sending rate; though, additional improvements to TACC are required to enable the transmission of priority events to various data flows.
Ee and Bajcsy proposed a protocol named Fusion [21], which uses different congestion control methods. One of the methods, hop-by-hop, detects congestion through observing the buffer occupancy level. Upon detecting congestion, a bit is set in each packet sent from that node and the neighboring nodes overhear the same to refrain from transmitting further packets to that node. Prioritized MAC adopts random back-off techniques and rate limiting to allow the congested node to transmit. This technique minimizes the transmission rate. The random back-off mechanism and nonlinear rate adjustment have adverse effects on link utilization and fairness, and hence are unsuitable for WMSNs.
Event-to-sink reliable transport (ESRT) [22] is modeled to efficiently detect the events in wireless sensor networks. It addresses both reliability and energy efficiency. Notably, ESRT primarily operates at the sink and requires minimal processing from resource-constrained sensor nodes. ESRT ensures reliable data transmission while minimizing energy usage.

2.2. Resource-Based Congestion Control Protocols

Resource-based congestion control focuses on efficiently managing network resources to combat congestion. This approach balances the traffic load by utilizing idle resources. For instance, in congested networks, data packets may use alternative paths or additional resources for transmission. Resource-based methods can enhance data rates without compromising network longevity  [16]. These protocols are mainly utilized in high-reliability delay-sensitive scenarios. To reduce congestion, it disperses the traffic load by either exploiting the idle network resources or by routing traffic via less congested paths. Data packets therefore have a better possibility of communicating without errors. The suggested algorithm is verified using the mixed-integer linear programming technique. But the suggested method does not concentrate on the network’s energy efficiency [23]. The hierarchical tree alternative path algorithm (HTAP) [24] creates additional paths to the sink, with simple steps, to reduce the computations and the congestion in the WSNs. Simulations show that HTAP effectively manages congestion and maintains network performance compared to other resource and traffic control algorithms, as well as scenarios without congestion control. The authors of [25] used the capacity analysis model to formulate the topology-aware resource adaptation (TARA) to find the optimal network topology. It is a distributed and energy-efficient approach that results in better management of incoming traffic loads. The TARA technique, in comparison to offline resource control methods, performs better and results in high energy conservation with better fidelity satisfaction. The time-delay-based multipath routing (TMR) method selects a different path, thereby significantly increasing the network [26]. TMR uses a reactive approach to alleviate congestion while maintaining a unique ID. TMR gives higher priority to alert messages, routing them through non-congested paths. The secure load-balanced (SLEB) protocol not only maintains energy balance but also improves security overhead [27]. Therefore, the SLEB protocol can extend the lifetime of the network. However, receiving the same data from different sensor nodes causes additional overhead. The dynamic hop selection static routing protocol (DHSSRP) reduces the congestion by assigning priority to the important data [28]. The DHSSRP is a lightweight technique designed to prolong the lifetime of sensor nodes. It redirects the data traffic through substitute paths. In the DHSSRP, the variations in assigning priorities to the packets change the traffic flow over the sensor networks.

2.3. Hybrid Congestion Control Protocols (HCCPs)

HCCPs integrate features from multiple protocols to meet application requirements. A hybrid approach is used for these protocols, integrating both traffic-based and resource-based congestion control mechanisms. The authors of [29] proposed the data-centric healthcare-aware optimized congestion avoidance (HOCA) method, which employs active queue management (AQM) for congestion control. Data are categorized into sensitive and non-sensitive types, with different data rates assigned based on priority. There are four stages in implementing the HOCA protocol. The initial stage involves data transmission from the sink to every node. The system finds the data prioritization, type of node, and transmission time. In the following stage, information from all nodes is gathered by the sink. In the next stage, the sink establishes efficient routes through hop-by-hop communication. HOCA ensures efficient data transmission by dynamically adjusting data rates in the fourth stage to prevent congestion. This approach guarantees effective resource allocation and maximizes energy efficiency.
A hybrid congestion control strategy is used by ECA-HA to manage congestion [30]. It mitigates congestion in three stages. In the first stage, an optimal route is discovered by optimizing the ant colony method. In the following phase, the ant uses multi-hop communication to generate paths free of congestion, while the reverse ant ensures that paths are built properly. In the last step, substitute paths are established if varying the data rate does not reduce the congestion. However, this mechanism is only appropriate in a small search space.
The authors of [31] utilize an attention-based approach to recognize robotic arm activity through Wi-Fi sensing, showcasing advancements in non-invasive, wireless sensing for activity detection. This approach highlights how Wi-Fi signal processing can aid in real-time, fine-grained detection of activities, offering insights for WMSN protocols where activity recognition and network traffic prioritization can optimize congestion control in activity-based networks. Moreover, the authors of [32] emphasize the fusion of data from multiple sensors, even those with errors, to improve accuracy in travel time estimation. This approach is relevant for WMSNs, where data from multiple sensor nodes are integrated, addressing the challenge of unreliable sensor readings by applying fusion algorithms that enhance data reliability, which is critical for congestion protocols in dynamic environments. Additionally, the authors of [33] apply reinforcement learning to develop eco-driving strategies, balancing fuel efficiency and travel time. The application of reinforcement learning for traffic management parallels the adaptive rate control in BOCC, as both strive to optimize performance metrics under changing conditions. Integrating such adaptive learning methods in congestion control could further enhance BOCC’s response to network traffic dynamics.
The authors of [34] address congestion detection by exploiting the buffer size metrics and the packet delivery rate. Their proposed protocol, in comparison to other protocols, prevents packet drops during congestion and improves the network throughput. The hybrid resource and traffic control protocol (HRTC) [35] combines the benefits of the traffic and resource control methods. The efficiency of the proposed hybrid approach is validated through throughput and network longevity. The authors of [36] proposed the HTCCFL, that uses fuzzy logic for congestion detection and rate adjustment. It creates a hierarchical tree which detects the congestion with fuzzy logic based on the buffer occupancy and adjusts rates with alternative routes. The protocol handles the prioritized traffic effectively and reduces the overall congestion. Congestion-aware data acquisition (CADA), proposed in [37], aims to keep the data transmission quality high during congestion. It includes mechanisms for controlling source traffic, timely congestion indication, and congestion alleviation through traffic control or resource control based on the conditions.

3. Buffer Occupancy-Based Congestion Control Algorithm

In this section, we discuss the underlying principles and structure of the proposed Buffer Occupancy-Based Congestion Control (BOCC) algorithm. This algorithm is specifically designed to handle congestion in wireless multimedia sensor networks (WMSNs) by monitoring buffer occupancy levels and adjusting transmission rates based on congestion indicators. The following subsections detail video packet formation and the mathematical formulation of the BOCC algorithm.

3.1. The Formation of Video Packets

H.264 is the compression standard widely used to compress video because of its efficiency in reducing the bit rate, needed for video transmission. This standard ensures the quality of the video is maintained during transmission. The H.264 standard achieves this by exploiting frames of different types. Figure 3 represents the queue scheduler block diagram.
  • I-frames (intra-coded frames): These are the main entities in video streaming and are considered reference points for other frames. I-frames are encoded separately, and contain all the necessary information to show the image. I-frames are commonly larger in size due to the addition of essential information for better quality. I-frames are given high priority to obtain better video quality. If an image with I-frames is lost, then the quality of video will be compromised as all other frames including P-frames rely on the I-frames.
  • P-frames (predictive-coded frames): P-frames are encoded based on the difference between the current frame and the preceding I-frame or another P-frame. This predictive coding allows P-frames to be smaller in size compared to I-frames, making them more efficient in terms of bandwidth utilization. The loss of P-frames leads to error propagation as they depend on previous frames, which affects the subsequent frames till the next I-frame is received. The P-frames are given lower priority than I-frames but are very important to maintain the overall video quality.
  • B-frames (bi-predictive frames): B-frames are compressed frames in comparison with P-frames. They also use the subsequent frames as references. Due to their higher compression rates, additional complexity and delay are added in the encoding and decoding processes. The coding delay for B-frames is high because the encoder has to wait for the following frames to generate them. In the scenario where low latency is required, B-frames are ignored due to their increased complexity and high delay factors. In our scenario, we excluded the B-frames to reduce the coding delay and to simplify the transmission process.
Packetization is an important challenge that needs to be addressed in order to determine the efficiency and reliability of video streaming. Packetization is the process in which the video stream is divided into smaller data packets that are transmitted over networks. Factors including packet loss, latency, and network congestion depend on the length of these packets. Moreover, the encapsulation process is only completed when all the relevant frames are received and the packets to be encapsulated wait for all the frames for the video streams containing different frames. More delay is induced if the packet length is not optimized. To cope with this challenge, the packet length should be optimized by defining threshold limits.
Smaller packets result in a higher number of packets being transmitted, which can lead to increased overhead in terms of headers and reassembly at the receiving end. Moreover, selecting the appropriate packet length involves a trade-off between reducing the likelihood of packet loss and minimizing packetization overhead. If packets are too large, the risk of losing significant amounts of data in the event of packet loss increases, as more video data are encapsulated within each packet. Conversely, if packets are too small, the network overhead may become excessive, reducing the overall efficiency of the transmission.
Moreover, B-frame packets increase the coding delay. Furthermore, the encoder must wait for the next frame. Therefore, this article does not consider B-frame packets. Packet length is a significant factor in video transmission. For data packets with various frames, each packet waits until all video frames are ready. This leads to an additional delay. Thus, the packet length should be selected appropriately. Suppose that a represents the packet length. If the length of the packet surpasses length a, then the packet is split into several packets.

3.2. Problem Formulation for Buffer Occupancy-Based Congestion Control (BOCC) Algorithm

To define a mathematical model, the buffer occupancy, congestion levels, packet priority and transmission rate, feedback mechanism, packet drop probability, and the overall optimization problem are defined in Equation (1).
  • Buffer occupancy: Let B t for a given time t represent the buffer occupancy, B prev t represent the buffer occupancy at the previous time step t Δ t , and δ t represent the rate of change in buffer occupancy; then, the rate of change in buffer occupancy is given by
    δ ( t ) = B ( t ) B prev ( t ) Δ t .
    To handle the frequent changes in buffer states that lead to instability and increased overhead in the congestion control mechanism, an averaging technique for buffer occupancy over a short moving window is incorporated. This helps to mitigate the impact of frequent adjustments in the data transmission rate potentially overloading the network control mechanism. Using an averaging technique smooths out transient fluctuations and prevents rapid oscillations between congestion states. Specifically, an exponential moving average (EMA) is applied to buffer occupancy values over recent time slots. This is achieved by calculating the average buffer occupancy B a v g ( t ) as follows:
    B a v g ( t 1 ) = ϵ B ( t ) + ( 1 ϵ ) B a v g ( t 1 ) ,
    where ϵ is a smoothing factor with a value ranging from 0.1 to 0.3, which is selected based on the network dynamics. B a v g ( t ) is used in place of instantaneous B(t) for determining the congestion state. This effectively reduces short-term fluctuations, ensuring that congestion control responses are triggered by sustained changes rather than momentary spikes. The use of averaging stabilizes the BOCC protocol, which helps in reducing the frequency of congestion notifications and minimizes unnecessary rate adjustments. This approach enhances system robustness by providing a smoother congestion response, aligning with our goal of maintaining consistent QoS while efficiently managing network resources.
  • Congestion levels: In our scenario, we defined two congestion thresholds: B 1 as the threshold for entering the slow state, and B 2 as the threshold for entering the urgent state. The system’s state based on buffer occupancy can be categorized as follows:
    • Normal state: 0 B ( t ) B 1 and δ ( t ) ρ .
    • Slow state: B 1 < B ( t ) B 2 and δ ( t ) > ρ .
    • Urgent state: B 2 < B ( t ) B max , where Bmax is the buffer capacity.
    Here, ρ is a predefined threshold rate of change that indicates when the buffer occupancy is increasing rapidly. The factor ρ is a critical parameter in the BOCC protocol as it determines when the buffer occupancy growth rate signals a transition between congestion states. Setting an effective ρ value is essential to balance responsiveness with stability. To determine ρ , we consider both empirical analysis and network requirements. This process typically involves the following steps:
    • Empirical calibration: During the initial protocol testing phase, ρ is calibrated by analyzing network simulations under various traffic conditions. These simulations help to observe typical rates of buffer occupancy growth during normal and congested states. By analyzing buffer behavior across different traffic loads, an optimal threshold range for ρ can be identified.
    • QoS and latency requirements: The value of ρ is also influenced by the specific QoS and latency requirements of the WMSN application. For applications sensitive to delays or packet losses, a lower ρ may be chosen to trigger congestion control more aggressively. Conversely, applications that can tolerate minor delays may use a higher ρ to prevent unnecessary rate adjustments in response to transient changes in buffer occupancy.
    • Adaptation through feedback: Additionally, we propose an adaptive approach, where ρ can be dynamically adjusted based on network feedback. If the network experiences frequent but unnecessary congestion triggers, ρ can be increased incrementally. Similarly, if congestion frequently escalates without timely intervention, ρ can be decreased to improve responsiveness.
  • Packet priority and transmission rate: Let P i denote the priority level of a packet, where i {1, 2}, P 1 represents the I-frame packets (highest priority), and P 2 represents the P-frame packets (lowest priority).
    The transmission rate for node n at time t is represented as S n t .
    The transmission rate is adjusted based on the buffer occupancy:
    • In the normal state: S n t = S normal where S normal is the normal data rate.
    • In the slow state: S n t = β · S normal where 0 < β < 1 is a factor determined experimentally.
    • In the urgent state: S n t = α · S normal where 0 < α < β reduces the data rate further to prioritize high-priority packets.
  • Feedback mechanism: Each node receives feedback from its parent node about buffer occupancy. Let F ( t ) denote the feedback received, which is a function of the parent node’s buffer occupancy:
    F ( t ) = f B parent ( t ) ,
    where f ( · ) in Equation (2) is a function that determines how the feedback influences the child node’s behavior. Based on the feedback F ( t ) computed in Equation (2), the source node adjusts its transmission rate:
    S n ( t ) = S n ( t ) · 1 F ( t ) .
    This ensures that if the parent node is congested, the child node reduces its sending rate. In the BOCC protocol, each node adjusts its transmission rate, S n ( t ) , based on the feedback F ( t ) , which reflects the buffer occupancy status of its parent node. The function f ( B parent ( t ) ) converts the buffer occupancy of the parent node, B parent ( t ) , into a feedback value that modulates the child node’s data transmission rate to prevent congestion. The purpose of f ( B parent ( t ) ) is to translate the parent node’s buffer occupancy into a feedback multiplier, F ( t ) , that dynamically adjusts the data transmission rate of the child node. This adjustment is made to control the data flow to the parent node and avoid buffer overflow, effectively reducing congestion as the parent’s buffer occupancy increases.
    The feedback F ( t ) = f ( B parent ( t ) ) is not a data rate itself but a multiplier applied to the transmission rate S n ( t ) of the child node. Thus, F ( t ) is a dimensionless value between 0 and 1, where 0 indicates no congestion (allowing the child node to transmit at full rate) and 1 indicates severe congestion (reducing the transmission rate to zero). The effective transmission rate of the child node becomes
    S n adjusted ( t ) = S n ( t ) · ( 1 F ( t ) ) ,
    where a higher F ( t ) (indicating a higher buffer occupancy at the parent) results in a reduced transmission rate for the child node, helping to alleviate congestion at the parent node. The function f ( B parent ( t ) ) is a piecewise function that maps buffer occupancy levels to feedback values:
    f ( B parent ( t ) ) = 0 , if B parent ( t ) B low , B parent ( t ) B low B high B low , if B low < B parent ( t ) B high , 1 , if B parent ( t ) > B high .
    The thresholds B low and B high define the buffer occupancy levels where congestion control should begin ( B low ) and where it should be maximized ( B high ). Between these thresholds, f ( B parent ( t ) ) increases linearly from 0 to 1, allowing for a gradual response as buffer occupancy rises.
    The BOCC protocol assumes that each node communicates with a single designated parent node, which results in a hierarchical tree-like structure. This model is relevant to hierarchical or cluster-based wireless multimedia sensor networks (WMSNs), commonly found in applications such as surveillance or environmental monitoring. In real-world WMSNs, especially in multi-hop networks, data flows typically follow a tree structure to minimize data redundancy and optimize energy usage. Each node reports data to a central sink or gateway via intermediate parent nodes, making the single-parent assumption both practical and efficient. This hierarchical structure is suitable for scenarios where data aggregation and congestion control are crucial, as it allows the BOCC protocol to dynamically adjust transmission rates based on congestion levels and reduce overall network traffic.
  • Packet drop probability: The probability of packet drop P drop is a function of buffer occupancy and congestion level. Let P drop ( t ) represent the packet drop probability at time t. This can be modeled as
    P drop ( t ) = γ · B ( t ) B 1 B 2 B 1 ,
    where γ is a scaling factor that controls how aggressively packets are dropped as the buffer occupancy increases.
  • Overall optimization problem: The goal of the BOCC algorithm is to minimize packet loss, as defined in Equation (4), while maintaining video quality and transmission rate, as defined in Equation (3). This can be formulated as an optimization problem:
    Minimize P drop ( t ) · P i + λ · δ ( t ) ,
    subject to
    0 S n ( t ) S normal ,
    0 B ( t ) B max ,
    where λ is a weighting factor balancing the packet drop probability and the buffer occupancy rate of change.
The optimization problem presented in Equations (5)–(7) is intended to control congestion at each node by optimizing the data transmission rate, specifically for high-priority packets, to maintain video quality. The primary controllable parameter in this objective function is the transmission rate S n ( t ) for each node n at a given time t. This transmission rate is adjusted based on real-time feedback from congestion levels at the node itself and from its parent node. By controlling S n ( t ) , the BOCC protocol can prioritize high-quality video frames (I-frames) while managing congestion to avoid buffer overflow and packet loss. Equation (5) is designed to minimize a combination of the packet drop probability P d r o p ( t ) and the rate of change of buffer occupancy δ ( t ) . The P d r o p ( t ) represents the likelihood of packets being discarded due to buffer overflow. Minimizing P d r o p ( t ) is essential for maintaining high-quality multimedia transmission, as packet drops, particularly for I-frames, can degrade video quality significantly. The weight P i in the term P d r o p ( t ) reflects the priority of each packet, emphasizing high-priority frames in the optimization.
The term λ δ ( t ) in the objective function penalizes rapid increases in buffer occupancy, which are indicative of potential congestion. By including this term, the optimization process encourages a steady flow of data rather than abrupt surges, thus stabilizing the buffer and preventing sudden congestion events. Together, these two components aim to balance the quality of service (QoS) for multimedia transmission with network stability. The weights P i and λ allow the network to prioritize packet delivery and video quality while controlling buffer fluctuations. The formulation is initially presented for a single node n and a single time slot t as a baseline, focusing on controlling one high-priority frame type, typically an I-frame, which has the most significant impact on video quality. In a practical implementation, this single-transmission model serves as a foundation for continuous adjustment of S n ( t ) over multiple frames and time slots, adapting dynamically as network conditions change.
For a broader application, this single-instance formulation can be expanded to handle multiple nodes and frame types by applying the optimization iteratively for each time slot and adjusting S n ( t ) for each node based on its local congestion feedback. Equation (6) ensures that the transmission rate stays within a feasible range, bounded by a normal transmission rate S n o r m a l , preventing the rate from either dropping to zero or excessively increasing and Equation (7) maintains the buffer occupancy within capacity limits, avoiding overflow. By keeping B ( t ) B m a x , the optimization process ensures that packets are not dropped due to excessive buffering.

4. Proposed Solutions

This section outlines the proposed solutions for optimizing the BOCC algorithm using advanced mathematical techniques. To ensure the efficiency and effectiveness of the protocol, we employ convex optimization and sequential quadratic programming (SQP) methods. These approaches are tailored to minimize packet loss and maintain video quality under varying network conditions. The subsections below describe each optimization approach and their specific applications within the BOCC algorithm framework.

4.1. Convex Optimization Framework for BOCC Algorithm

The Buffer Occupancy-Based Congestion Control (BOCC) algorithm aims to reduce packet loss while maintaining the quality of video. The convex optimization framework is used to address this problem. The key steps involved as mentioned in Algorithm 1 in the convex optimization framework are given below:
  • Formulation of the optimization problem: To obtain the optimal solution, the first step is to model and define the optimization problem with objectives to minimize the packet loss while maintaining the video quality defined in Equation (5), subject to the constraints defined in Equations (6) and (7). Where S n ( t ) represents the transmission rate at node n at time t, B ( t ) depicts the buffer occupancy at time t, P drop ( t ) is the probability of packet drop, P i is the priority of the packet, λ is a weighting factor, and δ ( t ) is the rate of change of buffer occupancy.
  • Check for convexity: The next step is to verify that the objective function and constraints are convex. The packet drop probability P drop ( t ) is typically convex in S n ( t ) , and the rate of change of buffer occupancy δ ( t ) is linear and convex. Hence, the sum of convex functions is convex, thus f ( S n ( t ) , B ( t ) ) is convex. The constraints 0 S n ( t ) S normal and 0 B ( t ) B max are linear and convex.
  • Lagrangian function and dual problem: The next step is to formulate the Lagrangian and solve the dual problem. The Lagrangian function is given by
    L ( S n ( t ) , B ( t ) , μ , ν ) = P drop ( t ) · P i + λ · δ ( t ) + μ S n ( t ) S normal + ν B ( t ) B max ,
    where μ and ν are the Lagrange multipliers. The dual problem is modeled to maximize the Lagrange dual function:
    g ( μ , ν ) = inf S n ( t ) , B ( t ) L ( S n ( t ) , B ( t ) , μ , ν ) ,
    subject to μ 0 and ν 0 .
  • Karush–Kuhn–Tucker (KKT) conditions: In the following step, we need to solve the KKT conditions for optimality for different states for the functions defined in Equations (8) and (9).
    • Stationarity
      S n ( t ) L ( S n ( t ) , B ( t ) , μ , ν ) = 0 .
      B ( t ) L ( S n ( t ) , B ( t ) , μ , ν ) = 0 .
    • Primal feasibility
      0 S n ( t ) S normal ,
      0 B ( t ) B max .
    • Dual feasibility
      μ 0 , ν 0 .
    • Complementary slackness
      μ S n ( t ) S normal = 0 .
      ν B ( t ) B max = 0 .
  • Solving the optimization problem After that, we solve for the optimal values of S n ( t ) and B ( t ) using the KKT conditions.
    • Algorithm
      (a)
      Initialization: Start with initial values for S n ( t ) , B ( t ) , μ , and ν .
      (b)
      Iteration:
      i.  
      Update S n ( t ) and B ( t ) using the stationarity equations.
      ii. 
      Check primal and dual feasibility.
      iii.
      Adjust μ and ν using complementary slackness.
      (c)
      Convergence: Continue iteration until convergence to the optimal values.
  • Validation and fine-tuning: The last step is to validate the results after obtaining the optimal solution by testing under different network conditions and tuning the weighting factor λ to balance the packet drop probability and buffer occupancy.

4.2. Sequential Quadratic Programming (SQP) Solution for BOCC Algorithm Optimization

The key objectives of the BOCC algorithm are to minimize packet loss while maintaining video quality constraints. This problem is formulated as a constrained optimization problem. The objective function to minimize is given in Equation (5) subject to the constraints defined in Equations (6) and (7).
The algorithm for SQP method is depicted in Algorithm 2 approximates the original nonlinear problem by solving a sequence of quadratic programming (QP) subproblems. This includes a series of steps.
  • Initialization: Begin with an initial guess x 0 for the decision variables x = S n ( t ) , B ( t ) . Initialize the Lagrange multipliers λ 0 for the equality constraints (if any) and μ 0 for the inequality constraints.
  • Formulate the quadratic programming (QP) subproblem: At each iteration k, formulate the QP subproblem by approximating the Lagrangian function L ( x , λ , μ ) around the current point x k :
    L ( x , λ , μ ) = f ( x ) + i λ i c i ( x ) + j μ j g j ( x ) ,
    where f ( x ) is the objective function, c i ( x ) is the equality constraints, and g j ( x ) is the inequality constraints.
    The QP subproblem defined in Equation (10) needs to be solved at the k-th iteration, which is given by
    Minimize 1 2 Δ x H k Δ x + f ( x k ) Δ x ,
    subject to
    c i ( x k ) Δ x + c i ( x k ) = 0 , i = 1 , , m .
    g j ( x k ) Δ x + g j ( x k ) 0 , j = 1 , , p .
    where H k = 2 L ( x k , λ k , μ k ) is the Hessian matrix of the Lagrangian, f ( x k ) is the gradient of the objective function at x k , and Δ x is the search direction.
  • Solve the QP subproblem: Following the steps, then solve the QP subproblem using a QP solver. The solution provides the search direction Δ x k for the next iteration.
  • Update variables: The next step is to update the decision variables and Lagrange multipliers given by
    x k + 1 = x k + α k Δ x k ,
    where α k is the step size determined by a line search method and updates the Lagrange multipliers λ k and μ k accordingly.
  • Convergence check: The next step is to check if the solution has converged or not by examining the norm of the gradient and the magnitude of the constraint violations. If the solution has not converged, return to step 2 with iteration k = k + 1 in Equations (11)–(13).
  • Termination: Once the optimal convergence is achieved, then the algorithm terminates with the optimal solution x * .

4.3. Quadratic Programming (QP) Subproblem

In the SQP method, the original nonlinear optimization problem is approximated by a sequence of QP subproblems, as defined in Equation (11). In each iteration, the QP subproblem is computed by linearizing the constraints and approximating the objective function using a second-order Taylor expansion of the Lagrangian function, which is defined as
L x , λ , μ = f x + i = 1 m λ i c i x + j = 1 p μ j g j x ,
where f x is the objective function, c i x = 0 is the equality constraints for i = 1 , , m . g j x 0 is the inequality constraints for j = 1 , , p . λ i and μ j are the Lagrange multipliers associated with the equality and inequality constraints, respectively. The upper limits m and p represent the number of equality and inequality constraints, respectively. m is the number of equality constraints c i ( x ) = 0 and p is the number of inequality constraints g j ( x ) 0 .

4.3.1. Formulation of the QP Subproblem

The QP subproblem at the k-th iteration is obtained by approximating the Lagrangian function defined in Equation (14) around the current iteration x k , given by
Minimize 1 2 Δ x H k Δ x + f ( x k ) Δ x ,
subject to
c i ( x k ) Δ x + c i ( x k ) = 0 , i = 1 , , m ,
g j ( x k ) Δ x + g j ( x k ) 0 , j = 1 , , p ,
where H k = 2 L ( x k , λ k , μ k ) is the search direction from the current iteration x k . H k = 2 L x k , λ k , μ k is the Hessian matrix of the Lagrangian function with respect to x at x k . f x k is the gradient of the objective function at x k , and c i x k and g j x k are the gradients of the equality and inequality constraints at x k , respectively.
Algorithm 1 BOCC Algorithm—Convex Optimization
1:
Input: Total number of time steps T, number of nodes n, maximum iterations m a x _ i t e r a t i o n s , convergence tolerance ϵ , weighting factor λ , step size α , step size for Lagrange multipliers β
2:
Constants: Maximum normal transmission rate S normal , maximum buffer occupancy B max
3:
Initialize:
4:
S n [ i ] [ t ] Initial transmission rate for node i at time t {Initialize transmission rate for each node at each time step}
5:
B [ t ] Initial buffer occupancy at time t {Set initial buffer occupancy}
6:
μ [ i ] [ t ] 0 for all i and t {Initialize Lagrange multipliers for transmission rate constraints}
7:
ν [ t ] 0 for all t {Initialize Lagrange multipliers for buffer constraints}
8:
i t e r 0 {Initialize iteration counter}
9:
c o n v e r g e d False {Set convergence flag to False}
10:
while  i t e r < m a x _ i t e r a t i o n s  and not c o n v e r g e d  do
11:
    i t e r i t e r + 1 {Increment iteration counter}
12:
   for  t = 1  to T do
13:
      P drop [ t ] ComputeDropProbability ( S n , B , t ) {Compute packet drop probability}
14:
      δ [ t ] ComputeBufferChangeRate ( B , t ) {Compute buffer change rate}
15:
   end for
16:
   for  t = 1  to T do
17:
     for  i = 1  to n do
18:
         S n [ i ] [ t ] S n [ i ] [ t ] P drop [ t ] · P i + λ · δ [ t ] + μ [ i ] [ t ] {Compute gradient for transmission rate}
19:
     end for
20:
      B [ t ] B [ t ] P drop [ t ] · P i + λ · δ [ t ] + ν [ t ] {Compute gradient for buffer occupancy}
21:
   end for
22:
   for  t = 1  to T do
23:
     for  i = 1  to n do
24:
         S n [ i ] [ t ] S n [ i ] [ t ] α · S n [ i ] [ t ] {Update transmission rate}
25:
         S n [ i ] [ t ] max 0 , min S n [ i ] [ t ] , S normal {Enforce transmission rate limits}
26:
     end for
27:
   end for
28:
   for  t = 1  to T do
29:
      B [ t ] B [ t ] α · B [ t ] {Update buffer occupancy}
30:
      B [ t ] max 0 , min B [ t ] , B max {Enforce buffer limits}
31:
   end for
32:
   for  t = 1  to T do
33:
     for  i = 1  to n do
34:
         μ [ i ] [ t ] μ [ i ] [ t ] + β · S n [ i ] [ t ] S normal {Update Lagrange multiplier for rate constraint}
35:
         μ [ i ] [ t ] max 0 , μ [ i ] [ t ] {Ensure non-negativity of multiplier}
36:
     end for
37:
      ν [ t ] ν [ t ] + β · B [ t ] B max {Update Lagrange multiplier for buffer constraint}
38:
      ν [ t ] max 0 , ν [ t ] {Ensure non-negativity of multiplier}
39:
   end for
40:
   if  S n + B < ϵ  then
41:
      c o n v e r g e d True
42:
   else
43:
      c o n v e r g e d False
44:
   end if
45:
end while
46:
Output: Optimized values of S n and B
47:
Return:  S n , B
Algorithm 2 Sequential Quadratic Programming (SQP) Method
1:
Initialization:
2:
Set k 0 {Initialize iteration counter}
3:
Initialize x 0 (initial guess for the decision variables) {Set initial decision variables}
4:
Initialize Lagrange multipliers λ 0 and μ 0
5:
Set tolerance ϵ for convergence
6:
while not converged do
7:
   Formulate the Quadratic Programming (QP) Subproblem:
8:
   Approximate the Lagrangian function at x k :
L ( x , λ , μ ) = f ( x ) + i = 1 m λ i c i ( x ) + j = 1 p μ j g j ( x )
9:
   The QP subproblem at iteration k is
Minimize 1 2 Δ x H k Δ x + f ( x k ) Δ x subject to c i ( x k ) Δ x + c i ( x k ) = 0 , i = 1 , , m g j ( x k ) Δ x + g j ( x k ) 0 , j = 1 , , p
10:
   Solve the QP Subproblem:
11:
   Solve the QP subproblem to find the step direction Δ x k {Find update direction for decision variables}
12:
   Update the Variables:
13:
   Determine the step size α k using a line search or trust-region method {Find optimal step size}
14:
   Update the decision variables:
x k + 1 = x k + α k Δ x k
{Update decision variables for next iteration}
15:
   Update the Lagrange multipliers λ k and μ k {Adjust Lagrange multipliers}
16:
   Check for Convergence:
17:
   Calculate the norm of the gradient of the Lagrangian function:
L ( x k + 1 , λ k + 1 , μ k + 1 )
{Evaluate convergence based on gradient norm}
18:
   Compute the magnitude of constraint violations:
Violation = max c i ( x k + 1 ) , g j ( x k + 1 )
{Check constraint satisfaction}
19:
   if both the norm of the gradient and the constraint violations are below the tolerance ϵ  then
20:
     Set x * x k + 1 and terminate {Terminate if convergence criteria are met}
21:
   else
22:
     Set k k + 1 {Increment iteration counter}
23:
   end if
24:
end while
25:
Termination:
26:
The algorithm terminates when convergence criteria are met, providing the optimal solution x *

4.3.2. Interpretation of the QP Subproblem

The QP subproblem is a quadratic optimization problem in Δ x , with the following:
  • A quadratic objective function:
    1 2 Δ x H k Δ x + f ( x k ) Δ x .
  • Linear equality constraints:
    c i ( x k ) Δ x + c i ( x k ) = 0 , i = 1 , , m .
  • Linear inequality constraints:
    g j ( x k ) Δ x + g j ( x k ) 0 , j = 1 , , p .

4.3.3. Solution of the QP Subproblem

The QP subproblem can be solved using standard QP solvers, which are designed to handle problems of this form efficiently.
  • Solve the quadratic objective function by finding the search direction Δ x k that minimizes the function while satisfying the constraints defined in Equations (15)–(17). This can be achieved using methods such as the active-set method, interior-point method, or others, depending on the specific QP solver used.
  • Update the decision variables: Once the optimal search direction Δ x k is found, then update the decision variables x k + 1 = x k + α k Δ x k , where α k is a step size determined by a line search or trust-region approach.
  • Update the Lagrange multipliers: Update the Lagrange multipliers λ k and μ k based on the solution of the QP subproblem, ensuring that the Karush–Kuhn–Tucker (KKT) conditions are satisfied.
  • Check for convergence: Finally, check if the solution has converged. Convergence is achieved when the norm of the gradient of the Lagrangian function is sufficiently small, and the constraints defined in Equations (18)–(20) are satisfied with minimal violation.
The QP subproblem is a key step in the SQP method, providing a way to iteratively approximate and solve the original nonlinear constrained optimization problem. By solving the QP subproblem at each iteration, the SQP method effectively navigates the feasible region to find the optimal solution to the BOCC algorithm’s optimization problem.

4.4. Solving Quadratic Programming Problem Using the Active-Set Method (ASM)

The ASM technique is the iterative method that exploits both inequality and equality constraints to solve QP problems. This method maintains and updates a list of active constraints (i.e., those that are binding at the solution). The QP problem can be represented in a generalized form given by
Minimize 1 2 x H x + f x ,
subject to
A eq x = b eq ,
A ineq x b ineq ,
where H is the Hessian matrix, f is the gradient vector of the objective function, A eq and A ineq are matrices representing the coefficients of the equality and inequality constraints, respectively, and b eq and b ineq are vectors representing the right-hand side of the equality and inequality constraints.

4.4.1. Active-Set Method

The active-set method solves the QP problem by iteratively adjusting the set of active constraints, solving a sequence of equality-constrained QP subproblems.
  • Initialization:
    • Start with an initial feasible point x 0 that satisfies all the constraints.
    • Initialize the working set W 0 to include all the equality constraints and any inequality constraints that are active (i.e., those for which A i n e q x 0 = b i n e q ) .
  • Iterative steps. At each iteration k, the following steps are performed:
    • Solve the equality-constrained QP subproblem: Solve the QP subproblem defined in Equations (21)–(23) that considers only the constraints in the current working set W k . The solution to this subproblem gives a search direction Δ x k .
    • Check for optimality: Compute the Lagrange multipliers λ k associated with the constraints in the working set W k . If all the Lagrange multipliers corresponding to inequality constraints are non-negative, the current solution is optimal. If not, remove the constraint with the most negative multiplier from the working set and go to the next step.
    • Determine step length: Compute the maximum step length α k that maintains feasibility with respect to all inequality constraints:
      α k = min 1 , min j W k b j A j x k A j Δ x k ,
      where W k is the set of active constraints at iteration k, A j and b j represent the coefficients and the right-hand side of the inequality constraints, and Δ x k is the search direction and updates the solution.
      x k + 1 = x k + α k Δ x k .
    • Update the working set: If α k < 1 , the step is blocked by some inequality constraint not currently in the working set. Add the most restrictive constraint to the working set W k + 1 .
    • Repeat: Repeat steps 1 through 4 updating the iterations in Equations (24) and (25) until convergence is achieved.

4.4.2. Convergence

The active-set method iteratively identifies and solves a sequence of equality-constrained subproblems by adjusting the set of active constraints. This approach ensures that each iteration considers only the constraints actively influencing the current solution. Convergence occurs when the optimal solution meets the Karush–Kuhn–Tucker (KKT) conditions, ensuring that both the objective function and constraints are satisfied.
The proposed model is purposefully designed to address congestion in WMSNs by optimizing two core parameters: the packet drop probability and the buffer occupancy change rate. These two components are critical in WMSNs where QoS requirements are high, especially in applications with real-time video and multimedia streaming. The parameter P d r o p ( t ) captures the likelihood of packet loss due to buffer overflow, which directly affects video quality. By minimizing P d r o p ( t ) , the model prioritizes high-quality multimedia transmission, particularly for I-frame packets, which are crucial in maintaining overall video clarity and integrity. The parameter δ ( t ) minimizes abrupt increases in buffer occupancy, which are early indicators of potential congestion. The buffer occupancy change rate directly impacts network stability; hence, by controlling δ ( t ) , the model prevents rapid, destabilizing congestion triggers. This is essential for reducing jitter and maintaining smooth video playback across the network.
Together, these two parameters provide a balanced approach that directly targets the critical QoS aspects of packet delivery and network stability in a manner suitable for WMSNs. The objective function in Equation (5) is a weighted combination of P d r o p ( t ) . The weights P i and λ are carefully selected to reflect the priority of packet types (i.e., high-priority I-frames) and the network’s tolerance for changes in buffer occupancy. By using a simple, interpretable objective, we ensure computational efficiency, which is essential for real-time network adjustments in WMSNs. This design choice keeps the optimization lightweight, allowing it to be implemented in resource-constrained sensor nodes without overwhelming computational demands.
The optimization model and its results were rigorously validated through empirical testing, as described in the following Section 5. The simplicity of the optimization model is designed to achieve efficient congestion control without unnecessary computational complexity. The experimental results validate that our model captures the necessary dynamics to support QoS in WMSNs. Therefore, we contend that the chosen optimization model is both theoretically sound and practically validated.

5. Experimental Results

The experimental performance of BOCC using 13 Raspberry Pi-4 Model B devices (Raspberry Pi Foundation, Cambridge, UK) is presented in this section; see Figure 4. These nodes are placed in fixed positions in cabin enclosures. The camera is used to record videos. Every Raspberry Pi node stores a pre-recorded video. Using multi-hop communication, each source node sends captured video data to the sink node. The efficiency of BOCC is determined by four parameters. The average end-to-end delay, peak signal-to-noise ratio, packet delivery ratio, and buffer occupancy are these four parameters. This section compares the following algorithms:
  • BOCC: This article implements this algorithm.
  • ECODA: This algorithm is presented in [38].
  • PPI: This algorithm is given in [39].
  • CDTMRLB: This algorithm is provided in [40].
  • NoBOCC: No congestion control mechanism is employed in NoBOCC.

5.1. Packet Delivery Ratio of I-Frame Packets

Figure 5 depicts how the percentage of I-frames that successfully reach their destination changes as the data transmission rate varies. Figure 6 shows that BOCC achieves an 83% packet delivery ratio, while PPI, ECODA, CDTMRLB, ECODA, and NoBOCC attain 79%, 77%, 73%, and 52% packet delivery ratios at a data rate of 30 packets per second, respectively. When congestion occurs, BOCC discards some P-frame packets to save the I-packets. Thus, BOCC has a better I-frame packet delivery ratio in comparison with the other protocols. The ECODA, PPI, and CTRLB protocols perform better than NoBOCC. NoBOCC offers no congestion control technique; so, it shows minimal improvement compared to the other algorithms.

5.2. Packet Delivery Ratio of P-Frame Packets

Figure 7 illustrates the connection between the P-frame packet delivery ratio and the data rate. NoBOCC offers no congestion control mechanism. Therefore, NoBOCC contains the highest number of lost P-frame packets. BOCC discards P-frame packets in congested conditions to protect I-frame packets. Thus, the CDTMRLB, PPI, and ECODA protocols have a small number of P-frame packet losses compared to BOCC. This is because ECODA, CDTMRLB, and PPI use the same effective technique for both I- and P-frame packets. Figure 8 shows that PPI has a 75% packet delivery ratio, whereas ECODA, CDTMRLB, BOCC, and NoBOCC achieve 74%, 72%, 71%, and 51% packet delivery ratios, respectively, at a data rate of 30 packets per second.

5.3. Average End-to-End Delay vs. Data Rate

It is observed that sending data at a slower rate (smaller data rate) does not cause any noticeable delays. Figure 7 shows that an increased data rate results in increased end-to-end delay. Increased end-to-end delays can saturate the network. Compared to other protocols, BOCC has the smallest average end-to-end delay. NoBOCC has the highest average end-to-end delay, as illustrated in Figure 7. BOCC outperforms all the other algorithms in terms of performance. BOCC has an end-to-end delay of 200 ms. PPI, ECODA, CDTMRLB, and NoBOCC has end-to-end delays of 220 ms, 250 ms, 270 ms, and 330 ms, respectively, at 30 packets per second.

5.4. PSNR

Figure 8 represents the relationship between the peak signal-to-noise ratio (PSNR) and data rate. The PSNR shows the received video quality. A pre-recorded H.264 video stream is stored in each Raspberry Pi to evaluate the effect of the PSNR. The PSNR decreases with increasing data rate. Obviously, a lower number of I-frames results in superior video quality. NoBOCC has the lowest PSNR. The ECODA, PPI, and CDTMRLB protocols lose fewer I-frame packets than NoBOCC. Therefore, these algorithms perform better than NoBOCC. BOCC shows superior video quality compared to the ECODA, PPI, CDTMRLB, and NoBOCC protocols. This is because BOCC has the fewest lost I-frame packets. BOCC obtains 26 dB PSNR while PPI, ECODA, CDTMRLB, and NoBOCC have PSNRs of 23 dB, 20 dB, 18 dB, and 11 dB, respectively, at a data rate of 30 packets per second. This illustrates the significance of saving I-frame packets in WMSNs.
Figure 9 shows how different metrics interact and change over time for the data received using our WMSN nodes. The figure depicts two metrics, i.e., the packet loss graph shows how the probability of packet loss varies over time. The video quality graph shows how the quality of the video (i.e., peak signal-to-noise ratio; PSNR) changes over time. A sinusoidal pattern with exponential decay shows periodic fluctuations in packet loss, due to varying network conditions such as traffic loads. The presence of random noise indicates that packet loss is not entirely predictable and can be influenced by unpredictable network factors.
Periodic increases in packet loss indicate specific times when the network experiences higher load or interference. The exponential decay suggests that, over time, the packet loss probability decreases, due to improved network conditions and the adaptation mechanisms. In the second graph in Figure 9, the cosine pattern with exponential decay indicates that video quality oscillates but tends to decrease over time. Random noise adds variability, showing that video quality is not consistently stable. Fluctuations in video quality could be related to varying network conditions or buffer occupancy levels. The decay in quality over time indicates that network congestion or packet loss is affecting the video stream. A sinusoidal trend with random noise indicates periodic changes in buffer occupancy. The buffer occupancy fluctuates but stays within a bounded range (0 to 100), indicating controlled buffer usage. Periodic increases and decreases in buffer occupancy are related to varying data arrival rates. High buffer occupancy is correlated with higher packet loss or congestion, impacting video quality. A sinusoidal pattern with clipping between 0 and 1 indicates the periodic congestion levels. Random noise introduces variability, indicating that congestion levels can fluctuate unpredictably. Periods of high congestion levels correlate with increased packet loss and decreased video quality.
Our proposed BOCC algorithm is effective in congestion management and buffering techniques to maintain optimal network performance. Our proposed technique carefully balances the trade-offs between packet loss, video quality, buffer occupancy, and congestion. It also monitors and adjusts the parameters like the weighting factor λ , which can help optimize the performance and maintain a balance between packet drop probability and buffer occupancy, as shown in Figure 10 and Figure 11 for convex optimization and SQP optimization, respectively. The convex optimization and SQP techniques are used to assess and optimize the performance of the network by iterating over different λ values. They collect and visualize the results to find the optimal balance between packet loss and video quality. Figure 10 and Figure 11 help to visualize how changing λ affects both packet loss and video quality.
Figure 10 shows the packet loss rate vs. λ , and the second graph in this figure shows the video quality vs. λ , solved using the convex optimization technique. These graphs show how packet loss varies with different values of λ ; as λ changes, packet loss also varies due to the trade-off between network congestion and data prioritization. In the context of optimization, we look for the λ value where packet loss is minimized without compromising video quality. The second graph illustrates how video quality changes with different λ values. Higher λ values prioritize reducing packet loss, potentially at the cost of video quality, while lower values focus more on maintaining video quality even if it means higher packet loss. We seek a balance where video quality remains high while packet loss is minimized. At λ = 0.4040, the objective function reaches its minimum value, indicating the best trade-off between minimizing packet loss and maintaining video quality given the specific weights α and β . If the weights α and β are changed, then the optimal λ might shift. Therefore, this result is specific to the current weight settings and may need adjustment for different network conditions or priorities.
Figure 11 shows the packet loss rate vs. λ and video quality vs. λ , solved using the SQP optimization technique. In the SQP optimization technique, at λ = 0.6102 the objective function reached its minimum value, indicating the best scenario, where video quality is maintained while minimizing the packet loss. These results show that the BOCC algorithm is capable of finding the most suitable value for different network parameters and conditions to effectively achieve better video quality with minimum packet loss.

6. Conclusions

The BOCC protocol effectively mitigates congestion in WMSNs by leveraging buffer occupancy metrics and change rates to adjust data transmission dynamically. With a feedback-based rate controller that prioritizes high-priority packets, BOCC ensures efficient video stream transmission even under congested conditions. The experimental results in a multi-hop, tree-topology WMSN environment with Raspberry Pi nodes demonstrate up to 16% reduction in packet loss and up to 23% reduction in average end-to-end delay compared to state-of-the-art congestion control algorithms. Additionally, optimization through convex programming and SQP enhances BOCC’s performance, with convex optimization providing faster convergence. Future work will explore BOCC’s adaptability to more diverse topologies and its integration with machine learning techniques to enhance congestion prediction and rate control. These advancements will further solidify BOCC as a scalable, efficient solution for dynamic WMSN environments.

Author Contributions

Conceptualization, U.M., A.N.M. and N.A.; investigation, U.M., A.N.M., A.S.A., M.A.J. and W.A.; writing—original draft, U.M. and A.N.M.; writing—review and editing, U.M., A.N.M., A.S.A., M.A.J. and W.A. All authors have read and agreed to the published version of the manuscript.

Funding

This work was funded by Institutional Fund Projects under grant no. IFPIP: 889-611-1443. These authors gratefully acknowledge technical and financial support from the Ministry of Education and King Abdulaziz University, DSR, Jeddah, Saudi Arabia.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

WMSNWireless multimedia sensor network
BOCCBuffer Occupancy-Based Congestion Control
QoSQuality of service
EMAExponential moving average
PSNRPeak signal-to-noise ratio
SQPSequential quadratic programming
CMOSComplementary metal–oxide–semiconductor
MEMSsMicro-electromechanical systems
PPIPriority Packet Index
ECODAEnhanced Congestion Detection and Avoidance
TARATopology-aware resource adaptation
TMRTime-delay-based multipath routing
HRTCHybrid resource and traffic control
HTAPHierarchical tree alternative path
SLEBSecure load-balanced scheme
DHSSRPDynamic hop selection static routing protocol
HOCAHealthcare-aware optimized congestion avoidance
CADACongestion-aware data acquisition
ESRTEvent-to-sink reliable transport
AWFAdaptive weight firefly
NACKNegative acknowledgment

References

  1. Manuel, E.M.; Pankajakshan, V.; Mohan, M.T. Efficient Strategies for Signal Aggregation in Low-Power Wireless Sensor Networks With Discrete Transmission Ranges. IEEE Sens. Lett. 2023, 7, 7500304. [Google Scholar] [CrossRef]
  2. Yokoyama, T.; Narieda, S.; Naruse, H. Optimization of Sensor Node Placement for CO2 Concentration Monitoring Based on Wireless Sensor Networks in an Indoor Environment. IEEE Sens. Lett. 2024, 8, 7001904. [Google Scholar] [CrossRef]
  3. Usman, M.; Jan, M.A.; He, X.; Chen, J. A mobile multimedia data collection scheme for secured wireless multimedia sensor networks. IEEE Trans. Netw. Sci. Eng. 2018, 7, 274–284. [Google Scholar] [CrossRef]
  4. Kizilkaya, B.; Ever, E.; Yatbaz, H.Y.; Yazici, A. An effective forest fire detection framework using heterogeneous wireless multimedia sensor networks. ACM Trans. Multimed. Comput. Commun. Appl. (TOMM) 2022, 18, 1–21. [Google Scholar] [CrossRef]
  5. Alqaralleh, B.A.; Mohanty, S.N.; Gupta, D.; Khanna, A.; Shankar, K.; Vaiyapuri, T. Reliable multi-object tracking model using deep learning and energy efficient wireless multimedia sensor networks. IEEE Access 2020, 8, 213426–213436. [Google Scholar] [CrossRef]
  6. Devulapalli, P.K.; GAE, S.K.; Maganti, S.B.; Rachapogula, S. Image transmission in mobile wireless multimedia sensor networks using cat swarm optimization. Multimed. Tools Appl. 2024, 83, 17557–17578. [Google Scholar] [CrossRef]
  7. Goyat, R.; Kumar, G.; Saha, R.; Conti, M. Pribadi: A decentralized privacy-preserving authentication in wireless multimedia sensor networks for smart cities. Clust. Comput. 2024, 27, 4823–4839. [Google Scholar] [CrossRef]
  8. Felici-Castell, S.; García-Pineda, M.; Segura-Garcia, J.; Fayos-Jordan, R.; Lopez-Ballester, J. Adaptive live video streaming on low-cost wireless multihop networks for road traffic surveillance in smart cities. Future Gener. Comput. Syst. 2021, 115, 741–755. [Google Scholar] [CrossRef]
  9. Chiwariro, R.; Thangadurai, N. Quality of service aware routing protocols in wireless multimedia sensor networks: Survey. Int. J. Inf. Technol. 2022, 14, 789–800. [Google Scholar] [CrossRef]
  10. Afzal, S.S.; Akbar, W.; Rodriguez, O.; Doumet, M.; Ha, U.; Ghaffarivardavagh, R.; Adib, F. Battery-free wireless imaging of underwater environments. Nat. Commun. 2022, 13, 5546. [Google Scholar] [CrossRef]
  11. Jiang, J.; Wang, H.; Mu, X.; Guan, S. Logistics industry monitoring system based on wireless sensor network platform. Comput. Commun. 2020, 155, 58–65. [Google Scholar] [CrossRef]
  12. Zikria, Y.B.; Afzal, M.K.; Kim, S.W. Internet of multimedia things (IoMT): Opportunities, challenges and solutions. Sensors 2020, 20, 2334. [Google Scholar] [CrossRef] [PubMed]
  13. Samiayya, D.; Ramasamy, J.; Gunasekar, M. An efficient congestion control in multimedia streaming using adaptive BRR and fuzzy butterfly optimization. Trans. Emerg. Telecommun. Technol. 2023, 34, e4707. [Google Scholar] [CrossRef]
  14. Budati, A.K.; Islam, S.; Hasan, M.K.; Safie, N.; Bahar, N.; Ghazal, T.M. Optimized visual internet of things for video streaming enhancement in 5G sensor network devices. Sensors 2023, 23, 5072. [Google Scholar] [CrossRef]
  15. León, J.P.A.; de la Cruz Llopis, L.J.; Rico-Novella, F.J. A machine learning based distributed congestion control protocol for multi-hop wireless networks. Comput. Netw. 2023, 231, 109813. [Google Scholar] [CrossRef]
  16. Majeed, U.; Malik, A.N.; Abbas, N.; Abbass, W. An energy-efficient distributed congestion control protocol for wireless multimedia sensor networks. Electronics 2022, 11, 3265. [Google Scholar] [CrossRef]
  17. Matheen, M.; Sundar, S. IoT multimedia sensors for energy efficiency and security: A review of QoS aware and methods in wireless multimedia sensor networks. Int. J. Wirel. Inf. Netw. 2022, 29, 407–418. [Google Scholar] [CrossRef]
  18. Montazerolghaem, A. Software-defined internet of multimedia things: Energy-efficient and load-balanced resource management. IEEE Internet Things J. 2021, 9, 2432–2442. [Google Scholar] [CrossRef]
  19. Srivastava, V.; Tripathi, S.; Singh, K.; Son, L.H. Energy efficient optimized rate based congestion control routing in wireless sensor network. J. Ambient. Intell. Humaniz. Comput. 2020, 11, 1325–1338. [Google Scholar] [CrossRef]
  20. Javaid, S.; Fahim, H.; Hamid, Z.; Hussain, F.B. Traffic-aware congestion control (TACC) for wireless multimedia sensor networks. Multimed. Tools Appl. 2018, 77, 4433–4452. [Google Scholar] [CrossRef]
  21. Ee, C.T.; Bajcsy, R. Congestion control and fairness for many-to-one routing in sensor networks. In Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems, Baltimore, MD, USA, 3–5 November 2004; pp. 148–161. [Google Scholar]
  22. Akan, O.B.; Akyildiz, I.F. Event-to-sink reliable transport in wireless sensor networks. IEEE/ACM Trans. Netw. 2005, 13, 1003–1016. [Google Scholar] [CrossRef]
  23. Kuthadi, V.M.; Selvaraj, R.; Baskar, S.; Shakeel, P.M.; Ranjan, A. Optimized energy management model on data distributing framework of wireless sensor network in IoT system. Wirel. Pers. Commun. 2022, 127, 1377–1403. [Google Scholar] [CrossRef]
  24. Sergiou, C.; Vassiliou, V.; Paphitis, A. Hierarchical Tree Alternative Path (HTAP) algorithm for congestion control in wireless sensor networks. Ad Hoc Netw. 2013, 11, 257–272. [Google Scholar] [CrossRef]
  25. Kang, J.; Zhang, Y.; Nath, B. TARA: Topology-aware resource adaptation to alleviate congestion in sensor networks. IEEE Trans. Parallel Distrib. Syst. 2007, 18, 919–931. [Google Scholar] [CrossRef]
  26. Ghaemi, Y.; El-Ocla, H.; Yadav, N.R.; Madana, M.R.; Raju, D.K.; Dhanabal, V.; Sheshadri, V. Intelligent transport system using time delay-based multipath routing protocol for vehicular ad hoc networks. Sensors 2021, 21, 7706. [Google Scholar] [CrossRef]
  27. Zhou, J.; Lin, Z.; Jiang, X. Secure load-balanced scheme for cluster-based WSNs. In Proceedings of the 2019 6th International Conference on Systems and Informatics (ICSAI), Shanghai, China, 2–4 November 2019; pp. 804–809. [Google Scholar]
  28. Adil, M. Congestion free opportunistic multipath routing load balancing scheme for Internet of Things (IoT). Comput. Netw. 2021, 184, 107707. [Google Scholar] [CrossRef]
  29. Rezaee, A.A.; Yaghmaee, M.H.; Rahmani, A.M.; Mohajerzadeh, A.H. HOCA: Healthcare aware optimized congestion avoidance and control protocol for wireless sensor networks. J. Netw. Comput. Appl. 2014, 37, 216–228. [Google Scholar] [CrossRef]
  30. Yadav, S.L.; Ujjwal, R.; Kumar, S.; Kaiwartya, O.; Kumar, M.; Kashyap, P.K. Traffic and energy aware optimization for congestion control in next generation wireless sensor networks. J. Sens. 2021, 2021, 5575802. [Google Scholar] [CrossRef]
  31. Zandi, R.; Behzad, K.; Motamedi, E.; Salehinejad, H.; Siami, M. Robofisense: Attention-based robotic arm activity recognition with wifi sensing. IEEE J. Sel. Top. Signal Process. 2024, 18, 396–406. [Google Scholar] [CrossRef]
  32. Banani Ardecani, F.; Mahmoudzadeh, A.; Mesbah, M. Fuzing multiple erroneous sensors to estimate travel time. J. Intell. Transp. Syst. 2024, 1–14. [Google Scholar] [CrossRef]
  33. Jamil, U.; Malmir, M.; Chen, A.; Filipovska, M.; Xie, M.; Ding, C.; Jin, Y.F. Developing an eco-driving strategy in a hybrid traffic network using reinforcement learning. Sci. Prog. 2024, 107, 00368504241263406. [Google Scholar] [CrossRef] [PubMed]
  34. Sheu, J.P.; Hu, W.K. Hybrid congestion control protocol in wireless sensor networks. In Proceedings of the VTC Spring 2008-IEEE Vehicular Technology Conference, Marina Bay, Singapore, 11–14 May 2008; pp. 213–217. [Google Scholar]
  35. Sergiou, C.; Vassiliou, V. HRTC: A hybrid algorithm for efficient congestion control in wireless sensor networks. In Proceedings of the 2014 6th International Conference on New Technologies, Mobility and Security (NTMS), Dubai, United Arab Emirates, 30 March–2 April 2014; pp. 1–5. [Google Scholar]
  36. Sayyada, J.; Choudhari, N. Hierarchical tree based congestion control using fuzzy logic for heterogeneous traffic in WSN. Int. J. Curr. Eng. Technol. 2014, 4, 4136–4143. [Google Scholar]
  37. Donta, P.K.; Amgoth, T.; Annavarapu, C.S.R. Congestion-aware data acquisition with q-learning for wireless sensor networks. In Proceedings of the 2020 IEEE International IOT, Electronics and Mechatronics Conference (IEMTRONICS), Vancouver, BC, Canada, 9–12 September 2020; pp. 1–6. [Google Scholar]
  38. Tao, L.Q.; Yu, F.Q. ECODA: Enhanced congestion detection and avoidance for multiple class of traffic in sensor networks. IEEE Trans. Consum. Electron. 2010, 56, 1387–1394. [Google Scholar] [CrossRef]
  39. Shelke, M.P.; Malhotra, A.; Mahalle, P. A packet priority intimation-based data transmission for congestion free traffic management in wireless sensor networks. Comput. Electr. Eng. 2017, 64, 248–261. [Google Scholar] [CrossRef]
  40. Ahmed, A.M.; Paulus, R. Congestion detection technique for multipath routing and load balancing in WSN. Wirel. Netw. 2017, 23, 881–888. [Google Scholar] [CrossRef]
Figure 1. Packet flow in wireless multimedia sensor networks.
Figure 1. Packet flow in wireless multimedia sensor networks.
Electronics 13 04454 g001
Figure 2. Congestion control protocol classification.
Figure 2. Congestion control protocol classification.
Electronics 13 04454 g002
Figure 3. Queue scheduler.
Figure 3. Queue scheduler.
Electronics 13 04454 g003
Figure 4. Routing topology used in BOCC.
Figure 4. Routing topology used in BOCC.
Electronics 13 04454 g004
Figure 5. Packet loss of I-frame packets vs. data rate.
Figure 5. Packet loss of I-frame packets vs. data rate.
Electronics 13 04454 g005
Figure 6. Packet loss of P-frame packets vs. data rate.
Figure 6. Packet loss of P-frame packets vs. data rate.
Electronics 13 04454 g006
Figure 7. Average end-to-end delay vs. data rate.
Figure 7. Average end-to-end delay vs. data rate.
Electronics 13 04454 g007
Figure 8. Average video quality vs. data rate.
Figure 8. Average video quality vs. data rate.
Electronics 13 04454 g008
Figure 9. Performance metrics over time.
Figure 9. Performance metrics over time.
Electronics 13 04454 g009
Figure 10. Optimization parameters (convex optimization).
Figure 10. Optimization parameters (convex optimization).
Electronics 13 04454 g010
Figure 11. Optimization parameters (SQP optimization).
Figure 11. Optimization parameters (SQP optimization).
Electronics 13 04454 g011
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.

Share and Cite

MDPI and ACS Style

Majeed, U.; Malik, A.N.; Abbas, N.; Alfakeeh, A.S.; Javed, M.A.; Abbass, W. Buffer Occupancy-Based Congestion Control Protocol for Wireless Multimedia Sensor Networks. Electronics 2024, 13, 4454. https://doi.org/10.3390/electronics13224454

AMA Style

Majeed U, Malik AN, Abbas N, Alfakeeh AS, Javed MA, Abbass W. Buffer Occupancy-Based Congestion Control Protocol for Wireless Multimedia Sensor Networks. Electronics. 2024; 13(22):4454. https://doi.org/10.3390/electronics13224454

Chicago/Turabian Style

Majeed, Uzma, Aqdas Naveed Malik, Nasim Abbas, Ahmed S. Alfakeeh, Muhammad Awais Javed, and Waseem Abbass. 2024. "Buffer Occupancy-Based Congestion Control Protocol for Wireless Multimedia Sensor Networks" Electronics 13, no. 22: 4454. https://doi.org/10.3390/electronics13224454

APA Style

Majeed, U., Malik, A. N., Abbas, N., Alfakeeh, A. S., Javed, M. A., & Abbass, W. (2024). Buffer Occupancy-Based Congestion Control Protocol for Wireless Multimedia Sensor Networks. Electronics, 13(22), 4454. https://doi.org/10.3390/electronics13224454

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop