Recovery in a distributed stateful publish-subscribe system
First Claim
1. A method for fault recovery in a stateful publish-subscribe system, the system including an overlay network for receiving a plurality of input messages and for applying at least one transform to the plurality of input messages to form at least one output message, the method comprising:
- detecting missing information with respect to a message transmitted downstream through the overlay network from the plurality of input messages to the at least one output message;
transmitting an inquiry message upstream through the overlay network toward the plurality of input messages to determine the missing information; and
receiving and responding to the inquiry message by transmitting the determined missing information downstream through the overlay network.
1 Assignment
0 Petitions
Accused Products
Abstract
Method, apparatus and computer program product for fault recovery in a distributed stateful publish-subscribe system. The system includes the capability of recovering from failures that may occur when a stateful publish-subscribe service is implemented on an overlay network. Such failures may include, for example, temporary crashes of broker machines, and network errors causing messages to possibly be lost, duplicated or delivered out of order. The system requires stable storage logging only when a published event enters the system, and requires that logged messages be retrieved from stable storage only in the event all brokers between a failed link or broker and the publishing sites have failed. The publish-subscribe system of the present invention does not require that broker-to-broker connections use reliable FIFO protocols, such as TCP/IP, but may advantageously use faster, less reliable protocols.
76 Citations
18 Claims
-
1. A method for fault recovery in a stateful publish-subscribe system, the system including an overlay network for receiving a plurality of input messages and for applying at least one transform to the plurality of input messages to form at least one output message, the method comprising:
-
detecting missing information with respect to a message transmitted downstream through the overlay network from the plurality of input messages to the at least one output message;
transmitting an inquiry message upstream through the overlay network toward the plurality of input messages to determine the missing information; and
receiving and responding to the inquiry message by transmitting the determined missing information downstream through the overlay network. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A stateful publish-subscribe system comprising:
-
an overlay network having a plurality of broker machines;
at least one publishing client that publishes messages to published message streams;
at least one subscribing client that requests a view of the published message streams, wherein at least one of the at least one subscribing client requests a stateful view in which at least one update to the stateful view depends upon more than one message from a published message stream;
a hypergraph defining transform objects and view objects deployed over the overlay network;
a plurality of execution engines running on the plurality of broker machines for receiving input messages, processing the input messages using the transform objects, and transmitting output messages toward the at least one subscribing client in a downstream direction through the overlay network from an input stream to an output stream;
a protocol for detecting missing information with respect to a message transmitted downstream through the overlay network;
a protocol for transmitting an inquiry message upstream through the overlay network to determine the missing information; and
a protocol for receiving and responding to the inquiry message by transmitting the determined missing information downstream through the overlay network. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product in a computer readable medium for fault recovery in a stateful publish-subscribe system that includes an overlay network having a plurality of broker machines;
- at least one publishing client that publishes messages to published message streams;
at least one subscribing client that requests views of the published message streams, wherein at least one of the at least one subscribing client requests a stateful view in which at least one update to the stateful view depends upon more than one message from a published message stream;
a hypergraph defining transform objects and view objects deployed over the overlay network; and
a plurality of execution engines running on the plurality of broker machines for receiving input messages, processing the input messages using the transform objects, and transmitting output messages toward the at least one subscribing client, wherein messages are transmitted in a downstream direction from an input stream to an output stream;
the computer program product comprising;
instructions for detecting missing information with respect to a message transmitted downstream through the overlay network;
instructions for transmitting an inquiry message upstream through the overlay network to determine the missing information; and
instructions for receiving and responding to the inquiry message by transmitting the determined missing information downstream through the overlay network. - View Dependent Claims (14, 15, 16, 17, 18)
- at least one publishing client that publishes messages to published message streams;
Specification