An approach to network routing based on live monitoring of traffic flows and adapting routes used to optimize performance. In its simplest form, it calculates a best route and uses that until a link fails, at which point it recalculates the best route that diverts around the failure. More sophisticated techniques determine a number of alternative routes and spread the load across them. See also alternative routing; source routing.