A method comprising: receiving a request to transfer data from a first computing device in a network to a second computing device in the network, the request identifying: the second computing device; a volume of data to be transferred from the first computing device to the second computing device in accordance with the request; and a deadline, the transfer of the data from the first computing device to the second computing device to be completed prior to the deadline; responsive to receiving the request and based upon the request, executing an optimization process to compute a long-term schedule that covers a plurality of time units, the long-term schedule generated to facilitate completion of the transfer of the data from the first computing device to the second computing device prior to the deadline, the long-term schedule identifies, for at least one time unit in the plurality of time units, at least one path in the network over which the data is to be transferred from the first computing device to the second computing device and a rate at which the first computing device is to output the data; based upon the long-term schedule, computing a short-term schedule, the short-term schedule covering fewer time units than the long-term schedule, the short-term schedule computed to facilitate completion of the transfer of the volume of the data from the first computing device to the second computing device prior to the deadline, the short-term schedule comprising routing tables (302, 304, 306) for network infrastructure devices (112, 114) in the network, the network infrastructure devices (112, 114) routing the data in the network based upon the routing tables (302, 304, 306), and instructions for the first computing device as to whether to output the data during the time units covered by the short-term schedule and the rate at which to the first computing device is to output the data; and transmitting the routing tables to the network infrastructure devices (112, 114) and the instructions to the first computing device. receiving a request to transfer data from a first computing device in a network to a second computing device in the network, the request identifying: the second computing device; a volume of data to be transferred from the first computing device to the second computing device in accordance with the request; and a deadline, the transfer of the data from the first computing device to the second computing device to be completed prior to the deadline; the second computing device; a volume of data to be transferred from the first computing device to the second computing device in accordance with the request; and a deadline, the transfer of the data from the first computing device to the second computing device to be completed prior to the deadline; responsive to receiving the request and based upon the request, executing an optimization process to compute a long-term schedule that covers a plurality of time units, the long-term schedule generated to facilitate completion of the transfer of the data from the first computing device to the second computing device prior to the deadline, the long-term schedule identifies, for at least one time unit in the plurality of time units, at least one path in the network over which the data is to be transferred from the first computing device to the second computing device and a rate at which the first computing device is to output the data; based upon the long-term schedule, computing a short-term schedule, the short-term schedule covering fewer time units than the long-term schedule, the short-term schedule computed to facilitate completion of the transfer of the volume of the data from the first computing device to the second computing device prior to the deadline, the short-term schedule comprising routing tables (302, 304, 306) for network infrastructure devices (112, 114) in the network, the network infrastructure devices (112, 114) routing the data in the network based upon the routing tables (302, 304, 306), and instructions for the first computing device as to whether to output the data during the time units covered by the short-term schedule and the rate at which to the first computing device is to output the data; and transmitting the routing tables to the network infrastructure devices (112, 114) and the instructions to the first computing device.