Subscriber based priority of messages in a publisher-subscriber domain

US9503548B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9503548-B2
Application numberUS-201314064390-A
CountryUS
Kind codeB2
Filing dateOct 28, 2013
Priority dateOct 28, 2013
Publication dateNov 22, 2016
Grant dateNov 22, 2016

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 of the present invention disclose a method, computer program product, and computer system for prioritizing messages based on subscriber preferences. In an embodiment of the invention, an application server computer determines that a subscriber is subscribed to at least one topic space. The application server computer receives one or more topic priority preferences from the subscriber, and a plurality of messages from the at least one topic space. The application server computer prioritizes the plurality of messages based on the received topic priority preference, and sends the prioritized plurality of messages to the subscriber.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for prioritizing messages, the computer program product comprising: a non-transitory computer readable storage medium and program instructions stored on the on the non-transitory computer readable storage medium, the program instructions comprising: program instructions to receive, by a message engine, a plurality of messages from a publisher, wherein each message of the plurality of messages correspond to at least one topic space, and comprise a message expiration time and a publisher priority value, and wherein the publisher priority value details an importance level for a corresponding message; responsive to receiving the plurality of messages from the publisher, program instructions to prioritize, by the message engine, the plurality of messages, based on the priority value and the corresponding at least one topic space; program instructions to determine, by the messaging engine, that a subscriber is subscribed to a topic space corresponding to at least one message of the plurality of messages; program instructions to receive, by the messaging engine, one or more topic priority preferences from the subscriber and an expiration threshold priority setting from the subscriber, wherein the one or more topic priority preferences detail a ranking associated with each topic space, and wherein the expiration threshold priority setting, details a threshold amount of time to increase a priority level of a message; responsive to receiving one or more topic priority preferences from the subscriber program instructions to determine, by the message engine, a delivery order of the plurality of messages, wherein the delivery order comprises: program instructions to sort the plurality of messages based on topic space: program instructions to identify at least a first topic space, and a second topic space, wherein the first topic space is a highest ranked topic space and the second topic space is a second highest ranked topic space; program instructions to place a first set of messages that correspond to the first topic space in a first position of a delivery order based on the publisher priority value; and program instructions to place a second set of messages that correspond to the second topic space in a second position of a delivery order based on the publishers priority value; program instructions to send, by the message engine, the plurality of messages to the subscriber based on the determined delivery order; determine, by the messaging engine, whether at least one message, of the plurality of messages, is within the expiration threshold priority setting as set by the subscriber, prior to being delivered to the subscriber; in response to determining that at least one message of the plurality of messages, is within the expiration threshold priority setting, increase the determined priority of the at least one message by, placing an interrupt to an interrupt vector table ensuring, that the at least one message will be delivered prior to the message expiration time; and responsive to increasing the determined priority of the at least one message, reprioritize, by the messaging engine, the plurality of messages. 2. The computer program product of claim 1 , wherein the one or more topic priority preferences are received from a subscriber messaging engine. 3. The computer program product of claim 1 , wherein the plurality of messages is received from at least two distinct topic spaces. 4. The computer program product of claim 1 , wherein the plurality of messages are prioritized in a min-heap data structure. 5. The computer program product of claim 1 , wherein at least one topic space of a set of message topics comprise a main message topic and one or more sub message topics. 6. The computer program product of claim 1 , wherein each message of the plurality of messages, from the publisher, that do not comprise a message expiration time, do not expire. 7. A computer system for prioritizing messages, the computer system comprising: one or more computer processors; one or more non-transitory computer-readable storage media; program instructions stored on the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising: program instructions to receive, by a message engine, a plurality of messages from a publisher, wherein each message of the plurality of messages correspond to at least one topic space, and comprise a message expiration time and a publisher priority value, and wherein the publisher priority value details an importance level for a corresponding message; responsive to receiving the plurality of messages from the publisher, program instructions to prioritize, by the message engine, the plurality of messages, based on the priority value and the corresponding at least one topic space; program instructions to determine, by the messaging engine, that a subscriber is subscribed to a topic space corresponding to at least one message of the plurality of messages; program instructions to receive, by the messaging engine, one or more topic priority preferences from the subscriber and an expiration threshold priority setting from the subscriber, wherein the one or more topic priority preferences detail a ranking associated with each topic space, and wherein the expiration threshold priority setting, details a threshold amount of time to increase a priority level of a message; responsive to receiving one or more topic priority preferences from the subscriber program instructions to determine, by the message engine, a delivery order of the plurality of messages, wherein the delivery order comprises: program instructions to sort the plurality of messages based on topic space: program instructions to identify at least a first topic space, and a second topic space, wherein the first topic space is a highest ranked topic space and the second topic space is a second highest ranked topic space; program instructions to place a first set of messages that correspond to the first topic space in a first position of a delivery order based on the publisher priority value; and program instructions to place a second set of messages that correspond to the second topic space in a second position of a delivery order based on the publishers priority value; program instructions to send, by the message engine, the plurality of messages to the subscriber based on the determined delivery order; determine, by the messaging engine, whether at least one message, of the plurality of messages, is within the expiration threshold priority setting as set by the subscriber, prior to being delivered to the subscriber; in response to determining that at least one message of the plurality of messages, is within the expiration threshold priority setting, increase the determined priority of the at least one message by, placing an interrupt to an interrupt vector table ensuring, that the at least one message will be delivered prior to the message expiration time; and responsive to increasing the determined priority of the at least one message, reprioritize, by the messaging engine, the plurality of messages. 8. The computer system of claim 7 , wherein the one or more topic priority preferences are received from a subscriber messaging engine. 9. The computer system of claim 7 , wherein the plurality of messages is received from at least two distinct topic spaces. 10. The computer system of claim 7 , wherein at least one topic space of a set of message topics comprise a main message topic and one or more sub message topics. 11. The computer system of claim 7 , wherein each message of the plurality of messages, f

Assignees

Inventors

Classifications

  • H04L67/322Primary

    Electricity · mapped topic

  • Electricity · mapped topic

  • H04L51/226Primary

    Delivery according to priorities · CPC title

  • H04L67/61Primary

    taking into account QoS or priority requirements · 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 US9503548B2 cover?
Embodiments of the present invention disclose a method, computer program product, and computer system for prioritizing messages based on subscriber preferences. In an embodiment of the invention, an application server computer determines that a subscriber is subscribed to at least one topic space. The application server computer receives one or more topic priority preferences from the subscribe…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L67/322. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 22 2016 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).