A method comprising: identifying transmission priorities for a plurality of streamed data sources , wherein each of streamed data sources is configured to generate a respective amount of data, and wherein the transmission priorities indicate a transmission order associated with the plurality of streamed data sources ; generating a first permutation that is a first assignment of the plurality of streamed data sources to a plurality of transmitters for transmission; generating a first prediction of whether and how much data from the plurality of streamed data sources will need to be stored prior to transmission based on the first permutation , the respective amounts of data to be generated by the plurality of streamed data sources , the transmission priorities and bandwidths of the plurality of transmitters ; generating a first allocation of storage space sizes that the plurality of streamed data sources will need based on the first permutation and the first prediction; generating a second permutation that is a second assignment of the plurality of streamed data sources to the plurality of transmitters for transmission; generating a second prediction of whether and how much data from the plurality of streamed data sources will need to be stored prior to transmission based on the second permutation , the respective amounts of data to be generated by the plurality of streamed data sources , the transmission priorities and the bandwidths of the plurality of transmitters ; generating a second allocation of storage space sizes that the plurality of streamed data sources will need based on the second permutation and the second prediction; and determining whether to retain the first permutation or the second permutation based on the first and second allocations. identifying transmission priorities for a plurality of streamed data sources , wherein each of streamed data sources is configured to generate a respective amount of data, and wherein the transmission priorities indicate a transmission order associated with the plurality of streamed data sources ; generating a first permutation that is a first assignment of the plurality of streamed data sources to a plurality of transmitters for transmission; generating a first prediction of whether and how much data from the plurality of streamed data sources will need to be stored prior to transmission based on the first permutation , the respective amounts of data to be generated by the plurality of streamed data sources , the transmission priorities and bandwidths of the plurality of transmitters ; generating a first allocation of storage space sizes that the plurality of streamed data sources will need based on the first permutation and the first prediction; generating a second permutation that is a second assignment of the plurality of streamed data sources to the plurality of transmitters for transmission; generating a second prediction of whether and how much data from the plurality of streamed data sources will need to be stored prior to transmission based on the second permutation , the respective amounts of data to be generated by the plurality of streamed data sources , the transmission priorities and the bandwidths of the plurality of transmitters ; generating a second allocation of storage space sizes that the plurality of streamed data sources will need based on the second permutation and the second prediction; and determining whether to retain the first permutation or the second permutation based on the first and second allocations. <EOS>