Multi-context stateful rule execution

US12235849B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12235849-B2
Application numberUS-202217993795-A
CountryUS
Kind codeB2
Filing dateNov 23, 2022
Priority dateNov 23, 2022
Publication dateFeb 25, 2025
Grant dateFeb 25, 2025

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.

A rules engine (RE) may operate in conjunction with a database providing functionality, such as transactional support in data access environments on behalf of tenants. The database may have a data repository accessible by multiple tenants, and tenants may have a private context. RE rules may be defined in the data repository having an extension point corresponding to an extension defined in the private context. Execution of database functionality may affect data defined in the database. Execution of RE rules corresponding to database functionality affects corresponding data associated with the RE. Various techniques, e.g., fact handles, event listeners, etc. may be used to coordinate tracking and synchronizing changes between RE data and/or the database. A flag or other indicator may signify state preservation between multiple calls to the database and/or the RE, e.g., to support analysis involving transactions having overlapping intermediary results such as results from performing data lookups.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing device operating to provide a multi-tenant database having a shared first data repository accessible by multiple tenants, and a tenant having a second data repository in a tenant context private to the tenant, comprising: one or more processors; and a non-transitory machine-readable storage medium that provides instructions that, if executed by the one or more processors, are configurable to cause the computing device to perform operations of a rules engine, the operations comprising, by the rules engine: responsive to receiving a request from a client device, where the request causes the rules engine to execute one or more rules: retrieving a first standard rule from the shared first data repository of the multi-tenant database, wherein the first standard rule is not specific to the tenant, retrieving a first extension rule from a second data repository in the tenant context of the multi-tenant database, wherein the first extension rule is specific to the tenant and modifies the first standard rule based on data pertaining to the tenant and stored within the tenant context of the multi-tenant database, executing the first standard rule contemporaneously with the first extension rule, and responsive to the executing, determining whether to temporarily save state data associated with a first execution state based at least in part on a first flag. 2. The computing device of claim 1 , in which configuration parameters are associated with the multiple tenants, the operations further comprising: adapting the first standard rule based at least in part on a first configuration parameter associated with the tenant; determining the first flag based at least in part on a preference associated with a selected one or more of: the first standard rule and the first extension rule; and disposing the first flag in a selected one or more of the shared first data repository and the second data repository in the tenant context. 3. The computing device of claim 1 , the operations further comprising: determining a status of the first flag; and destroying the state data based at least in part on the status. 4. The computing device of claim 1 , the operations further comprising: identifying a first operation to be performed for the first standard rule; testing for the first extension rule to extend the first operation to be performed; accessing a first tenant data in the second data repository; performing the first extension rule based at least in part on the first tenant data; and modifying a first result of the first operation based at least in part on the first extension rule. 5. The computing device of claim 4 , the operations further comprising: identifying a second operation to be performed for the first standard rule; determining a second extension rule to extend the second operation is unavailable; and performing the second operation. 6. The computing device of claim 5 , the operations further comprising: replacing the first result with a second result based on performing the first extension rule. 7. The computing device of claim 4 , the operations further comprising: identifying a second operation to be performed for the first standard rule; accessing a function to modify the second operation; determining a modified second operation based at least in part on performing the second operation in conjunction with the function; testing for a second extension rule to extend the modified second operation; performing the second extension rule; and modifying a second result of the modified second operation based at least in part on the second extension rule. 8. The computing device of claim 1 , the operations further comprising: providing an asynchronous event listener; receiving a first asynchronous event associated with the tenant; matching the first asynchronous event with at least the first extension rule; and executing at least the first extension rule responsive to the matching the first asynchronous event. 9. The computing device of claim 1 , the operations further comprising: loading a session from a session cache; synchronizing an initial context for the session with the second data repository; executing all extension rules applicable to the first standard rule; determining a modified context based at least in part on the executing all extension rules; and synchronizing the modified context with the session. 10. The computing device of claim 1 , in which standard rules have associated rules server objects in a first format and extension rules have associated client objects in a second format, the operations further comprising: mapping server objects in the first format to the second format; and reverse mapping client objects in the second format to the first format. 11. A non-transitory machine-readable storage medium that provides instructions that, if executed by a set of one or more processors, are configurable to cause said set of one or more processors to perform operations of a rules engine in a multi-tenant database having a shared first data repository accessible by multiple tenants, and in which a tenant has a second data repository in a tenant context private to the tenant, the operations comprising, by the rules engine: retrieving a first standard rule from the shared first data repository of the multi-tenant database, wherein the first standard rule is not specific to the tenant, retrieving a first extension rule from a second data repository in the tenant context of the multi-tenant database, wherein the first extension rule is specific to the tenant and modifies the first standard rule based on data pertaining to the tenant and stored within the tenant context of the multi-tenant database, executing the first standard rules contemporaneously with the first extension rules, in which executing the first standard rule determines a first execution context, and executing the first extension rule modifies the first standard rule with data from the tenant context; and responsive to the executing, determining whether to temporarily save state data associated with a first execution state for executing the first standard rule contemporaneously with the first extension rule based at least in part on a first flag. 12. The storage medium of claim 11 , in which configuration parameters are associated with the multiple tenants, and wherein the storage medium further provides instructions configurable to cause said set of one or more processors to perform operations comprising: adapting the first standard rule based at least in part on a first configuration parameter associated with the tenant; and disposing the first flag in a selected one of the shared first data repository and the second data repository in the tenant context. 13. The storage medium of claim 11 , wherein the storage medium further provides instructions configurable to cause said set of one or more processors to perform operations comprising: determining a status of the first flag; and destroying the state data based at least in part on the status. 14. The storage medium of claim 11 , wherein the storage medium further provides instructions configurable to cause said set of one or more processors to perform operations comprising: identifying a first operation to be performed for the first standard rule; testing for the first extension rule to extend the first operation to be performed; accessing a first tenant data in the second data repository; performing the first extension rule based at least in part on the first tenant data; and modifying a first result of the first

Assignees

Inventors

Classifications

  • Asynchronous replication or reconciliation · CPC title

  • Applying rules; Deductive queries · 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 US12235849B2 cover?
A rules engine (RE) may operate in conjunction with a database providing functionality, such as transactional support in data access environments on behalf of tenants. The database may have a data repository accessible by multiple tenants, and tenants may have a private context. RE rules may be defined in the data repository having an extension point corresponding to an extension defined in the…
Who is the assignee on this patent?
Salesforce Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/24564. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 25 2025 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).