## 6 Conclusions  
This paper presents a fully distributed rate adjustment algorithm for heterogeneous CSMA/CA networks with time-varying traffics. The algorithm enables each node in the CSMA/CA network to tune its transmission rate to a desired level with respect to a given throughput demand without any central coordination. The novelty of the proposed algorithm lies in the following three aspects. First, to the best knowledge of the authors, it is the first research work that provides a mathematical characterization of heterogeneous traffics in an IEEE 802.15.4 CSMA/CA network. By exploiting the CCA information, each participating node can accurately determine the level of contention in the network in terms of aggregate transmission rate. Second, with the knowledge of the traffics in the network, each node is able to estimate the packet success rate at equilibrium point and adjust the transmission rate to meet the throughput demand. Compared with existing methods that typically has a prediction error of several percent, the proposed algorithm only yields an average error of 0.43% for homogeneous networks and 0.524% for heterogeneous networks and does not require either complex modeling or central  
Figure 9: Actual throughput in a heterogeneous network with changes on the number of nodes. coordination. Third, the algorithm is more flexible in that it is robust against time-varying traffics and can adjust to a new transmission rate should there be any traffic changes. The proposed algorithm can be used for both homogeneous and heterogeneous CSMA/CA networks. Particularly, it is most suitable for applications with certain throughput requirements. For example, in an intra-vehicular or intra-satellite control system, it is often required that every sensor send a minimum number of measurement packets to the controller to guarantee certain control performance. In this case, the algorithm can be employed to determine the actual transmission rate required. As for practical considerations, the proposed method simply makes use of CCA information and does not require modifications on the CSMA/CA protocol. It is thus easy to implement and computationally inexpensive with the use of a look-up table. Our implementation based on the TinyOS [37, 39] platform also shows its compatibility with prevailing protocol stack. It should be noted that the proposed algorithm can only be applied to IEEE 802.15.4-like CSMA/CA networks. The extension to other forms of CSMA/CA networks (e.g., IEEE 802.11) is possible but requires a different modeling approach, which is beyond the scope of this paper. It should also be noted that the proposed research considered a star-topology and the extension to other topologies is also beyond the scope of this paper. Future works can be pursued in the following aspects. First, this paper considers each CCA result to be a binary value (_i.e.,_ busy/idle). In fact, since each CCA may take up at most two slots and there are four possible outcomes, it is possible to obtain more information on the level of contention by further processing the results. This may also help to propose novel CCA strategies (e.g., the additional carrier sensing method shown in [19]). It is also possible to take into account the imperfect carrier sensing into the modeling [41]. Second, the combination of advanced estimation techniques such as extended Kalman filter and the proposed algorithm may help reduce the error. Third, for a distributed network, there are various forms of local information that can be exploited. For example, the acknowledgement packet (ACK) from the receiver also reflects how busy the network is. Combining the CCA with the ACK can better characterize the network condition. Fourth, in the experiment setup, this paper considers a typical laboratory environment where nodes are randomly placed among cubicles. Future works may consider other typical customized configurations and more extensive experiments can be performed.