IP Library Granted Patent US 11,663,207
Granted Patent B2
US 11,663,207 · App. 16/139,889 · Granted May 30, 2023

Translation of tenant identifiers

Inventor: Thomas Fanghaenel (Oakland, CA)
Assignee: Salesforce, Inc.
G06F16/2452G06F16/221G06F16/2237G06F16/2291
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,663,207
App. No.
16/139,889
Granted
May 30, 2023
Kind
B2
Abstract

Systems, devices, and techniques are disclosed for translation of tenant identifiers. A record may be received. A value of a tenant identifier for the record may be determined from a key for the record or a scan descriptor. The value of the tenant identifier in the key for the record may be replaced with a new value for the tenant identifier. A bitmap stored in a record header of the record may be used to identify columns of the record that stored an encoded value of the tenant identifier. An encoded new value of the tenant identifier may be stored in columns identified by the bitmap stored in the record header that include an attribute indicating that tenant identifier translation is enabled.

Claims (25)

1. A computer-implemented method comprising:

receiving a record stored with records of a database in a persistent storage of a database server, the record comprising a key for the record, wherein the record is unpacked in working memory of a multi-tenanted database system;

determining a value of a tenant identifier for the record from at least one of a portion of the key for the record and a scan descriptor;

replacing the value of the tenant identifier in the key for the record with a new value for the tenant identifier;

identifying, using a bitmap stored in a record header of the record, one or more columns of the record that stored an encoded value of the tenant identifier;

storing an encoded new value of the tenant identifier in each column of the one or more columns that is identified by the bitmap stored in the record header and that comprises an attribute indicating that tenant identifier translation is enabled; and

making the record available in a working storage of the database server.

2. The computer implemented method of claim 1 , wherein the bitmap comprises indications of columns of the record which stored the encoded value of the tenant identifier.

3. The computer-implemented method of claim 1 , wherein the encoded value of the tenant identifier is stored in the record header, and further comprising storing the encoded value of the tenant identifier in a column of the one or more columns that is both identified by the bitmap and comprises an attribute indicating that tenant identifier translation is disabled.

4. The computer-implemented method of claim 1 , wherein the record is received from the persistent storage of the multi-tenanted database system.

5. The computer-implemented method of claim 1 , wherein the record is part of a sandbox database cloned from a database owned by a tenant identified by the value of the tenant identifier, and wherein the sandbox database is owned by a tenant identified by the new value of the tenant identifier.

6. A computer-implemented system for translation of tenant identifiers comprising:

one or more storage devices comprising a persistent storage and a working storage; and

a processor that retrieves a record from the persistent storage and writes the record to the working storage wherein the record is stored with records of a database and wherein the record comprises a key for the record, wherein the record is unpacked in working memory of a multi-tenanted database system, determines a value of a tenant identifier for the record from at least one of a portion of the key for the record and a scan descriptor, replaces the value of the tenant identifier in the key for the record with a new value for the tenant identifier, identifies, using a bitmap stored in a record header of the record, one or more columns of the record that stored an encoded value of the tenant identifier, stores an encoded new value of the tenant identifier in each column of the one or more columns that is identified by the bit map stored in the record header and that comprises an attribute indicating that tenant identifier translation is enabled, and makes the record available in the working storage.

7. The computer-implemented system of claim 6 , wherein the bitmap comprises indications of columns of the record which stored the encoded value of the tenant identifier.

8. The computer-implemented system of claim 6 , wherein the encoded value of the tenant identifier is stored in the record header, and wherein the processor further stores the encoded value of the tenant identifier in a column of the one or more columns that is both identified by the bitmap and comprises an attribute indicating that tenant identifier translation is disabled.

9. The computer-implemented system of claim 6 , wherein the persistent storage is a component of the multi-tenanted database system.

10. The computer-implemented system of claim 6 , wherein the record is part of a sandbox database cloned from a database owned by a tenant identified by the value of the tenant identifier, and wherein the sandbox database is owned by a tenant identified by the new value of the tenant identifier.

11. A system comprising: one or more computers and one or more storage devices storing instructions which are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving a record stored with records of a database in a persistent storage of a database server, the record comprising a key for the record, wherein the record is unpacked in working memory of a multi-tenanted database system;

determining a value of a tenant identifier for the record from at least one of a portion of the key for the record and a scan descriptor;

replacing the value of the tenant identifier in the key for the record with a new value for the tenant identifier;

identifying, using a bitmap stored in a record header of the record, one or more columns of the record that stored an encoded value of the tenant identifier;

storing an encoded new value of the tenant identifier in each column of the one or more columns that is identified by the bitmap stored in the record header and that comprises an attribute indicating that tenant identifier translation is enabled; and

making the record available in a working storage of the data base server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2018
From: FANGHAENEL, THOMAS
To: SALESFORCE.COM, INC.
Reel/Frame 046953/0124 →
Continuity (1)
Related Publication 20200097583A1 · Mar 26, 2020