Managing objects in shared caches using multiple chains
Assigneesalesforce.com, inc.
InventorsSerge Philippe Rielau, Rui Zhang
Life of this patent
Estimating the term…
Abstract
A method for maintaining cache of database objects using a chain set that includes multiple chains each specifying an ordering of database objects is disclosed. In response to a change of state of a particular database object, a corresponding chain is selected. The selected chain is then locked, the state of the particular database object changed, and then the selected chain is unlocked.
Claims20
A method, comprising:
- maintaining, by a computer system, a chain set having a plurality of chains, wherein each chain of the plurality of chains specifies an ordering of database objects that are stored in a cache;
- monitoring, by the computer system, respective states of a plurality of database objects;
- in response to determining that a state of a particular database object has changed, selecting, by the computer system, a particular one of the plurality of chains corresponding to the particular database object;
- and
- updating, by the computer system, the particular chain without preventing other ones of the plurality of chains from being accessed during the updating, wherein the updating includes:
- locking the particular chain;
- changing the locked particular chain to reflect a changed state of the particular database object;
- and
- after the updating, unlocking the particular chain.
A non-transitory computer readable medium having programming instructions stored thereon that are capable of causing a computer system to implement operations comprising:
- maintaining, by the computer system, a chain set having a plurality of chains, wherein each chain of the plurality of chains specifies an ordering of database objects that are stored in a cache;
- monitoring, by the computer system, respective states of a plurality of database objects;
- in response to determining that a state of a particular database object has changed, selecting, by the computer system, a particular one of the plurality of chains corresponding to the particular database object;
- and
- updating, by the computer system, the particular chain without preventing other ones of the plurality of chains from being accessed during the updating, wherein the updating includes:
- locking the particular chain;
- changing the locked particular chain to reflect a changed state of the particular database object;
- and
- after the updating, unlocking the particular chain.
A computer system, comprising:
- one or more memories that, during operation, store instructions, and
- one or more compute resources that, during operation, receive instructions from the one or more memories and execute the instructions to cause the computer system to perform operations including:
- maintaining, by the computer system, a chain set having a plurality of chains, wherein each chain of the plurality of chains specifies an ordering of database objects that are stored in a cache;
- monitoring, by the computer system, respective states of a plurality of database objects;
- in response to determining that a state of a particular database object has changed, selecting, by the computer system, a particular one of the plurality of chains corresponding to the particular database object;
- and
- updating, by the computer system, the particular chain without preventing other ones of the plurality of chains from being accessed during the updating, wherein the updating includes:
- locking the particular chain;
- changing the locked particular chain to reflect a changed state of the particular database object;
- and
- after the updating, unlocking the particular chain.
Dependencies are inferred from the claim text.