Techniques for handling message queues

US11838223B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11838223-B2
Application numberUS-202217823749-A
CountryUS
Kind codeB2
Filing dateAug 31, 2022
Priority dateMay 8, 2018
Publication dateDec 5, 2023
Grant dateDec 5, 2023

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.

Techniques are disclosed relating to handling queues. A server-based platform, in some embodiments, accesses queue information that includes performance attributes for a plurality of queues storing one or more messages corresponding to one or more applications. In some embodiments, the platform assigns, based on the performance attributes, a corresponding set of the plurality of queues to each of a plurality of processing nodes of the platform. In some embodiments, the assigning of a corresponding set of queues to a given one of the plurality of processing nodes causes instantiation of: a first set of one or more dequeuing threads and a second set of one or more processing threads. The dequeuing threads may be executable to dequeue one or more messages stored in the corresponding set of queues. The processing threads may be executable to perform one or more tasks specified in the dequeued one or more messages.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: provisioning, by a computer system, a set of message queues capable of storing messages produced by applications associated with the computer system, wherein a message identifies a set of tasks to be performed by the computer system; determining, by the computer system, that a first component of the computer system has failed to successfully process the message in a first queue; incrementing a processed count associated with the message based at least in part on the first component of the computer system failing to successfully process the message; moving, by the computer system, the message to a dead-letter queue that is accessible to a second, different component of the computer system for inspecting the message for an issue; and moving, by the computer system, the message from the dead-letter queue to a second queue based at least in part on the processed count associated with the message exceeding a limit. 2. The method of claim 1 , further comprising: accessing the processed count for the message that is indicative of a number of attempts to process the message by the first component. 3. The method of claim 2 , further comprising: determining, based at least in part on accessing the processed count, that the processed count exceeds the limit. 4. The method of claim 3 , wherein moving the message to the second queue comprises: moving the message to the second queue that is associated with debugging the message. 5. The method of claim 1 , wherein the dead-letter queue is associated with the applications and the set of message queues. 6. An system, comprising: one or more processors; one or more memories coupled with the one or more processors; and instructions stored in the one or more memories and executable by the one or more processors to cause the system to: provision, by a computer system, a set of message queues capable of storing messages produced by applications associated with the computer system, wherein a message identifies a set of tasks to be performed by the computer system; determine, by the computer system, that a first component of the computer system has failed to successfully process the message in a first queue; increment a processed count associated with the message based at least in part on the first component of the computer system failing to successfully process the message; move, by the computer system, the message to a dead-letter queue that is accessible to a second, different component of the computer system for inspecting the message for an issue; and move, by the computer system, the message from the dead-letter queue to a second queue based at least in part on the processed count associated with the message exceeding a limit. 7. The system of claim 6 , wherein the instructions are further executable by the one or more processors to cause the system to: access the processed count for the message that is indicative of a number of attempts to process the message by the first component. 8. The system of claim 7 , wherein the instructions are further executable by the one or more processors to cause the system to: determine, based at least in part on accessing the processed count, that the processed count exceeds the limit. 9. The system of claim 8 , wherein the instructions to move the message to the second queue are executable by the one or more processors to cause the system to: move the message to the second queue that is associated with debugging the message. 10. The system of claim 6 , wherein the dead-letter queue is associated with the applications and the set of message queues. 11. A non-transitory computer-readable medium storing code, the code comprising instructions executable by one or more processors to: provision, by a computer system, a set of message queues capable of storing messages produced by applications associated with the computer system, wherein a message identifies a set of tasks to be performed by the computer system; determine, by the computer system, that a first component of the computer system has failed to successfully process the message in a first queue; increment a processed count associated with the message based at least in part on the first component of the computer system failing to successfully process the message; move, by the computer system, the message to a dead-letter queue that is accessible to a second, different component of the computer system for inspecting the message for an issue; and move, by the computer system, the message from the dead-letter queue to a second queue based at least in part on the processed count associated with the message exceeding a limit. 12. The non-transitory computer-readable medium of claim 11 , wherein the instructions are further executable by the one or more processors to: access the processed count for the message that is indicative of a number of attempts to process the message by the first component. 13. The non-transitory computer-readable medium of claim 12 , wherein the instructions are further executable by the one or more processors to: determine, based at least in part on accessing the processed count, that the processed count exceeds the limit. 14. The non-transitory computer-readable medium of claim 13 , wherein the instructions to move the message to the second queue are executable by the one or more processors to: move the message to the second queue that is associated with debugging the message. 15. The non-transitory computer-readable medium of claim 11 , wherein the dead-letter queue is associated with the applications and the set of message queues.

Assignees

Inventors

Classifications

  • H04L49/90Primary

    Buffering arrangements · CPC title

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

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • Application aware switches, e.g. for HTTP · CPC title

  • Virtual switches · 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 US11838223B2 cover?
Techniques are disclosed relating to handling queues. A server-based platform, in some embodiments, accesses queue information that includes performance attributes for a plurality of queues storing one or more messages corresponding to one or more applications. In some embodiments, the platform assigns, based on the performance attributes, a corresponding set of the plurality of queues to each …
Who is the assignee on this patent?
Salesforce Inc
What technology area does this patent fall under?
Primary CPC classification H04L49/90. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 05 2023 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).