Method for bridging publish/subscribe brokers for guaranteed low-latency delivery
First Claim
1. In a publish-subscribe cluster comprising at least a first broker and a second broker, wherein at least a subscriber receives at least a message for a given topic published by at least a publisher connected to one of said first broker and second broker, a computer-implemented method comprising:
- at least said first broker accepting one or more inbound network connections from said second broker for the purpose of acting as a first bridge to send messages intended for one or more subscribers that are connected to said second broker;
at least said first broker initiating one or more outbound network connections to said second broker for the purpose of acting as a second bridge to receive messages intended for one or more subscribers that are connected to said first broker;
sending one or more messages on said first bridge intended for the one or more subscribers that are connected to atleast a subscriber on said second broker;
receiving one or more messages on said second bridge intended for one or more subscribers that are connected to the first broker.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods for bridging computers functioning as Publish/Subscribe brokers are provided to build a distributed cluster for scalability by enabling publishers to connect to one broker and subscribers to that publisher to connect to a different broker. In one aspect, a method includes listening to an internal bridge port on one broker for receiving bridge connections from other brokers in the cluster, and in parallel, connecting to the internal bridge ports of each of the other brokers in the cluster, waiting for all such incoming and outgoing bridge connections to be completed, and then opening up the external port for serving actual clients. The method also includes creating separate bridges for each direction of traffic to make the broker code completely symmetric and also supporting the creation of an arbitrary number of bridge connections between each pair of brokers for each direction to reduce latency.
-
Citations
21 Claims
-
1. In a publish-subscribe cluster comprising at least a first broker and a second broker, wherein at least a subscriber receives at least a message for a given topic published by at least a publisher connected to one of said first broker and second broker, a computer-implemented method comprising:
-
at least said first broker accepting one or more inbound network connections from said second broker for the purpose of acting as a first bridge to send messages intended for one or more subscribers that are connected to said second broker; at least said first broker initiating one or more outbound network connections to said second broker for the purpose of acting as a second bridge to receive messages intended for one or more subscribers that are connected to said first broker; sending one or more messages on said first bridge intended for the one or more subscribers that are connected to atleast a subscriber on said second broker; receiving one or more messages on said second bridge intended for one or more subscribers that are connected to the first broker. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for reducing latency between and among bridging brokers of a publish-subscribe cluster using a MQTT protocol comprised of at least a plurality of brokers within a single cluster, the system in each broker comprising:
-
at least memory comprising instructions; at least a processor configured to execute instructions to; accept on at least a first broker, one or more inbound network connections directly from at least a second broker from one or more additional brokers, each of said one or more inbound network connections acting as at least a first direct one-way bridge that receives one or more first messages intended for one or more first subscribers that are connected to said first broker, where said first direct one-way bridge is used only to receive said one or more first messages directly from said second broker without routing the one or more first messages through any intermediate brokers; initiating on said first broker, one or more outbound network connections directly to said second broker, each of said one or more outbound network connections acting as a second direct one-way bridge that sends one or more second messages intended for one or more second subscribers that are connected to said second broker, where said second direct one-way bridge is used only to send said one or more second messages from said first broker to said second broker without routing the one or more second messages through any intermediate brokers; receiving at said first broker, one or more messages on said first direct one-way bridge directly from said second broker without routing the one or more messages through any intermediate brokers, the one or more first messages intended for at least the one or more first subscribers a connected to said first broker wherein said one or more first messages are received directly from said second broker without routing the one or more first messages through any intermediate brokers; and sending one or more second messages on said second direct one-way bridge directly from said first broker to said second broker without routing the one or more second messages through any intermediate brokers, the one or more second messages intended for at least the one or more second subscribers connected to said second broker wherein said one or more second messages are sent directly from said first broker to said second broker without routing the one or more second messages through any intermediate brokers. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A non-transitory machine-readable storage medium comprising machine-readable instructions for reducing latency by causing a processor to execute a method for bridging brokers using a MQTT protocol, the method comprising:
-
accepting on a first broker one or more inbound network connections directly from at least a second broker from one or more additional brokers for a purpose of establishing a first direct one-way bridge to receive one or more first messages intended for one or more first subscribers that are connected to said first broker, where said first direct one-way bridge is used only to receive messages directly from said second broker without routing the one or more first messages through any intermediate brokers; initiating one or more outbound network connections directly from said first broker to said second broker for a purpose of acting as a second direct one-way bridge to receive one or more second messages intended for one or more of second subscribers directly connected to said second broker, where said second direct one-way bridge is used only to send messages directly from said first broker to said second broker directly without routing the one or more second messages through any intermediate brokers; receiving the one or more first messages on said first direct one-way bridge intended for the one or more first subscribers connected said first broker without routing the one or more first messages through any intermediate brokers; send the one or more second messages on said second direct one-way bridge intended for the one or more second subscribers connected to said first second broker wherein said one or more second messages are sent directly from said first broker to said second broker without routing the one or more second messages through any intermediate brokers. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification