Progressive caching of filter rules

US11971822B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11971822-B2
Application numberUS-202217649013-A
CountryUS
Kind codeB2
Filing dateJan 26, 2022
Priority dateJan 26, 2022
Publication dateApr 30, 2024
Grant dateApr 30, 2024

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 filtering messages. A computer system may detect an occurrence of an event of a particular type. The computer system may determine whether to enqueue, in a message queue, a message that identifies a set of tasks to be performed in relation to the event. The determination may be based on a response received from a cache that stores a subset of filter rules of a filter rules table. Based on the response indicating a cache miss, the computer system may enqueue the message in the message queue. A process that processes the message may be operable to resolve the cache miss by 1) accessing a filter rule from the filter rules table that indicates whether messages for events of the particular type should be enqueued in the message queue and 2) updating the cache to store the filter rule.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: detecting, by a computer system, an occurrence of an event of a particular type, wherein the event is associated with an execution of a database transaction; determining, by the computer system, whether to enqueue, in a message queue, a message that identifies a set of tasks to be performed in relation to the event, wherein the determining is based on a response received from a cache that stores a subset of filter rules maintained in a filter rules table; and based on the response indicating a cache miss, the computer system enqueuing the message in the message queue, wherein a set of processes that process the message is operable to resolve the cache miss by accessing a filter rule from the filter rules table that indicates whether messages for events of the particular type should be enqueued in the message queue and updating the cache to store the filter rule. 2. The method of claim 1 , wherein determining whether to enqueue the message includes: generating a key based on an event type of the event and an entity identifier of an entity associated with the event; and issuing a request to the cache for a value corresponding to the key. 3. The method of claim 1 , further comprising: based on the response indicating the cache miss, the computer system creating an entry in the cache, wherein the set of processes is operable to enqueue the filter rule in the entry. 4. The method of claim 1 , further comprising: storing locally, by the computer system, a set of preliminary rules, wherein determining whether to enqueue the message includes: before issuing a request to the cache, determining whether the event satisfies at least one of the preliminary rules. 5. The method of claim 1 , wherein the cache is populated with a given filter rule in response to an update to the filter rules table, wherein the update is associated with the given filter rule. 6. The method of claim 1 , further comprising: detecting, by the computer system, an occurrence of another event; determining, by the computer system, whether to enqueue a message for the other event into the message queue; and based on receiving a response from the cache that indicates that the other event satisfies a corresponding filter rule, the computer system enqueuing the message for the other event into the message queue. 7. The method of claim 6 , wherein the corresponding filter rule is stored within the cache as a Boolean value. 8. The method of claim 1 , wherein the event corresponds to a creation of a first database object by a database system that is executing the database transaction. 9. The method of claim 8 , wherein executing the set of tasks includes associating the first database object with a second database object. 10. The method of claim 1 , wherein the cache is initially empty, and wherein the cache is cleared after an elapse of a defined interval of time. 11. The method of claim 1 , wherein the message is processed after the database transaction has been completed. 12. A non-transitory computer readable medium having program instructions stored thereon that are executable by a computer system to cause the computer system to perform operations comprising: detecting an occurrence of an event of a particular type, wherein the event is associated with an execution of a database transaction; determining whether to enqueue, in a message queue, a message that identifies a set of tasks to be performed in relation to the event, wherein the determining is based on a response received from a cache that stores a subset of filter rules maintained in a filter rules table; and based on the response indicating a cache miss, enqueuing the message in the message queue, wherein a set of processes that process the message is operable to resolve the cache miss by accessing a filter rule from the filter rules table that indicates whether messages for events of the particular type should be enqueued in the message queue and updating the cache to store the filter rule. 13. The medium of claim 12 , wherein the operations further comprise: based on the response received from the cache indicating that the event does not satisfy a corresponding filter rule, discarding the message. 14. The medium of claim 12 , wherein the operations further comprise: based on the response indicating the cache miss, including, in the message, a cache miss indication that the cache miss occurred, wherein the set of processes is operable to resolve the cache miss in response to detecting the cache miss indication. 15. The medium of claim 12 , wherein the operations further comprise: locally storing an approved list of events, wherein determining whether to enqueue the message includes: before issuing a request to the cache, determining whether the event is included in the approved list of events. 16. A system, comprising: at least one processor; and memory having program instructions stored thereon that are executable by the at least one processor to cause the system to perform operations comprising: receiving an event notification that identifies an occurrence of an event of a particular type, wherein the event is associated with an execution of a database transaction; determining whether to enqueue, in a message queue, a message that identifies a set of tasks to be performed in relation to the event, wherein the determining is based on a response received from a cache that stores a subset of filter rules maintained in a filter rules table; and based on the response indicating a cache miss, enqueuing the message in the message queue, wherein a set of processes that process the message is operable to resolve the cache miss by accessing a filter rule from the filter rules table that indicates whether messages for events of the particular type should be enqueued in the message queue and updating the cache to store the filter rule. 17. The system of claim 16 , wherein the operations further comprise: locally storing a set of preliminary rules, wherein determining whether to enqueue the message includes, before issuing a request to the cache, determining whether the event satisfies at least one of the preliminary rules. 18. The system of claim 16 , wherein the operations further comprise: generating a key based on information included in the event notification; and issuing a request to the cache for a value corresponding to the key. 19. The system of claim 16 , wherein the operations further comprise: based on the response indicating the cache miss, including, in the message, a cache miss indication that the cache miss occurred, wherein the set of processes is operable to resolve the cache miss in response to detecting the cache miss indication. 20. The system of claim 16 , wherein the operations further comprise: based on the response received from the cache indicating that the event does not satisfy a corresponding filter rule, discarding the message.

Assignees

Inventors

Classifications

  • with software control, e.g. non-cacheable data · CPC title

  • Event management; Broadcasting; Multicasting; Notifications · CPC title

  • using cached or materialised query results · CPC title

  • Details relating to cache allocation · CPC title

  • Database cache management · 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 US11971822B2 cover?
Techniques are disclosed relating to filtering messages. A computer system may detect an occurrence of an event of a particular type. The computer system may determine whether to enqueue, in a message queue, a message that identifies a set of tasks to be performed in relation to the event. The determination may be based on a response received from a cache that stores a subset of filter rules of…
Who is the assignee on this patent?
Salesforce Com Inc, Salesforce Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0837. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 30 2024 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).