US2013081109A1PendingUtilityA1

Multi-Tenant Agile Database Connector

Assignee: VENKATARAMAN SPriority: Sep 23, 2011Filed: Jan 27, 2012Published: Mar 28, 2013
Est. expirySep 23, 2031(~5.2 yrs left)· nominal 20-yr term from priority
G06F 16/252G06F 16/13
44
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A module provides an interface between a multi-tenant database and a non-tenant-specific application instance such that the application instance sends data access commands to the module as if it is communicating with a single-tenant database. The module translates the non-tenant-specific data access command from the non-tenant-aware application into a multi-tenant data access command, as needed, without needing to alter the non-tenant specific application instance in any way. In this manner, a single-tenant application could be used by multiple tenants in a multi-tenant environment.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . An interface module, comprising:
 a first input that receives a non-tenant-specific data access command from an application installed on a computer system while the application is invoked by a tenant;   a second input that receives a unique identifier associated with the tenant from a non-application source;   a handler that authorizes, through an authorization, whether the non-tenant-specific data access command is translated to a tenant-specific data access command;   a translator that, upon receipt of the authorization from the handler, translates the non-tenant-specific data access command into the tenant-specific data access command that accesses a subset of data within a data repository accessible by a data collection module installed on the computer system, wherein the subset of data is associated with the unique identifier of the tenant; and   a first output that transmits at least one of the non-tenant-specific data access command and the tenant-specific data access command to the data collection module as a function of the authorization from the handler.   
     
     
         2 . The interface module of  claim 1 , wherein the first output sends the tenant-specific database command to a standard database connector. 
     
     
         3 . The interface module of  claim 2 , wherein the standard database connector is selected from the group consisting of n ODBC driver, a JDBC driver, and an ADOdb driver. 
     
     
         4 . The interface module of  claim 1 , wherein the data collection module accesses a device that collects real-time data to execute the tenant-specific data access command. 
     
     
         5 . The interface module of  claim 1 , wherein the tenant-specific data access command comprises a first command and a second command, wherein the data collection module executes the first command on a first data repository and executes the second command on at least one of the first data repository and a second data repository. 
     
     
         6 . The interface module of  claim 1 , wherein the translator accesses a security access lookup table to determine a tenant-accessible set of data sources, and ensures that the subset of data composes the tenant-accessible set of data sources. 
     
     
         7 . The interface module of  claim 6 , wherein the tenant-accessible set of data sources is accessible only to the tenant. 
     
     
         8 . The interface module of  claim 6 , wherein the security access lookup table provides the tenant access to a subset of databases within the data repository. 
     
     
         9 . The interface module of  claim 6 , wherein the security access lookup table provides the tenant access to a subset of table entries within the data repository. 
     
     
         10 . The interface module of  claim 1 , wherein the translator parses the non-tenant-specific data access command before the step of translation. 
     
     
         11 . The interface module of  claim 1 , wherein the translator optimizes the tenant-specific data access command in accordance with an algorithm specific to a type of the data repository. 
     
     
         12 . The interface module of  claim 1 , wherein the translator optimizes the tenant-specific data access command in accordance with an algorithm specific to the application. 
     
     
         13 . The interface module of  claim 1 , wherein a first portion of the subset of data is associated with a second unique identifier of a second tenant and a second portion of the subset of data is associated with a third unique identifier of a third tenant. 
     
     
         14 . The interface module of  claim 13 , wherein the first portion of the subset of data and the second portion of the subset of data are non-overlapping. 
     
     
         15 . The interface module of  claim 1 , further comprising:
 a third input that receives a second non-tenant-specific data access command from the application while the application is invoked by a second tenant;   a fourth input that receives a second unique identifier associated with the second tenant from the non-application source,
 wherein the handler authorizes whether the second non-tenant-specific data access command is translated to a second tenant-specific data access command; 
 wherein the translator, upon a second authorization from the handler, translates the second non-tenant-specific data access command into the second tenant-specific data access command that accesses a second subset of data within the data repository, wherein the second subset of data is specifically associated with the second unique identifier of the second tenant; and 
   a second output that transmits either the second non-tenant-specific data access command or the tenant-specific data access command to the data collection module as a function of the second authorization from the handler.   
     
     
         16 . The interface module of  claim 1 , wherein the tenant-specific data access command comprises a security certificate that is specific to the tenant. 
     
     
         17 . The interface module of  claim 1 , wherein the application sends an encryption key to the data repository to translate encrypted data sent between the application and the data repository. 
     
     
         18 . The interface module of  claim 17 , wherein the non-tenant-specific data access command does not contain the encryption key. 
     
     
         19 . The interface module of  claim 1 , wherein the tenant-specific data access command comprises an encryption key that encrypts an unencrypted data into encrypted data before writing the encrypted data to the subset of data. 
     
     
         20 . The interface module of  claim 1 , further comprising a second output that returns a result set of the tenant-specific data access command to the application.

Join the waitlist — get patent alerts

Track US2013081109A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.