Patent ID: 8144714
Filing Date: 2012-03-27
Classification: H04L

Abstract:
1. A method of providing assured message delivery in a network of routers, comprising: a) receiving an incoming message from a client at an ingress router; b) assigning a sequence id to the incoming message at the ingress router, wherein the sequence number increments for each new message received by the ingress router; c) identifying at the ingress router from the content of the incoming message each destination local subscriber attached to the ingress router and each destination egress router to which the received message is to be delivered, wherein each destination egress router has local destination subscribers destined to receive the incoming message; d) storing the incoming message in persistent storage at the ingress router along with each identified destination local subscriber attached to the ingress router and each identified destination egress router; e) creating at the ingress router, after the incoming message has been stored in persistent storage, an acknowledgement message for sending to the client accepting responsibility for delivery of the received message; f) sending the acknowledgement message to the client; g) sending the incoming message to each identified destination local subscriber and each destination egress router; h) awaiting an acknowledgement message at the ingress router from each identified destination local subscriber attached to the ingress router and each identified destination egress router indicating that the message has been successfully received thereby; i) removing each destination from persistent storage as an acknowledgement message is received from that destination; and j) removing the incoming message from persistent storage when an acknowledgement message has been received from each destination local subscriber attached to the ingress router and each identified destination egress router; and k) upon receipt of the incoming message at each router in the network downstream of the ingress router, wherein each egress router: