Continuous feedback-controlled deployment of message transforms in a distributed messaging system
First Claim
1. A method for moving a message transform from a source broker to a target broker in a distributed messaging system, wherein the distributed messaging system includes a network of broker machines, wherein a plurality of message transforms are deployed in the network of broker machines, and wherein the plurality of message transforms take as input one or more sequences of messages and produce as output one or more sequences of messages, the method comprising:
- starting on the target broker a copy of a given message transform from the source broker;
duplicating all inputs into the given message transform on the source broker to additionally go to the copy of the given message transform on the target broker; and
duplicating all outputs of the given message transform on the source broker to also go from the copy of the given message transform on the target broker to appropriate children nodes within the distributed messaging system.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention solves the disadvantages of the prior art and provides a distributed messaging system supporting stateful subscriptions. A stateful publish-subscribe system extends the functionality of the content-based approach to include more general state-valued expressions. A plurality of broker machines is provided to deliver messages sent by publishing clients toward subscribing clients based upon the contents of the messages and stateful transformations requested by the subscribing clients. Subscription specifications are analyzed by a compiler and converted into a collection of message transforms and views. A deployment service component deploys tasks to optimize system performance. A monitoring services component detects a possible need to reconfigure. A performance optimization service component computes new assignment of transforms. A continuous deployment service implements a redeployment protocol that installs changes to transform placement while the existing publish-subscribe system continues to operate.
-
Citations
23 Claims
-
1. A method for moving a message transform from a source broker to a target broker in a distributed messaging system, wherein the distributed messaging system includes a network of broker machines, wherein a plurality of message transforms are deployed in the network of broker machines, and wherein the plurality of message transforms take as input one or more sequences of messages and produce as output one or more sequences of messages, the method comprising:
-
starting on the target broker a copy of a given message transform from the source broker;
duplicating all inputs into the given message transform on the source broker to additionally go to the copy of the given message transform on the target broker; and
duplicating all outputs of the given message transform on the source broker to also go from the copy of the given message transform on the target broker to appropriate children nodes within the distributed messaging system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for continuous deployment of message transforms in a distributed messaging system, wherein the distributed messaging system includes a network of broker machines, the method comprising:
-
deploying a plurality of message transforms in the network of broker machines, wherein the plurality of message transforms take as input one or more sequences of messages and produce as output one or more sequences of messages;
receiving performance information from the network of broker machines; and
redeploying at least a subset of the plurality of message transforms in the network of broker machines based on the performance information. - View Dependent Claims (7, 8, 9)
-
-
10. An apparatus for implementing a stateful subscription service, the apparatus comprising:
-
an overlay network including a plurality of broker machines;
a plurality of publishing clients that publish messages to published message streams;
a performance optimization service that determines an assignment of message transforms to broker machines in the overlay network; and
a continuous deployment service that deploys the assignment of message transforms to the plurality of broker machines. - View Dependent Claims (11, 12)
-
-
13. An apparatus for moving a message transform from a source broker to a target broker in a distributed messaging system, wherein the distributed messaging system includes a network of broker machines, wherein a plurality of message transforms are deployed in the network of broker machines, and wherein the plurality of message transforms take as input one or more sequences of messages and produce as output one or more sequences of messages, the apparatus comprising:
-
means for starting on the target broker a copy of a given message transform from the source broker;
means for duplicating all inputs into the given message transform on the source broker to additionally go to the copy of the given message transform on the target broker; and
means for duplicating all outputs of the given message transform on the source broker to also go from the copy of the given message transform on the target broker to appropriate children nodes within the distributed messaging system. - View Dependent Claims (14, 15, 16, 17)
-
-
18. An apparatus for continuous deployment of message transforms in a distributed messaging system, wherein the distributed messaging system includes a network of broker machines, the apparatus comprising:
-
means for deploying a plurality of message transforms in the network of broker machines, wherein the plurality of message transforms take as input one or more sequences of messages and produce as output one or more sequences of messages;
means for receiving performance information from the network of broker machines; and
means for redeploying at least a subset of the plurality of message transforms in the network of broker machines based on the performance information. - View Dependent Claims (19, 20, 21)
-
-
22. A computer program product, in a computer readable medium, for moving a message transform from a source broker to a target broker in a distributed messaging system, wherein the distributed messaging system includes a network of broker machines, wherein a plurality of message transforms are deployed in the network of broker machines, and wherein the plurality of message transforms take as input one or more sequences of messages and produce as output one or more sequences of messages, the computer program product comprising:
-
instructions for starting on the target broker a copy of a given message transform from the source broker;
instructions for duplicating all inputs into the given message transform on the source broker to additionally go to the copy of the given message transform on the target broker; and
instructions for duplicating all outputs of the given message transform on the source broker to also go from the copy of the given message transform on the target broker to appropriate children nodes within the distributed messaging system.
-
-
23. A computer program product, in a computer readable medium, for continuous deployment of message transforms in a distributed messaging system, wherein the distributed messaging system includes a network of broker machines, the computer program product comprising:
-
instructions for deploying a plurality of message transforms in the network of broker machines, wherein the plurality of message transforms take as input one or more sequences of messages and produce as output one or more sequences of messages;
instructions for receiving performance information from the network of broker machines; and
instructions for redeploying at least a subset of the plurality of message transforms in the network of broker machines based on the performance information.
-
Specification