Transparent sharding of traffic across messaging brokers

US9813516B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9813516-B2
Application numberUS-201514614146-A
CountryUS
Kind codeB2
Filing dateFeb 4, 2015
Priority dateFeb 18, 2014
Publication dateNov 7, 2017
Grant dateNov 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments regard transparent sharding of traffic across messaging brokers. An embodiment of a method of sharding message traffic across messaging brokers includes providing a message sharding service for message sharding among a plurality of registered message brokers, wherein providing the message sharding service includes applying a current message sharding strategy; and sharding messages among the registered message brokers according to the current message sharding strategy, including registering the message brokers and assigning message queues to registered message brokers according to the current message sharding strategy; wherein the current message sharding strategy is one of a plurality of message sharding strategies.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of sharding message traffic across messaging brokers, the method comprising: providing a message sharding service to provide message sharding among a plurality of registered message brokers, wherein providing the message sharding service includes applying a current first message sharding strategy, and wherein the current message sharding strategy of the message sharding service is one of a plurality of possible message sharding strategies for the message sharding service; sharding messages among the registered message brokers according to the current message sharding strategy of the message sharding service, including registering the message brokers and assigning message queues to registered message brokers according to the current message sharding strategy; and dynamically switching the current message sharding strategy of the message sharding service from the first message sharding strategy to a second message sharding strategy of the plurality of message sharding strategies, and sharding messages among the registered message brokers according to the second message sharding strategy; wherein the message sharding service includes a routing table sweeper job to enforce the current message sharding strategy of the message sharding service, the routing table sweeper job to determine a destination message broker for queues assigned to new routing rules, and to determine a correct message broker for existing routing rules that are currently assigned to a wrong broker according to the current message sharding strategy. 2. The method of claim 1 , wherein the message sharding service is between the plurality of message brokers and a routing table. 3. The method of claim 2 , wherein the routing table is a customer of the message sharding service. 4. The method of claim 1 , wherein the plurality of message sharding strategies for the message sharding service include: sharding of messages to load balance traffic across registered message brokers; and sharding of messages using an active message broker and a passive message broker. 5. The method of claim 1 , wherein switching the current message sharding strategy for the message sharding service to the second message sharding strategy includes switching in response to an instruction regarding the message sharding strategy. 6. The method of claim 5 , wherein the instruction regarding the message sharding strategy utilizes an XML configuration file. 7. The method of claim 1 , wherein switching the current message sharding strategy of the message sharding service to the second message sharding strategy includes switching in response to one or more of a change in current conditions or a change in a user preference. 8. The method of claim 1 , wherein providing the message sharding service includes providing a plurality of application programming interfaces (APIs) for message sharing operations. 9. The method of claim 8 , wherein the plurality of APIs includes one or more of APIs to: register a message broker with the message sharding service; unregister a message broker from the message sharding service; obtain a message broker for a message queue; drop a message queue from a message broker; and redistribute message queues among certain registered message brokers. 10. A method for recovery from message broker failure, the method comprising: determining a health status of each of a plurality of message brokers by a broker monitor of a broker sharding service, the broker sharding service to provide message sharding among the plurality of message brokers; upon determining that a first message broker of the plurality of message brokers is unavailable, the broker sharding service notifying a routing table regarding the unavailable broker; redistributing message queues from the first message broker to one or more remaining message brokers according to a selected current message sharding strategy, wherein the current message sharding strategy is implemented by the broker sharding service, the current message sharding strategy being one of a plurality of possible message sharding strategies for the broker sharding service; and notifying the routing table regarding the redistribution of message queues; wherein the broker sharding service is operable to dynamically switch from the current message sharding strategy to another message sharding strategy of the plurality of sharding strategies, and to shard messages among the message brokers according to the switched message sharding strategy; and wherein the broker sharding service includes a routing table sweeper job to enforce the current message sharding strategy of the broker sharding service, the routing table sweeper job to determine a destination message broker for queues assigned to new routing rules, and to determine a correct message broker for existing routing rules that are currently assigned to a wrong broker according to the current message sharding strategy. 11. The method of claim 10 , further comprising: unregistering the first message broker from a broker registry, and updating a queue registry regarding the redistribution of message queues according to the current sharding strategy. 12. The method of claim 10 , wherein determining a health status of each of the plurality of message brokers includes determining one or more of: whether the message broker is down; whether the message broker has excessively high processor usage, and whether the message broker has an excessively high heap value. 13. The method of claim 10 , wherein the selected current message sharding strategy of the broker sharding service is one of: a first sharding strategy to load balance traffic across registered message brokers; and a second sharding strategy applying an active message broker and a passive message broker, wherein all message queues used by the routing table are allocated to the active broker. 14. The method of claim 13 , wherein, for the first sharding strategy, redistributing message queues includes balancing traffic among available registered message brokers. 15. The method of claim 14 , wherein redistributing message queues among available registered message brokers includes allocation using modulo hashing of node ID. 16. The method of claim 13 , wherein, for the second sharding strategy, redistributing message queues includes allocating all of the message queues of the active broker to the passive broker, and designating the passive broker as the active broker. 17. A messaging system comprising: a plurality of message brokers, the message brokers to store queues of messages; a routing table to map message types and tenants to physical queues on the message brokers; and a message sharding service to provide message sharding among the plurality of message brokers according to a current message sharding strategy, wherein the current message sharding strategy is one of a plurality of possible message sharding strategies for the message sharding service; wherein the message sharding service is operable to dynamically switch from the current message sharding strategy to another message sharding strategy of the plurality of message sharding strategies, and to shard message messages among the message brokers according to the switched message sharding strategy; and wherein the message sharding service includes a routing table sweeper job to enforce the current message sharding strategy of the message sharding service, the routing table sweeper job to determine a destination message broker for queues assigned to new routing rules, and to deter

Assignees

Inventors

Classifications

  • by checking functioning · CPC title

  • Data partitioning, e.g. horizontal or vertical partitioning · CPC title

  • by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure · CPC title

  • Electricity · mapped topic

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9813516B2 cover?
Embodiments regard transparent sharding of traffic across messaging brokers. An embodiment of a method of sharding message traffic across messaging brokers includes providing a message sharding service for message sharding among a plurality of registered message brokers, wherein providing the message sharding service includes applying a current message sharding strategy; and sharding messages a…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification H04L41/0668. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).