← Back to Patent Explorer
US7406537B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes

Assignee: Aurea Software LLC
•
Filing: 2004-02-06
•
Granted: 2008-07-29
•
Expires: 2024-02-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system for dynamic message routing on a topic between publishing nodes and subscribing nodes includes a plurality of message queues, at least one topic/node table, a subscribing module, a publishing module, and other modules to send messages between one or more publisher and one or more subscribers. These modules are coupled together by a bus in a plurality of nodes and provide for the dynamic message routing on a topic between publishing nodes and subscribing nodes. The message queues store messages at each node for delivery to subscribers local to that node. The topic/node table lists which clients subscribe to which topics, and is used by the other modules to ensure proper distribution of messages. The subscribing module is use to establish a subscription to a topic for that node. The publishing module is used to identify subscribers to a topic and transmit messages to subscribers dynamically. The other modules include various devices to optimize message communication in a publish/subscribe architecture operating on a distributed computing system. The present invention also includes a number of novel methods including: a method for publishing a message on a topic, a method for forwarding a message on a topic, a method for subscribing to messages on a topic, a method for automatically removing subscribers, a method for direct publishing of messages, and methods for optimizing message transmission between nodes.

Inventors

  • 👤 William Cullen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 22:49
CPC Classifications
H; H04; H04L; H04L45/00; H04L45/22; G; G06; G06Q; G06Q30/00; G06Q30/02; H04L45/54; H04L51/00; H04L51/04; H04L51/046; H04L67/00; H04L67/01; H04L67/10; H04L67/50; H04L67/55; H04L67/56; H04L67/563; H04L67/568; H04L67/60; H04L67/63; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 162 words
A system for dynamically routing a message over a network having a first node and a plurality of other nodes, the system comprising: a publisher for generating and sending the message on a topic, the publisher having an output; a plurality of subscribers each having an input for receiving the message, at least one of the plurality of subscribers subscribing to the topic; and a broker having an input, an output and a topic/node table, the broker associated with the first node, in response to receipt of the message, the broker identifying the topic associated with the message and determining using the topic/node table and the identified topic which of the plurality of other nodes to which to send the message for delivery to the one of the plurality of subscribers subscribing to the topic, the input of the broker coupled to the output of the publisher, and the output of the broker coupled to the inputs of the plurality of subscribers.
Claim 2
Independent Claim 162 words
A system for dynamically routing a message over a network having a first node and a plurality of other nodes, the system comprising: a publisher for generating and sending the message on a topic, the publisher having an output; a plurality of subscribers each having an input for receiving the message, at least one of the plurality of subscribers subscribing to the topic; and a broker having an input, an output and a topic/node table, the broker associated with the first node, in response to receipt of the message, the broker identifying the topic associated with the message and determining using the topic/node table and the identified topic which of the plurality of other nodes to which to send the message for delivery to the one of the plurality of subscribers subscribing to the topic, the input of the broker coupled to the output of the publisher, and the output of the broker coupled to the inputs of the plurality of subscribers.
Claim 3
Dependent Claim 13 words
The system of claim 1 wherein the publisher is a client application program.
Claim 4
Dependent Claim 13 words
The system of claim 1 wherein the subscriber is a client application program.
Claim 5
Dependent Claim 20 words
The system of claim 1 wherein the broker farther comprises a message queue for storing messages received from the publisher.
Claim 6
Dependent Claim 24 words
The system of claim 1 wherein the broker farther comprises a dead message queue for storing messages determined by the broker to be undeliverable.
Claim 7
Dependent Claim 25 words
The system of claim 1 wherein the topic/node table is capable of storing a topic and a subtopic for a subscriber or a second broker.
Claim 8
Dependent Claim 81 words
The system of claim 1 further comprising: a second broker associated with one of the plurality of other nodes having an input and an output, the second broker routing the message in response to receipt of the message, the second broker communicatively coupled to the first broker; and a cluster topic/node table, the cluster topic/node table used by the broker and the second broker to determine which of the plurality of other nodes to which to send the message for delivery.
Claim 9
Dependent Claim 45 words
The system of claim 1 wherein the broker further comprises a subscribing module for establishing a subscription to the topic by a new subscriber, the subscribing module coupled for communication with the new subscriber, the subscribing module updating the topic/node table with the new subscriber.
Claim 10
Dependent Claim 49 words
The system of claim 1 wherein the broker farther comprises a publishing module, the publishing module coupled to the topic/node table, the publishing module determining the subscribers for the topic and a path to the subscribers, the publishing module sending the message to the subscribers over the determined path.
Claim 11
Dependent Claim 80 words
The system of claim 1 wherein the broker further comprises a forwarding module having an input and an output for routing messages in response to receipt of the message from another broker, the forwarding module determining which of the plurality of other nodes to which to send the message for delivery, the input of the forwarding module coupled to receive messages from the other broker, the output of the forwarding module coupled to the inputs of the plurality of subscribers.
Claim 12
Dependent Claim 62 words
The system of claim 1 further comprising a path selection module coupled to the broker, the path selection module for identifying at least one path through the plurality of other nodes from the broker to the one of the plurality of subscribers, the path selection module providing the identified path to the broker for routing of the message over the identified path.
Claim 13
Dependent Claim 31 words
The system of claim 11 wherein the path selection module provides real-time adjustment of the identified path by monitoring connections between the plurality of other nodes and recalculating the best path.
Claim 14
Dependent Claim 45 words
The system of claim 1 further comprising a traffic control module for controlling message traffic over the plurality of other nodes, the traffic control module monitoring connections between the plurality of other nodes for changes in bandwidth and re-routing topics according to a bandwidth preference.
Claim 15
Dependent Claim 26 words
The system of claim 1 further comprising a delivery control module for eliminating duplicate messages, the delivery control module coupled to the broker to receive messages.
Claim 16
Dependent Claim 52 words
The system of claim 1 further comprising a delivery control module for filtering messages, the deliver control module coupled to the broker to receive and send messages, the deliver control module comparing a selector to the message received from the broker and dropping the message if it does not match the selector.
Claim 17
Dependent Claim 54 words
The system of claim 1 further comprising a direct publishing module having an input and an output for publishing a message directly to a cluster, the direct publishing module coupled to the broker, the direct publishing module receiving a cluster identification, determining a path to the cluster and sending the message to the cluster.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2011-07-29 2012-01-28 2012-07-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2015-07-29 2016-01-28 2016-07-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2019-07-29 2020-01-28 2020-07-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag