Routing networks with asynchronous message backup and replay
An improved digital data network of includes a plurality of routing nodes that are coupled for communications to form a routing network. The improvement comprises a message backup system that is coupled for communications with each of the plural routing nodes to store backup copies of digital messages and/or the digital data packets that make them up that are routed between those nodes.
1. In a digital data network of the type that includes a plurality of routing nodes that are coupled for communications to form a routing network that routes a digital message from a source to a destination, the improvement wherein the routing network comprises:
A. a message backup system that is coupled for communications with each of the plural routing nodes to store backup copies of digital messages routed between those nodes,
B. a first routing node that is part of the routing network and that receives a digital message directly or indirectly from a source for routing to a destination outside the routing network, where the digital message includes a header identifying the destination,
the first routing node (i) sending a backup copy of the received digital message to the message backup system, (ii) modifying the message to include checkpoint metadata that includes an ID of the first routing node and that includes a location of the backup copy of the digital message in the message backup system, and (iii) sending the modified, received digital message to a second routing node that is part of the routing network along with checkpoint metadata,
C. the message backup system (i) storing the backup copy of the digital message received from the first routing node, (ii) selectively restoring that backup copy upon detecting that the digital message sent from the first routing node was not received by the second routing node and (iii) sending the restored digital message to the second routing node,
D. the second routing node receiving the returned backup copy of the digital message and routing that copy of the digital message directly or indirectly to the destination outside the routing network identified in the header of that copy of the digital message, and sending checkpoint metadata to the message backup system in connection therewith.
2. In the digital data network of claim 1 , the further improvement wherein the checkpoint metadata additionally includes a unique message ID.
3. A method of operating a digital data network of the type that includes a plurality of routing nodes that are coupled for communications to form a routing network that routes a digital message from a source to a destination, the method comprising:
A. receiving a digital message with a first routing node that is part of the routing network, where the digital message is received directly or indirectly from a source for routing to a destination outside the routing network, where the digital message includes a header identifying the destination,
B. with the first routing node, (i) sending a backup copy of the received digital message to a message backup system that is coupled to the routing nodes that make up the routing network, (ii) modifying the header of the message, prior to routing it to the second routing node, to include checkpoint metadata that includes an ID of the first routing node and that includes a location of the backup copy of the digital message in the message backup system, and (iii) sending the received digital message along with the modified header to a second routing node that is part of the routing network along with the checkpoint metadata,
C. with the message backup system, storing the backup copy of the digital message received from the first routing node,
D. with the message backup system, selectively restoring said backup copy and returning it to the second routing node, and
E. with the second routing node, routing the returned backup copy of the digital message directly or indirectly to the destination outside the routing network identified in the header of that copy of the digital message.
4. The method of claim 3 , wherein step (D) includes selecting restoring said backup copy upon detecting that a message routed from the first routing node was never received by the second routing node.
5. The method of claim 3 , wherein the checkpoint metadata includes a timestamp.
6. The method of claim 5 , wherein the checkpoint metadata additionally includes a unique message ID.