A method of scheduling transmission of a data flow in a data center network comprising a plurality of network nodes and links, the method comprising, at a network controller: receiving a transmission request for a data flow, wherein the data flow is a high bandwidth flow, wherein the high bandwidth data flow is a data flow with a bandwidth requirement greater than a threshold, wherein a guard period is dimensioned to allow for transmission of low bandwidth flows, wherein a low bandwidth flow is a data flow with a bandwidth below the threshold; obtaining a tolerated time interval for the data flow, and scheduling transmission of the data flow within the tolerated time interval and without contention with one or more other transmissions on the data center network, wherein scheduling transmission of the data flow comprises: determining whether at least one starting time exists within the tolerated time interval for which the data flow may be transmitted as a single block without contention with one or more other transmissions on the data center network, transmitting the data flow at the first acceptable starting time when at least one starting time is determined to exist within the tolerated time interval for which the data flow may be transmitted as a single block without contention with one or more other transmissions on the data center network, and enabling a client server to segment the data flow into segments when at least one starting time is determined to not exist within the tolerated time interval for which the data flow may be transmitted as the single block without contention with one or more other transmissions on the data center network; and scheduling the transmission of data flow such that the data flow or the segments of the data flow are separated by one or more guard periods from another data flow on the data center network. receiving a transmission request for a data flow, wherein the data flow is a high bandwidth flow, wherein the high bandwidth data flow is a data flow with a bandwidth requirement greater than a threshold, wherein a guard period is dimensioned to allow for transmission of low bandwidth flows, wherein a low bandwidth flow is a data flow with a bandwidth below the threshold; obtaining a tolerated time interval for the data flow, and scheduling transmission of the data flow within the tolerated time interval and without contention with one or more other transmissions on the data center network, wherein scheduling transmission of the data flow comprises: determining whether at least one starting time exists within the tolerated time interval for which the data flow may be transmitted as a single block without contention with one or more other transmissions on the data center network, transmitting the data flow at the first acceptable starting time when at least one starting time is determined to exist within the tolerated time interval for which the data flow may be transmitted as a single block without contention with one or more other transmissions on the data center network, and enabling a client server to segment the data flow into segments when at least one starting time is determined to not exist within the tolerated time interval for which the data flow may be transmitted as the single block without contention with one or more other transmissions on the data center network; and determining whether at least one starting time exists within the tolerated time interval for which the data flow may be transmitted as a single block without contention with one or more other transmissions on the data center network, transmitting the data flow at the first acceptable starting time when at least one starting time is determined to exist within the tolerated time interval for which the data flow may be transmitted as a single block without contention with one or more other transmissions on the data center network, and enabling a client server to segment the data flow into segments when at least one starting time is determined to not exist within the tolerated time interval for which the data flow may be transmitted as the single block without contention with one or more other transmissions on the data center network; and scheduling the transmission of data flow such that the data flow or the segments of the data flow are separated by one or more guard periods from another data flow on the data center network.