MQTT cluster shared subscription hub for fat-pipe cloud applications

US10334067B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10334067-B2
Application numberUS-201715396691-A
CountryUS
Kind codeB2
Filing dateJan 2, 2017
Priority dateJan 2, 2017
Publication dateJun 25, 2019
Grant dateJun 25, 2019

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.

A computer implemented method of improving server coverage of a publish-subscribe cluster comprising using one or more hardware processors to execute one or more shared subscriptions hubs each adapted to retrieve shared subscriptions information from a cluster comprising multiple servers executing multiple messaging engines of a publish-subscribe service for forwarding messages to a plurality of subscribing clients, each message is associated with one or more of a plurality of topics, receive shared subscriptions requests for subscribing for one or more of the topics from distributed subscriptions client(s) applying shared subscriptions for the topic(s) through subscription group(s) comprising a subset of the subscribing clients, connect to preferred messaging engine(s) selected to improve server coverage of the subscription group(s) according to the shared subscriptions information to serve each of the plurality of shared subscriptions requests and forward messages associated with the topic(s) received from the selected messaging engine(s) to the subscription group(s).

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method of improving server coverage of a publish-subscribe cluster using shared subscriptions hubs for intermediating shared subscription clients subscribing to said cluster, comprising: using at least one hardware processor to execute at least one shared subscriptions hub, each adapted to: retrieve a shared subscriptions information from a cluster comprising a plurality of servers executing a plurality of messaging engines of a publish-subscribe service for forwarding a plurality of messages to a plurality of subscribing clients, each of said plurality of messages is associated with at least one of a plurality of topics; receive a plurality of shared subscriptions requests for subscribing for at least one of said plurality of topics from at least one distributed subscriptions client applying shared subscriptions for said at least one topic through at least one subscription group comprising a subset of said plurality of subscribing clients; wherein said shared subscriptions information comprises at least one of a cluster membership information indicating which of said plurality of servers is a member of said cluster and a sub-name subscription information indicating a number of current subscriptions of said at least one subscription group to each of said plurality of messaging engines for each of said plurality of topics; select at least one preferred messaging engine of said plurality of messaging engines, based on said shared subscriptions information, by analyzing said shared subscriptions information to identify a candidate messaging engine having a coverage performance over said at least one subscription group, higher than said coverage by each of other messaging engines in said cluster; connect to said selected at least one preferred messaging engine to serve each of said plurality of shared subscriptions requests; and forward messages associated with said at least one topic received from said at least one selected messaging engine to said at least one subscription group; wherein said at least one preferred messaging engine is selected to improve a server coverage of said at least one subscription group. 2. The computer implemented method of claim 1 , wherein each of said plurality of messages is received by said cluster from at least one source which is a member selected from a group consisting of: a device and a publishing application. 3. The computer implemented method of claim 1 , wherein said at least one distributed subscriptions client subscribes to said publish-subscribe service through said at least one subscription group to increase a message consumption of said at least one distributed subscriptions client. 4. The computer implemented method of claim 1 , wherein said at least one distributed subscriptions client is a fat pipe application consuming a large number of said plurality of messages. 5. The computer implemented method of claim 1 , wherein each subscribing client of said at least one subscription group is an application instance of said at least one distributed subscriptions client. 6. The computer implemented method of claim 1 , wherein said publish-subscribe service supports subscription using a wildcard topic filter in which only a portion of at least one of said plurality of topics may be used by at least one of said subscribing clients to subscribe to a plurality of topics sharing said portion. 7. The computer implemented method of claim 1 , wherein said at least one shared subscriptions hub emulates a functional interface of said publish-subscribe cluster to allow each of said plurality of subscribing clients to subscribe to said at least one shared subscriptions hub. 8. The computer implemented method of claim 1 , wherein said at least one shared subscriptions hub uses a functional interface used by each said plurality of subscribing clients to connect to said at least one selected messaging engine. 9. The computer implemented method of claim 1 , wherein said publish-subscribe service is an MQTI (Message Queue Telemetry Transport) used for a plurality of Internet of Things (IoT) applications. 10. The computer implemented method of claim 1 , wherein said shared subscriptions information further comprises an application identification information indicating an application name of said at least one distributed subscriptions client. 11. The computer implemented method of claim 1 , wherein said at least one shared subscriptions hub is configured in at least one of a plurality of configurations for serving said plurality of subscribing clients, in particular said subscription group, said configuration is a member of a group consisting of: a private shared subscriptions hub, a dedicated shared subscriptions hub, a central shared subscriptions hub and a combination of at least two configurations thereof. 12. The computer implemented method of claim 11 , wherein said private shared subscriptions is assigned to serve privately each of said plurality of clients. 13. The computer implemented method of claim 11 , wherein said dedicated shared subscriptions hub is assigned to serve exclusively said at least one subscription group. 14. The computer implemented method of claim 11 , wherein said central shared subscriptions hub is assigned to serve at least a subset of said plurality of subscribing clients regardless of an of an association of said subset with said at least one subscription group. 15. The computer implemented method of claim 1 , further comprising said at least one shared subscriptions hub establishes at least one additional subscription connection for at least one client of said at least one subscription group with at least one of said messaging engines, wherein said at least one shared subscriptions hub establishes said at least one additional subscription connection in case a number of clients of said at least one shared subscription group is smaller than a number of said plurality of servers that are members of said cluster. 16. The computer implemented method of claim 15 , further comprising said at least one shared subscriptions hub multiplexes messages received through said at least one additional subscription connection with a message stream received thorough at least one originally directed subscription connection of said at least one subscription group. 17. The computer implemented method of claim 1 , wherein said coverage reflects a distribution of the plurality of shared subscriptions over the plurality of servers of the cluster. 18. The computer implemented method of claim 1 , wherein improving said server coverage of said at least one subscription group is by lowering a latency of said forwarding of said messages associated with said at least one topic. 19. A publish-subscribe system, comprising: a cluster comprising a plurality of servers executing a plurality of messaging engines of a publish-subscribe service for forwarding a plurality of messages to a plurality of subscribing clients, each of said plurality of messages is associated with at least one of a plurality of topics; at least one hardware processor adapted for executing at least one shared subscriptions hub by executing code stored in a program store, said code comprising: code instructions for retrieving a shared subscriptions information from said cluster, code instructions for receiving a plurality of shared subscription requests for subscribing for at least one of said plurality of topics from at least one distributed subscriptions client applying shared subscriptions for said a

Assignees

Inventors

Classifications

  • H04L67/26Primary

    Electricity · mapped topic

  • based on a hash applied to IP addresses or costs · CPC title

  • H04L67/55Primary

    Push-based network services · CPC title

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 US10334067B2 cover?
A computer implemented method of improving server coverage of a publish-subscribe cluster comprising using one or more hardware processors to execute one or more shared subscriptions hubs each adapted to retrieve shared subscriptions information from a cluster comprising multiple servers executing multiple messaging engines of a publish-subscribe service for forwarding messages to a plurality o…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L67/26. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 25 2019 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).