SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR MANAGING DATA STORAGE AND RULE-DRIVEN COMMUNICATIONS FOR A PLURALITY OF TENANTS
First Claim
1. A method for receiving and storing data for multiple tenants in a single system, comprising:
- maintaining, in a database system executing in memory by a processor of a computer, for a plurality of tenants, a plurality of translation maps, each translation map corresponding to a particular tenant;
receiving, in the database system executing in memory by the processor of the computer, data sets from one of the tenants, each data set comprising a plurality of data elements relating to a client of the one of the tenants;
reorganizing, in a translation process executing in memory by the processor of the computer, the data elements into a common format according to the translation map for the one of the tenants;
wherein in the common format, each data element is identified as being one of a core data element and a tenant-related data element;
storing the core data elements in at least one core table in the database system executing in memory by the processor of the computer, the at least one core table accessible by all tenants; and
storing the tenant-related data elements in at least one tenant-specific table in the database system executing in memory by the processor of the computer, the at least one tenant-specific table accessible only by the tenant with whom the tenant-related data elements originated;
wherein each data element is uniquely associated with the one of the tenants from which it originated.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention is directed to storing and manipulating data and coordinating communications for a plurality of tenants within a single system. The system maintains a core schema containing common core objects and a plurality of pre-developed industry-specific schema templates. When a new tenant is added to the system, one of the industry-specific schema templates corresponding to the tenant'"'"'s industry is cloned to generate a tenant schema for the new tenant. Once the tenant schema for the new tenant has been populated with data, communications to clients of that tenant may be generated according to universal communication rules and industry-specific communication rules applicable to that tenant, and optionally according to tenant-specific communication rules.
22 Citations
20 Claims
-
1. A method for receiving and storing data for multiple tenants in a single system, comprising:
-
maintaining, in a database system executing in memory by a processor of a computer, for a plurality of tenants, a plurality of translation maps, each translation map corresponding to a particular tenant; receiving, in the database system executing in memory by the processor of the computer, data sets from one of the tenants, each data set comprising a plurality of data elements relating to a client of the one of the tenants; reorganizing, in a translation process executing in memory by the processor of the computer, the data elements into a common format according to the translation map for the one of the tenants;
wherein in the common format, each data element is identified as being one of a core data element and a tenant-related data element;storing the core data elements in at least one core table in the database system executing in memory by the processor of the computer, the at least one core table accessible by all tenants; and storing the tenant-related data elements in at least one tenant-specific table in the database system executing in memory by the processor of the computer, the at least one tenant-specific table accessible only by the tenant with whom the tenant-related data elements originated;
wherein each data element is uniquely associated with the one of the tenants from which it originated. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for initializing a data management system for a plurality of tenants, comprising:
-
maintaining, in a database system executing in memory by a processor of a computer, a core schema containing common core objects; maintaining, in the database system executing in memory by the processor of a computer, a plurality of pre-developed industry-specific schema templates in the database system; and responsive to addition of a new tenant, selecting one of the industry-specific schema templates corresponding to an industry of the new tenant and cloning the selected industry-specific schema template to generate a tenant schema for the new tenant in the database system executing in memory by the processor of the computer.
-
-
8. A method for managing tenant-specific, rule-driven communications for a plurality of tenants, comprising:
-
maintaining, in a database system executing in memory by a processor of a computer, client data relating to clients of a plurality of tenants; maintaining, in the database system executing in memory by the processor of the computer, a plurality of universal communication rules applicable to all tenants; maintaining, in the database system executing in memory by the processor of the computer, a plurality of industry-specific communication rules applicable only to tenants within a particular industry; and for each tenant, generating, in the database system executing in memory by the processor of the computer, communications to clients of that tenant according to the universal communication rules and the industry-specific communication rules applicable to that tenant. - View Dependent Claims (9, 10)
-
-
11. A computer program product, comprising a machine readable storage medium having a machine readable program code embodied therein, the machine readable program code adapted to be executed to implement a method for receiving and storing data for multiple tenants in a single system, said method comprising:
-
maintaining, for a plurality of tenants, a plurality of translation maps, each translation map corresponding to a particular tenant; receiving data sets from one of the tenants, each data set comprising a plurality of data elements relating to a client of the one of the tenants; reorganizing the data elements into a common format according to the translation map for the one of the tenants;
wherein in the common format, each data element is identified as being one of a core data element and a tenant-related data element;storing the core data elements in at least one core table, the at least one core table accessible by all tenants; and storing the tenant-related data elements in at least one tenant-specific table, the at least one tenant-specific table accessible only by the tenant with whom the tenant-related data elements originated;
wherein each data element is uniquely associated with the one of the tenants from which it originated. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer program product, comprising a machine readable storage medium having a machine readable program code embodied therein, the machine readable program code adapted to be executed to implement a method for initializing a data management system for a plurality of tenants, said method comprising:
-
maintaining a core schema containing common core objects; maintaining a plurality of pre-developed industry-specific schema templates in the database system; and responsive to addition of a new tenant, selecting one of the industry-specific schema templates corresponding to an industry of the new tenant and cloning the selected industry-specific schema template to generate a tenant schema for the new tenant.
-
-
18. A computer program product, comprising a machine readable storage medium having a machine readable program code embodied therein, the machine readable program code adapted to be executed to implement a method for managing tenant-specific, rule-driven communications for a plurality of tenants, said method comprising:
-
maintaining client data relating to clients of a plurality of tenants; maintaining a plurality of universal communication rules applicable to all tenants; maintaining a plurality of industry-specific communication rules applicable only to tenants within a particular industry; and for each tenant, generating communications to clients of that tenant according to the universal communication rules and the industry-specific communication rules applicable to that tenant. - View Dependent Claims (19, 20)
-
Specification