Patent ID: 8194679

Claim:
A method for transferring data over an electronic network, the method comprising: determining, at a source node, a first routing table defining a network route between the source node and a destination node, the first routing table including one or more intermediate nodes; ranking, in the first routing table, the one or more intermediate nodes and the destination node, the destination node having a highest ranking in the first routing table; grouping, at the source node, a plurality of data packets into a first data block associated with the first routing table; transmitting, from the source node, the plurality of data packets according to the first routing table; transmitting, from each of the one or more intermediate nodes and the destination node, an acknowledgment indicating which of the plurality of data packets were received from the source node, the acknowledgment further indicating which of the data packets were received by higher-ranking nodes in the first routing table; determining, at each intermediate node, a new routing table defining a new network route between the intermediate node and the destination node; determining, for each intermediate node, any unacknowledged data packets that were received by the intermediate node but not acknowledged by nodes in the first routing table having a higher rank than the intermediate node, the unacknowledged data packets defining a subset of data packets; grouping, at each intermediate node, the subset of the data packets into a new data block associated with the new routing table; and transmitting, from each intermediate node, the subset of data packets according to the new routing table.