Methods and Apparatus for Efficiently Placing Stream Transforms Among Broker Machines Comprising an Overlay Network in a Publish-Subscribe Messaging System
First Claim
1. A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus of a computer system to perform operations controlling a publish-subscribe messaging system, where the publish-subscribe messaging system comprises publishing clients, subscribing clients, and a plurality of broker machines, the plurality of broker machines comprising an overlay network that accepts input message streams from publishing clients, transforms input message streams into output message streams according to pre-determined message transformation criteria, where the criteria are contained in message transforms implemented as software modules, the software modules being distributed among the broker machines, and then delivers the output message streams to the subscribing clients, the operations comprising:
- selecting at least one performance parameter corresponding to a performance measure of the publish-subscribe messaging system;
monitoring a level of resource utilization of the overlay network;
making a provisional assignment of message transforms among the broker machines;
performing calculations to determine a value of the at least one performance parameter of the publish-subscribe messaging system in accordance with the provisional assignment of message transforms and the level of resource utilization of the overlay network; and
deciding if the provisional assignment of the message transforms among the broker machines results in an acceptable value of the at least one performance parameter and, if it does,assigning the message transforms among the broker machines in accordance with the provisional assignment.
4 Assignments
0 Petitions
Accused Products
Abstract
The methods and apparatus of the present invention operate in publish-subscribe messaging systems including at least publishing clients, subscribing clients and a plurality of broker machines. The broker machines form an overlay network responsible for receiving input messages from publishing clients, transforming information contained in the input messages according to pre-determined transformation specifications, and transmitting output messages containing the transformed information to the subscribing clients. The pre-determined transformation specifications are reduced to information transforms implemented as software modules that are distributed among the broker machines. The present invention provides methods and apparatus for placing transforms among the broker machines comprising the overlay network in such a way that the latency and throughput of messaging activities executed by the broker machines of the overlay network is improved.
40 Citations
30 Claims
-
1. A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus of a computer system to perform operations controlling a publish-subscribe messaging system, where the publish-subscribe messaging system comprises publishing clients, subscribing clients, and a plurality of broker machines, the plurality of broker machines comprising an overlay network that accepts input message streams from publishing clients, transforms input message streams into output message streams according to pre-determined message transformation criteria, where the criteria are contained in message transforms implemented as software modules, the software modules being distributed among the broker machines, and then delivers the output message streams to the subscribing clients, the operations comprising:
-
selecting at least one performance parameter corresponding to a performance measure of the publish-subscribe messaging system; monitoring a level of resource utilization of the overlay network; making a provisional assignment of message transforms among the broker machines; performing calculations to determine a value of the at least one performance parameter of the publish-subscribe messaging system in accordance with the provisional assignment of message transforms and the level of resource utilization of the overlay network; and deciding if the provisional assignment of the message transforms among the broker machines results in an acceptable value of the at least one performance parameter and, if it does, assigning the message transforms among the broker machines in accordance with the provisional assignment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for managing operations of an overlay network comprising a plurality of broker machines in a publish-subscribe messaging system, where the publish-subscribe messaging system comprises publishing clients, subscribing clients, and the plurality of broker machines, the plurality of broker machines comprising the overlay network that accepts input message streams from publishing clients, transforms input message streams into output message streams according to pre-determined message transformation criteria, where the criteria are contained in message transforms implemented as software modules, the software modules being distributed among the broker machines, and then delivers the output message streams to the subscribing clients, the system comprising:
-
at least one memory to store at least one program of machine-readable instructions, where the at least one program performs operations to distribute the message transforms among the broker machines; a plurality of sensors to measure a level of resource utilization of the overlay network; and at least one processor coupled to the at least one memory, plurality of sensors and overlay network, where the at least one processor performs at least the following operations when executed; selecting at least one performance parameter corresponding to a performance measure of the publish-subscribe messaging system; monitoring the level of resource utilization of the overlay network; making a provisional assignment of message transforms among the broker machines; performing calculations to determine a value of the at least one performance parameter of the publish-subscribe messaging system in accordance with the provisional assignment of message transforms and the level of resource utilization of the overlay network; and deciding if the provisional assignment of the message transforms among the broker machines results in an acceptable value of the at least one performance parameter and, if it does, assigning the message transforms among the broker machines in accordance with the provisional assignment. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A processor-implemented method for use in a publish-subscribe messaging system, where the publish-subscribe messaging system comprises publishing clients, subscribing clients, and a plurality of broker machines, the plurality of broker machines comprising an overlay network that accepts input message streams from publishing clients, transforms input message streams into output message streams according to pre-determined message transformation criteria, where the criteria are contained in message transforms implemented as software modules, the software modules being distributed among the broker machines, and then delivers the output message streams to the subscribing clients, the method comprising:
-
selecting at least one performance parameter corresponding to a performance measure of the publish-subscribe messaging system; monitoring a level of resource utilization of the overlay network; making a provisional assignment of message transforms among the broker machines; performing calculations to determine a value of the at least one performance parameter of the publish-subscribe messaging system in accordance with the provisional assignment of message transforms and the level of resource utilization of the overlay network; and deciding if the provisional assignment of the message transforms among the broker machines results in an acceptable value of the at least one performance parameter and, if it does, assigning the message transforms among the broker machines in accordance with the provisional assignment. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification