IP Library Granted Patent US 11,888,952
Granted Patent B2
US 11,888,952 · App. 16/787,063 · Granted Jan 30, 2024

Topic-based data routing in a publish-subscribe messaging environment

Inventors: Divith Shetty (Bangalore, IN); Aditya Sushilendra Kolhar (Bangalore, IN); V Vimal Das Kammath (Bangalore, IN); Rahav Vembuli (Bangalore, IN)
Assignee: VMware LLC
H04L67/55H04L12/1859H04L47/622H04L51/216H04L67/562
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,888,952
App. No.
16/787,063
Granted
Jan 30, 2024
Kind
B2
Abstract

Techniques for providing topic-based data routing in a publish-subscribe messaging environment are disclosed. In one example, a system supported by hardware in a publish-subscribe messaging environment may include a message broker to receive topic metadata at a first instance according to a first interval into a predefined fixed topic. Further, the system may include a topic list subscriber that subscribes to the predefined fixed topic and obtains a list of topics from the message broker. Furthermore, the system may include a subscription manager to assign topics in the list of topics to a set of subscribers according to a criteria. In one example, the message broker may route data corresponding to the topics to the set of subscribers in accordance with the topics assigned to the set of subscribers.

Claims (50)

1. A system in a publish-subscribe messaging environment, comprising:

a processor; and

memory coupled to the processor, wherein the memory comprises:

a message broker to receive topic metadata at a first instance according to a first interval into a predefined fixed topic, wherein the topic metadata comprise information about a list of topics published by an agent running in an endpoint and each topic in the list of topics corresponds to an application running in the endpoint;

a topic list subscriber that subscribes to the predefined fixed topic and obtains the list of topics from the message broker; and

a subscription manager to assign topics in the list of topics to a first subscriber and a second subscriber according to a criteria, wherein the message broker receives data associated with the applications from the agent according to a second interval and routes the received data corresponding to the topics to the first and second subscribers in accordance with the topics assigned to the first and second subscribers, and wherein at least one topic assigned to the first subscriber is different from the topics assigned to the second subscriber.

2. The system of claim 1 , wherein the second interval is less than the first interval.

3. The system of claim 1 , wherein the subscription manager is to assign the topics to the first and second subscribers using one of a round robin distributing algorithm, a hashing algorithm, and a priority scheduling algorithm.

4. The system of claim 1 , wherein the topic list subscriber is to transmit the list of topics to the subscription manager for assigning the topics to the first and second subscribers upon receiving the topic metadata at each instance according to the first interval.

5. The system of claim 1 , further comprising:

a cache to maintain the list of topics corresponding to the endpoint.

6. The system of claim 5 , wherein the message broker is to receive the topic metadata at a second instance according to the first interval from the agent.

7. The system of claim 6 , wherein the topic list subscriber is to obtain an updated list of topics from the topic metadata received at the second instance and update the cache to store the updated list of topics.

8. The system of claim 7 , wherein the subscription manager is to:

modify a number of subscribers based on the updated list of topics; and

dynamically assign topics in the updated list of topics to the first and second subscribers.

9. The system of claim 1 , wherein the endpoint comprises one of a virtual machine, a container, and a physical machine.

10. A computer-implemented method to route data in a publish-subscribe messaging environment, comprising:

receiving, by a message broker, topic metadata at a first instance according to a first interval into a predefined fixed topic, wherein the topic metadata comprise information about a list of topics published by an agent running in an endpoint and each topic in the list of topics corresponds to an application running in the endpoint;

obtaining, by a topic list subscriber, the list of topics from the message broker by subscribing to the predefined fixed topic;

assigning, by a subscription manager, topics in the list of topics to a first subscriber and a second subscriber according to a criteria;

receiving, by the message broker, data associated with the applications from the agent according to a second interval; and

routing, by the message broker, the received data corresponding to the topics to the first and second subscribers in accordance with the topics assigned to the first and second subscribers, wherein at least one topic assigned to the first subscriber is different from the topics assigned to the second subscriber.

11. The computer-implemented method of claim 10 , wherein the data is published by the agent and wherein the second interval is less than the first interval.

12. The computer-implemented method of claim 10 , wherein the topics are assigned to the first and second subscribers using one of a round robin distributing algorithm, a hashing algorithm, and a priority scheduling algorithm.

13. The computer-implemented method of claim 10 , further comprising:

maintaining a cache to store the list of topics corresponding to the endpoint.

14. The computer-implemented method of claim 10 , further comprising:

receiving, by the message broker, the topic metadata at a second instance according to the first interval from the agent;

obtaining, by the topic list subscriber, an updated list of topics from the topic metadata received at the second instance; and

updating the cache to store the updated list of topics.

15. The computer-implemented method of claim 14 , further comprising:

modifying, by the subscription manager, a number of subscribers based on the updated list of topics; and

dynamically assigning topics in the updated list of topics to the first and second subscribers.

16. A non-transitory computer readable storage medium having instructions that when executed by a processor, cause the processor to:

receive, by a message broker, a plurality of topic metadata at a first instance according to a first interval from a plurality of agents running in a plurality of endpoints, wherein each topic metadata comprise information about a list of topics published by an agent running in an endpoint and each topic in the list of topics corresponds to an application running in the endpoint;

store the plurality of topic metadata to a predefined fixed topic in the message broker;

obtain a plurality of list of topics as published by the plurality of agents via subscribing to the predefined fixed topic;

assign topics in the plurality of list of topics to a first subscriber and a second subscriber according to a criteria;

receive data associated with a plurality of applications from the plurality of agents according to a second interval; and

route the received data corresponding to the topics to the first and second subscribers based on the assigned topics, wherein at least one topic assigned to the first subscriber is different from the topics assigned to the second subscriber.

17. The non-transitory computer readable storage medium of claim 16 , wherein the second interval is less than the first interval.

18. The non-transitory computer readable storage medium of claim 16 , wherein the topics are assigned to the first and second subscribers using one of a round robin distributing algorithm, a hashing algorithm, and a priority scheduling algorithm.

19. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that when executed by the processor, cause the processor to maintain a cache to store the plurality of list of topics corresponding to the plurality of endpoint.

20. The non-transitory computer readable storage medium of claim 19 , further comprising instructions that when executed by the processor, cause the processor to:

receive the plurality of topic metadata at a second instance according to the first interval from the plurality of agents;

obtain a plurality of updated list of topics from the plurality of topic metadata received at the second instance;

update the cache to store the plurality of updated list of topics;

modify a number of subscribers based on the plurality of updated list of topics; and

dynamically assign topics in the plurality of updated list of topics to the first and second subscribers.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2020
From: SHETTY, DIVITH; KOLHAR, ADITYA SUSHILENDRA; KAMMATH, V VIMAL DAS; VEMBULI, RAHAV
To: VMWARE, INC.
Reel/Frame 051876/0495 →