Multi-datacenter message queue
US-10938937-B2 · Mar 2, 2021 · US
US11971822B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11971822-B2 |
| Application number | US-202217649013-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 26, 2022 |
| Priority date | Jan 26, 2022 |
| Publication date | Apr 30, 2024 |
| Grant date | Apr 30, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.