Algorithmic techniques for maintaining shortest routes in dynamic networks