-
公开(公告)号:US20180129585A1
公开(公告)日:2018-05-10
申请号:US15345914
申请日:2016-11-08
Applicant: salesforce.com, inc.
Inventor: Jameison Bear Martin , Subho Sanjay Chatterjee , Patrick James Helland , Nathaniel Wyatt , Thomas Fanghaenel , Terry Chong
CPC classification number: G06F11/3664 , G06F11/3696 , G06F17/30289 , G06F17/30424
Abstract: Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. Original tenant data is subsequently created and associated with the original tenant identifier, and is not accessible to the sandbox tenant.
-
公开(公告)号:US11989051B2
公开(公告)日:2024-05-21
申请号:US17342300
申请日:2021-06-08
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland
IPC: G06F1/10
CPC classification number: G06F1/10
Abstract: Techniques are disclosed relating to a database system includes worker nodes operable to perform transactions and director nodes operable to ensure transactional consistency for the transactions. A worker node may receive a request to perform a transaction involving writing a record. The worker node may then issue, to director nodes of the database system, a request for information that facilitates performance of an operation for the transaction. A director node may determine whether to approve the request based on whether the operation could cause transactional inconsistency in the database system. The worker node may proceed to perform the operation for the transaction in response to receiving approval responses from a majority of the director nodes, with none of the received responses indicating a disapproval of the transaction.
-
公开(公告)号:US11847107B2
公开(公告)日:2023-12-19
申请号:US18053300
申请日:2022-11-07
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland
CPC classification number: G06F16/2246 , G06F16/2379 , G06F16/284 , G06F16/289 , G06F21/6227 , G06F2221/2145
Abstract: Techniques are disclosed relating to the distribution of database key permissions. A database system may distribute first permission information to a plurality of database nodes that identifies a distribution of key range permissions to ones of the plurality of database nodes. A given key range permission being distributed to a given database node may permit that database node to write records whose keys fall within a key range associated with the given key range permission. The database system may receive, from a first database node, a request for a first key range permission provisioned to a second database node. The database system may modify the first permission information to derive second permission information that provisions the first key range permission to the first database node instead of the second database node. The database system may distribute the second permission information to ones of the plurality of database nodes.
-
公开(公告)号:US11822535B2
公开(公告)日:2023-11-21
申请号:US17342275
申请日:2021-06-08
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland
CPC classification number: G06F16/2365 , G06F16/2379
Abstract: Techniques are disclosed relating to a database system includes worker nodes operable to perform transactions and director nodes operable to ensure transactional consistency for the transactions. A worker node may receive a request to perform a transaction involving writing a record. The worker node may then issue, to director nodes of the database system, a request for information that facilitates performance of an operation for the transaction. A director node may determine whether to approve the request based on whether the operation could cause transactional inconsistency in the database system. The worker node may proceed to perform the operation for the transaction in response to receiving approval responses from a majority of the director nodes, with none of the received responses indicating a disapproval of the transaction.
-
公开(公告)号:US11681705B2
公开(公告)日:2023-06-20
申请号:US16918547
申请日:2020-07-01
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland
IPC: G06F16/2455 , G06F16/23 , G06F16/22
CPC classification number: G06F16/24552 , G06F16/2246 , G06F16/2379
Abstract: Techniques are disclosed relating to tree data structures capable of storing information indicative of database keys. A computer system may operate a database. The computer system may store a multi-level tree data structure usable to perform key lookups for the database. In various cases, the multi-level tree data structure may be stored in system memory as a plurality of subtree data structures each comprising a set of linked nodes. A given one of the plurality of subtree data structures may be stored as a respective continuous block of information in system memory. The computer system may access the respective continuous block for a first particular subtree data structure encompassing a particular range of levels in the multi-level tree data structure. The accessing may be performed without accessing one or more other subtree data structures encompassing one or more levels within the particular range of levels.
-
公开(公告)号:US20230148215A1
公开(公告)日:2023-05-11
申请号:US18149440
申请日:2023-01-03
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland , James E. Mace , Thomas Fanghaenel
IPC: G06F16/2455
CPC classification number: G06F16/24562
Abstract: This disclosure provides various techniques that may allow for accessing values stored in a data structure that stores multiple values corresponding to database transactions using a skip list. A key may be used to traverse the skip list to access data associated with the key. The skip list maintains on ordering of multiple keys, each associated with a particular record in the data structure, using indirect links between data records in the data structure that reference buckets included in hash table. Each bucket includes pointers to one or more records in the skip list.
-
公开(公告)号:US20230143075A1
公开(公告)日:2023-05-11
申请号:US18053300
申请日:2022-11-07
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland
CPC classification number: G06F16/2246 , G06F16/289 , G06F16/2379 , G06F16/284 , G06F21/6227 , G06F2221/2145
Abstract: Techniques are disclosed relating to the distribution of database key permissions. A database system may distribute first permission information to a plurality of database nodes that identifies a distribution of key range permissions to ones of the plurality of database nodes. A given key range permission being distributed to a given database node may permit that database node to write records whose keys fall within a key range associated with the given key range permission. The database system may receive, from a first database node, a request for a first key range permission provisioned to a second database node. The database system may modify the first permission information to derive second permission information that provisions the first key range permission to the first database node instead of the second database node. The database system may distribute the second permission information to ones of the plurality of database nodes.
-
公开(公告)号:US11416470B2
公开(公告)日:2022-08-16
申请号:US16426052
申请日:2019-05-30
Applicant: salesforce.com, inc.
Inventor: Subho Sanjay Chatterjee , Patrick James Helland , Nathaniel Wyatt , James E. Mace , Punit B. Shah
Abstract: Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.
-
公开(公告)号:US20220245094A1
公开(公告)日:2022-08-04
申请号:US17162501
申请日:2021-01-29
Applicant: salesforce.com, inc.
IPC: G06F16/172 , G06F16/14 , G06F16/16 , G06F16/182
Abstract: Techniques are disclosed relating to managing distributed storage of data for various entities according to classifications for these entities. A database node of a distributed storage system may receive, from a first entity of a plurality of entities, a request to store a set of data. The database node may further obtain metadata associated with the first entity, wherein the metadata specifies one of a plurality of classifications for the entities. The database node may provide the set of data to one or more of a plurality of caches for storage. The caches may be located in two or more availability zones and are configured to store the set of data based on the classification for the first entity identified in the metadata associated with the first entity. The database node may also store the set of data in a shared object storage coupled to the database node.
-
公开(公告)号:US11232083B2
公开(公告)日:2022-01-25
申请号:US16851387
申请日:2020-04-17
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland
Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating dynamically unified system of record in an on-demand services environment in a multi-tenant environment according to one embodiment. In one embodiment and by way of example, a method includes integrating, by and incorporating into the database system, a plurality of subsystems into a unified system of record (“unified system), where each subsystem is independent of and incompatible with other subsystems of the plurality of subsystems, and collectively managing the plurality of subsystems, where collectively managing includes facilitating common communication within and between and uniform management of the plurality of subsystems based on common communication criteria and unified storage of data associated with the plurality of subsystems.
-
-
-
-
-
-
-
-
-