×

Assured delivery message system and method

  • US 8,144,714 B1
  • Filed: 04/24/2007
  • Issued: 03/27/2012
  • Est. Priority Date: 04/24/2006
  • Status: Active Grant
First Claim
Patent Images

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,(i) first making a determination as to whether the incoming message is addressed to other routers, and if yes forwarding the message to each downstream router that is a destination for the message; and

    (ii) second making a determination as to whether the incoming message is addressed to that router as an egress router, and if not taking no further action in respect of the incoming message; and

    wherein each egress router;

    (i) identifies the local destination subscribers for the message received from the ingress router that are attached to that egress router;

    (ii) stores the message received from the ingress router in volatile storage along with each identified local destination subscriber for that egress router;

    (iii) after storing the message received from the ingress router in volatile storage along with the local destination subscribers attached to that egress router, sends the incoming message to each local destination subscriber;

    (iv) awaits an acknowledgement message from each identified local subscriber;

    (v) as an acknowledgement message is received from each local destination subscriber, removes that local destination subscriber from volatile storage;

    (vi) removes the message received from the ingress router from volatile storage when acknowledgement messages have been received from all the local destination subscribers within a predetermined time and sends an acknowledgement message to the ingress router;

    (vii) if acknowledgement messages have not been received from all the local destination subscribers within the predetermined time, stores the message in persistent storage along with the remaining list of local destination subscribers;

    (viii) after storing the message received from the ingress router in persistent storage along with the remaining local destination subscribers attached to that egress router, sends an acknowledgement message to the ingress router;

    (ix) awaits an acknowledgement message from each remaining identified local destination subscriber attached to that egress router;

    (x) as an acknowledgement message is received from each local destination subscriber, removes that destination from persistent storage; and

    (xi) removes the message received from the ingress router from persistent storage when an acknowledgement message has been received from each remaining local destination subscriber attached to that egress router.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×