1. A method of routing a data carrier between a source node and a destination node in a network, said method comprising the steps of: moving the carrier between nodes in accordance with predetermined set of rules; memorising a route between a source node and a destination node; and identify other such carriers and on such detection to optimise memorised paths with the or each other carrier.