Patent ID: 8811408

Claim:
A method for routing data packets on a network, the method being implemented by one or more processors and comprising: routing a plurality of data flows, each of the plurality of data flows being routed from a first node to one or more other nodes of the network; wherein routing the plurality of data flows includes: (i) determining, for each of the plurality of data flows, whether a nodal path has been predetermined; (ii) determining that the nodal path has not been predetermined for at least one of the data flows; (iii) for each of the data flows that do not have a predetermined nodal path: determining a destination node of a data packet of that data flow, determining whether the destination node of that data flow is adjacent to the first node, when the destination node of the data packet of that data flow is not adjacent to the first node, making a probabilistic determination for a next hop of data packets of that data flow, when the destination node of the data packet of that data flow is adjacent to the first node, making a priority designation for the next hop of data packets of that data flow to be the destination node; and determining the next hop for data packets of the data flow based on either the probabilistic determination or the priority designation.