Supporting multi-tenant applications on a shared database using pre-defined attributes
First Claim
Patent Images
1. A computer program product for managing a multi-tenant database, the computer program product comprising a computer readable storage medium having stored thereon:
- first program instructions programmed to implement a database server comprising attributes of each tenant among a plurality tenants in a multi-tenant database system, the attributes being selected from a group consisting of;
(i) an application name;
(ii) a accounting string;
(iii) a workstation name;
(iv) an internet protocol (IP) address;
(v) a system authentication identifier;
(vi) a session authentication identifier;
(vii) a service class;
second program instructions programmed to receive, from a first tenant of the plurality of tenants, a structured query language (SQL) database query directed to a multi-tenant database, where the SQL database query comprises a client information field of the attributes of the first tenant, the client information field having been set up in conjunction with creation of a user account of the first tenant, and the client information field comprising the IP address of the first tenant;
third program instructions programmed to determine a tenant identifier (tenant ID), of the first tenant, by reference to the client information field from the IP address using the attributes of the first tenant in the database server;
fourth program instructions programmed to inject, the tenant ID into the SQL database query to produce an injected database query;
fifth program instructions programmed to determine a priority level of a connection of the injected database query by the first tenant to the multi-tenant database from a set of priority levels based on service class of the first tenant;
sixth program instructions programmed to establish a workload balance action responsive to the connection of the injected database query according to the priority level and workload of the multi-tenant database systemseventh program instructions programmed to send the injected database query to the database management system according to the workload balance action and the session authentication identifier of the first tenant;
eighth program instructions programmed to receive a query result from the database management system based on the system authentication identifier of the first tenant;
ninth program instructions programmed to send the query result to the first tenant; and
responsive to receiving the SQL database query, tenth program instructions programmed to write the first tenant ID in;
a trace, a log, and accounting statistics.
1 Assignment
0 Petitions
Accused Products
Abstract
Exposing existing database server attributes that are used for load balancing, accounting, log filtering, problem determination, and end user identification as tenant identifiers. An example of such attribute is the values in existing client information fields that are available to applications for passing additional information to the database server via connections. These values are then used by the database server for enhanced operational functions of load balancing, accounting, log filtering, problem determination, and end user identification.
-
Citations
10 Claims
-
1. A computer program product for managing a multi-tenant database, the computer program product comprising a computer readable storage medium having stored thereon:
-
first program instructions programmed to implement a database server comprising attributes of each tenant among a plurality tenants in a multi-tenant database system, the attributes being selected from a group consisting of;
(i) an application name;
(ii) a accounting string;
(iii) a workstation name;
(iv) an internet protocol (IP) address;
(v) a system authentication identifier;
(vi) a session authentication identifier;
(vii) a service class;second program instructions programmed to receive, from a first tenant of the plurality of tenants, a structured query language (SQL) database query directed to a multi-tenant database, where the SQL database query comprises a client information field of the attributes of the first tenant, the client information field having been set up in conjunction with creation of a user account of the first tenant, and the client information field comprising the IP address of the first tenant; third program instructions programmed to determine a tenant identifier (tenant ID), of the first tenant, by reference to the client information field from the IP address using the attributes of the first tenant in the database server; fourth program instructions programmed to inject, the tenant ID into the SQL database query to produce an injected database query; fifth program instructions programmed to determine a priority level of a connection of the injected database query by the first tenant to the multi-tenant database from a set of priority levels based on service class of the first tenant; sixth program instructions programmed to establish a workload balance action responsive to the connection of the injected database query according to the priority level and workload of the multi-tenant database system seventh program instructions programmed to send the injected database query to the database management system according to the workload balance action and the session authentication identifier of the first tenant; eighth program instructions programmed to receive a query result from the database management system based on the system authentication identifier of the first tenant; ninth program instructions programmed to send the query result to the first tenant; and responsive to receiving the SQL database query, tenth program instructions programmed to write the first tenant ID in;
a trace, a log, and accounting statistics. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer system for managing a multi-tenant database, the computer system comprising:
-
a set of one or more processors; and a computer readable storage medium; wherein; the set of one or more processors is structured, located, connected and/or programmed to run program instructions stored on the computer readable storage medium; and the program instructions include; first program instructions programmed to implement a database server comprising attributes of each tenant among a plurality tenants in a multi-tenant database system, the attributes being selected from a group consisting of;
(i) an application name;
(ii) a accounting string;
(iii) a workstation name;
(iv) an internet protocol (IP) address;
(v) a system authentication identifier;
(vi) a session authentication identifier;
(vii) a service class;second program instructions programmed to receive, from a first tenant of the plurality of tenants, a structured query language (SQL) database query directed to a multi-tenant database, where the SQL database query comprises a client information field of the attributes of the first tenant, the client information field having been set up in conjunction with creation of a user account of the first tenant, and the client information field comprising the IP address of the first tenant; third program instructions programmed to determine a tenant identifier (tenant ID), of the first tenant, by reference to the client information field from the IP address using the attributes of the first tenant in the database server; fourth program instructions programmed to inject, the tenant ID into the SQL database query to produce an injected database query; fifth program instructions programmed to determine a priority level of a connection of the injected database query by the first tenant to the multi-tenant database from a set of priority levels based on service class of the first tenant; sixth program instructions programmed to establish a workload balance action responsive to the connection of the injected database query according to the priority level and workload of the multi-tenant database system seventh program instructions programmed to send the injected database query to the database management system according to the workload balance action and the session authentication identifier of the first tenant; eighth program instructions programmed to receive a query result from the database management system based on the system authentication identifier of the first tenant; ninth program instructions programmed to send the query result to the first tenant; and responsive to receiving the SQL database query, tenth program instructions programmed to write the first tenant ID in;
a trace, a log, and accounting statistics. - View Dependent Claims (7, 8, 9, 10)
-
Specification