A method of searching for a shortest path from a single source node to a
single destination node in a two dimensional computer network. The method
is similar to Dijkstra shortest path algorithm ("Dijkstra") in the way it
builds a shortest path tree. However, instead of starting from the source
node and searching through to the destination node as Dijkstra does, the
method runs a shortest path search from both ends (i.e. source and
destination) simultaneously or alternatively, until a shortest path tree
from one end meets a shortest path tree from the other end at an
intermediate node, and the concatenated path (source node intermediate
node-destination node) satisfies a condition. Conditions other than those
used by Dijkstra determine when the search should terminate, and whether
the search has succeeded or failed. It has been verified that the new
method requires less overhead and time than Dijkstra.