In a digital communication network that includes multiple communication nodes, data from a source node to a destination node can typically be routed along many, or even multiple, different possible paths. Path assignment is typically performed to meet a performance criterion such as end-to-end latency experienced by data packets. Simplistic path assignments, however, tend to overlook underlying failure scenarios that may cause disruption in multiple flows due to failure of a single component or path in the communication network. Path failures may occur, e.g., due to failure in a common shared resource such as a common optical fiber over which communication is carrier, or a common equipment, such as a power source or a modulator, that is used to transmit data for multiple flows.