Message logging for reliable multicasting across a routing network
First Claim
1. A method for routing messages within a network, said method comprising:
- receiving a message;
routing said message to multiple clients of said network, said routing being based on data content of said message irrespective of any destination information within said message and being resilient to router or link failure within said network without loss of said message; and
wherein said network comprises a publish/subscribe system supporting content-based subscription, said one or more clients comprise subscribers, and wherein said routing comprises delivering said message to all subscribers requesting a uniform delivery quality of service or if unable to deliver said message to all of said subscribers requesting uniform delivery, delivering said message to none of said subscribers requesting uniform delivery.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for reliably multicasting a message within a router network is provided. At least one special router in the network has associated persistent storage for logging a message being routed to one or more clients. When a message is received at this logger node, the logger places the message in persistent storage and sends a logging acknowledgment back to those routers to which the message was originally routed, as well as back towards the source of the message. The logger acknowledgment includes the message id, the logger id, and a logging number. When the logger acknowledgment is received by a router, it looks up the routing information from the original message, and sends the acknowledgment to those neighboring routers to which the original message was sent, excluding the link from which the logger acknowledgment was received. If the original message corresponding to the logger acknowledgment was buffered at this router waiting to be delivered, the message is then delivered to its client nodes. Processes for recovering from node or link failure within the router network, and for at most once delivery of messages, at least once delivery of messages, and exactly once delivery of messages are also provided.
91 Citations
27 Claims
-
1. A method for routing messages within a network, said method comprising:
-
receiving a message; routing said message to multiple clients of said network, said routing being based on data content of said message irrespective of any destination information within said message and being resilient to router or link failure within said network without loss of said message; and wherein said network comprises a publish/subscribe system supporting content-based subscription, said one or more clients comprise subscribers, and wherein said routing comprises delivering said message to all subscribers requesting a uniform delivery quality of service or if unable to deliver said message to all of said subscribers requesting uniform delivery, delivering said message to none of said subscribers requesting uniform delivery. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for routing messages within a network, said method comprising:
-
receiving a message; routing said message to multiple clients of said network said routing being based on data content of said message irrespective of any destination information within said message, and being resilient to router or link failure within said network without loss of said message; and wherein said network comprises a spanning tree and wherein said method further comprises providing a logging node within said spanning tree for logging said message to persistent storage during routing of said message to said one or more clients of said network. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A method for routine messages within a network, said method comprising:
-
receiving a message; routing said message to multiple clients of said network, said routine being based on data content of said message irrespective of any destination information within said message, and being resilient to router or link failure within said network without loss of said message; and wherein said routing comprises logging said message at at least one logging node within said network before delivering said message to said multiple clients of said network, said logging comprising storing said message into persistent storage, and wherein said method further comprises subsequent to said logging of said message, sending a logging acknowledgment to at least one router of said network routing said message, and upon receipt of said logging acknowledgment at said at least one router of said network routing said message, looking up routing information for said message from a message table maintained at said at least one router, then sending said logging acknowledgment across said network using said looked up routing information, and thereafter deleting said routing information from said message table.
-
-
15. A system of routing messages within a network, said system comprising:
-
means for receiving a message; means for routing said message to multiple clients of said network, said routing being based on data content of said message irrespective of any destination information within said message, and wherein said means for routing is resilient to router or link failure within said network without loss of said message; wherein said network comprises a publish/subscribe system supporting content-based subscription, and wherein said one or more clients comprise subscribers, with said message being received from a publisher; and wherein said means for routing comprises means for delivering said message to all subscribers requesting a uniform delivery quality of service or if unable to deliver said message to all of said subscribers requesting uniform delivery, for delivering said message to none of said subscribers requesting uniform delivery. - View Dependent Claims (16)
-
-
17. A system of routing messages within a network, said system comprising:
-
means for receiving a message; means for routing said message to multiple clients of said network, said routing being based on data content of said message irrespective of any destination information within said message, and wherein said means for routing is resilient to router or link failure within said network without loss of said message, and wherein said means for routing comprises means for logging said message to at least one logging node within said network before delivering said message to said multiple clients of said network, said means for logging comprising means for storing said message in persistent storage. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification