A method, comprising: monitoring transmission activity of each of a plurality of subcarriers in a communication network; determining (615, 620) a set of unutilized subcarriers of the plurality of subcarriers and timing information associated with the transmission activity; transmitting a data frame on one or more of the unutilized subcarriers to a receiving device while transmission activity is present on one or more utilized subcarriers within the network; and scheduling the transmitting to optimize network performance based on the timing information, wherein scheduling comprises: determining a first finish time associated with transmitting the data frame at a first start time substantially immediately in response to availability of the one or more of the unutilized subcarriers, the first finish time being determined based on the number of the one or more of the unutilized subcarriers at the first start time; determining at least one second finish time associated with transmitting at a second start time the data frame in response to availability of a sufficient number of unutilized subcarriers to meet a determined transmission timing, the at least one second finish time being determined based on the number of the unutilized subcarriers at the second start time; and selecting whether to transmit the data frame substantially immediately or in response to availability of the sufficient number of the unutilized subcarriers, based on the quickest finish time of the first finish time and the at least one second finish time. monitoring transmission activity of each of a plurality of subcarriers in a communication network; determining (615, 620) a set of unutilized subcarriers of the plurality of subcarriers and timing information associated with the transmission activity; transmitting a data frame on one or more of the unutilized subcarriers to a receiving device while transmission activity is present on one or more utilized subcarriers within the network; and scheduling the transmitting to optimize network performance based on the timing information, wherein scheduling comprises: determining a first finish time associated with transmitting the data frame at a first start time substantially immediately in response to availability of the one or more of the unutilized subcarriers, the first finish time being determined based on the number of the one or more of the unutilized subcarriers at the first start time; determining at least one second finish time associated with transmitting at a second start time the data frame in response to availability of a sufficient number of unutilized subcarriers to meet a determined transmission timing, the at least one second finish time being determined based on the number of the unutilized subcarriers at the second start time; and selecting whether to transmit the data frame substantially immediately or in response to availability of the sufficient number of the unutilized subcarriers, based on the quickest finish time of the first finish time and the at least one second finish time. determining a first finish time associated with transmitting the data frame at a first start time substantially immediately in response to availability of the one or more of the unutilized subcarriers, the first finish time being determined based on the number of the one or more of the unutilized subcarriers at the first start time; determining at least one second finish time associated with transmitting at a second start time the data frame in response to availability of a sufficient number of unutilized subcarriers to meet a determined transmission timing, the at least one second finish time being determined based on the number of the unutilized subcarriers at the second start time; and selecting whether to transmit the data frame substantially immediately or in response to availability of the sufficient number of the unutilized subcarriers, based on the quickest finish time of the first finish time and the at least one second finish time.