US2015234877A1PendingUtilityA1
Custom entities and fields in a multi-tenant database system
Est. expiryApr 2, 2024(expired)· nominal 20-yr term from priority
G06F 16/2462G06F 16/289G06F 21/6218G06F 16/284G06F 16/2264G06F 16/2291G06Q 10/063112G06F 17/30342G06F 17/30333
56
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Systems and methods for hosting variable schema data such as dynamic tables and columns in a fixed physical database schema. Standard objects, such as tables are provided for use by multiple tenants or organizations in a multi-tenant database system. Each organization may add or define custom fields for inclusion in a standard object. Custom fields for multiple tenants are stored in a custom data column within the object data structure, and this single custom data column may contain different data types for each tenant.
Claims
exact text as granted — not AI-modified1 - 18 . (canceled)
19 . A computer program product embodied on a non-transitory computer readable medium, the computer program product including computer code adapted to be executed by a computer to perform a method comprising:
defining, by a system, a multi-tenant data structure including a data table having a plurality of data columns and a plurality of rows, wherein at least two of the rows of the data table are each specific to a different tenant and store data for the specific tenant; for a single one of the data columns:
receiving, by the system, from a first tenant a first definition for the data column, the first definition designating the data column for storing data that is of a first data type, and
receiving, by the system, from a second tenant a second definition for the data column, the second definition designating the data column for storing data that is of a second data type, wherein the second data type is different than the first data type;
storing, by the system in metadata of the multi-tenant data structure, the first definition for the data column and the second definition for the data column by:
storing in the metadata an identifier of the first tenant in association with an identifier of the data column and an identifier of the first data type, and
storing in the metadata an identifier of the second tenant in association with the identifier of the data column and an identifier of the second data type;
receiving, by the system from the first tenant, a first data value of the first data type to be stored in the data column; storing, by the system, the first data value of the first data type received from the first tenant using the first data field of the data column; receiving, by the system from the second tenant, a second data value of the second data type to be stored in the data column; and storing, by the system, the second data value of the second data type received from the second tenant using the second data field of the data column.
20 . The computer program product of claim 19 , further comprising:
when the first data field has been flagged for indexing, storing, in the metadata, an indication that the first data field has been flagged for indexing; and when the second data field has been flagged for indexing, storing, in the metadata, an indication that the second data field has been flagged for indexing.
21 . The computer program product of claim 19 , wherein the first definition and the second definition are stored in the metadata using an extensible markup language (XML) format.
22 . The computer program product of claim 19 , wherein a second one of the columns of the table is specific to an identifier of the tenants, such that a third data field of the second column in the first row specific to the first tenant stores an identifier of the first tenant and a fourth data field of the second column in the second row specific to the second tenant stores an identifier of the second tenant.
23 . The computer program product of claim 19 , wherein the first data type and the second data type are different ones of a string, a number, a date, and a picklist.
24 . The computer program product of claim 19 , further comprising:
providing access to the first data value stored using the first data field by reading the first data type stored in the metadata and providing the first data value in a format indicated by the first data type.
25 . The computer program product of claim 24 , wherein the identifier of the first tenant and the identifier of the data column are used to determine the first data type from the metadata.
26 . The computer program product of claim 24 , wherein the access provided to the first data value is restricted by the system to the first tenant.
27 . The computer program product of claim 19 , further comprising:
providing access to the second data value stored using the second data field by reading the second data type stored in the metadata and providing the second data value in a format indicated by the second data type.
28 . The computer program product of claim 27 , wherein the identifier of the second tenant and the identifier of the data column are used to determine the second data type from the metadata.
29 . The computer program product of claim 26 , wherein the access provided to the second data value is restricted by the system to the second tenant.
30 . The computer program product of claim 19 , the data table further including a third row specific to a third tenant that stores data specific to the third tenant.
31 . The computer program product of claim 30 , wherein when a definition for the data column is not received from the third tenant, storing a null value in a field of the third row corresponding to the data column.
32 . The computer program product of claim 19 , the data table further including at least one second data column having a standard data type for storing data of a same data type for the tenants.
33 . A method, comprising:
defining, by a system, a multi-tenant data structure including a data table having a plurality of data columns and a plurality of rows, wherein at least two of the rows of the data table are each specific to a different tenant and store data for the specific tenant; for a single one of the data columns:
receiving, by the system, from a first tenant a first definition for the data column, the first definition designating the data column for storing data that is of a first data type, and
receiving, by the system, from a second tenant a second definition for the data column, the second definition designating the data column for storing data that is of a second data type, wherein the second data type is different than the first data type;
storing, by the system in metadata of the multi-tenant data structure, the first definition for the data column and the second definition for the data column by:
storing in the metadata an identifier of the first tenant in association with an identifier of the data column and an identifier of the first data type, and
storing in the metadata an identifier of the second tenant in association with the identifier of the data column and an identifier of the second data type;
receiving, by the system from the first tenant, a first data value of the first data type to be stored in the data column; storing, by the system, the first data value of the first data type received from the first tenant using the first data field of the data column; receiving, by the system from the second tenant, a second data value of the second data type to be stored in the data column; and storing, by the system, the second data value of the second data type received from the second tenant using the second data field of the data column.
34 . An apparatus, comprising:
a system having a processor and memory for:
defining, by the system, a multi-tenant data structure including a data table having a plurality of data columns and a plurality of rows, wherein at least two of the rows of the data table are each specific to a different tenant and store data for the specific tenant;
for a single one of the data columns:
receiving, by the system, from a first tenant a first definition for the data column, the first definition designating the data column for storing data that is of a first data type, and
receiving, by the system, from a second tenant a second definition for the data column, the second definition designating the data column for storing data that is of a second data type, wherein the second data type is different than the first data type;
storing, by the system in metadata of the multi-tenant data structure, the first definition for the data column and the second definition for the data column by:
storing in the metadata an identifier of the first tenant in association with an identifier of the data column and an identifier of the first data type, and
storing in the metadata an identifier of the second tenant in association with the identifier of the data column and an identifier of the second data type;
receiving, by the system from the first tenant, a first data value of the first data type to be stored in the data column;
storing, by the system, the first data value of the first data type received from the first tenant using the first data field of the data column;
receiving, by the system from the second tenant, a second data value of the second data type to be stored in the data column; and
storing, by the system, the second data value of the second data type received from the second tenant using the second data field of the data column.Join the waitlist — get patent alerts
Track US2015234877A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.