IP Library Granted Patent US 10,824,591
Granted Patent B2
US 10,824,591 · App. 16/053,597 · Granted Nov 3, 2020

Automatic transformation of single-tenant software applications to multi-tenant SAAS systems

Inventors: S. Venkataraman (Thiruninravur, IN); Michael Oliver (Santo Domingo, PH); Jeya Anantha Prabhu P. (Jawahar Nagar, IN); Shafiullah Syed (Saratoga, CA); R. Scott Chate (The Woodlands, TX)
Assignee: CORENT TECHNOLOGY, INC.
G06F16/13G06F16/252
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 10,824,591
App. No.
16/053,597
Granted
Nov 3, 2020
Kind
B2
Abstract

An automated transformation system uses a tenant-aware interface module to transform one or more single-tenant systems to a multi-tenant SaaS System. The interface module gleans tenant IDs by querying a third party source (not the non-tenant-aware application), and uses those tenant IDs to translate non-tenant-aware data repository commands from known tenants into tenant-aware data repository commands. A specialized data collection module can then execute the tenant-aware data repository commands via a database connector.

Claims (25)

1. A method of facilitating multitenant access to first and second tenant-aware data repositories from a non-tenant-aware application without programmatically modifying the application architecture, wherein at least one of the first and second tenant-aware data repositories are configured to be concurrently accessed by first and second tenants, comprising:

providing a tenant-aware translator between the non-tenant-aware application and at least one of the first tenant-aware data repository and the second tenant-aware data repository that

(a) queries a source other than the non-tenant-aware application and the first and second tenant-aware data repositories for a first tenant ID and a second tenant ID,

(b) receives the first tenant ID and the second tenant ID from the source, and

(c) translates the first and second non-tenant-aware data repository commands from the first and second tenants, respectively, into first and second tenant-aware data repository commands;

providing a data collection module that executes the first and second tenant-aware data repository commands via a database connector: and

wherein the step of translating the first and second non-tenant-aware data repository commands is a function of the first and second tenant IDs.

2. The method of claim 1 , further comprising accessing a security access lookup table to determine what data sources within the data repository the first tenant has access to.

3. The method of claim 2 , wherein the security access lookup table comprises a source other than the non-tenant-aware application and at least one of the first and second tenant-aware data repositories.

4. The method of claim 1 , further comprising at least one of decrypting at least one of the first and second non-tenant-aware data repository commands before using the first and second tenant IDs to translate the first and second non-tenant-aware data repository commands or encrypting at least one of the first and second tenant-aware data repository commands.

5. The method of claim 1 , wherein the tenant-aware translator returns first and second data items from the first tenant-aware data repository to the first and second tenants responsive to the first and second tenant-aware data repository commands, respectively.

6. The method of claim 5 , further comprising applying a security measure to at least one of the first and second data items.

7. The method of claim 1 , further comprising passing a third data repository command from the application to the first non-tenant-aware data repository without translating the third data repository command into a tenant-aware command and providing access to the first non-tenant-aware data repository to a plurality of tenants.

8. The method of claim 1 , further comprising (a) receiving a third tenant ID from the source with respect to a third tenant, (b) receiving a third non-tenant-aware database command from the third tenant, (d) using the third tenant ID to translate the third non-tenant-aware database command into a third tenant-aware data repository command, and (e) passing the third tenant-aware data repository command to an alternate data repository.

9. The method of claim 1 , further comprising optimizing the first and second tenant-aware data repository commands in order in accordance with an algorithm.

10. The method of claim 1 , wherein the step of using the first and second tenant IDs to translate first and second non-tenant-aware data repository commands from the first and second tenants, respectively, into first and second tenant-aware data repository commands does not involve programmatically modifying at least one of the first and second data repositories.

11. The method of claim 1 , wherein the first tenant-aware data repository includes a plurality of different databases.

12. The method of claim 1 , wherein the first tenant-aware data repository includes a data-gathering device.

13. The method of claim 1 , wherein the first tenant-aware data repository includes a camera.

14. The method of claim 1 , wherein the first tenant-aware data repository includes a user interface.

15. The method of claim 1 , further comprising providing the tenant-aware translator in a configuration that appears to the non-tenant-aware application as a single-tenant data collection module.

16. The method of claim 1 , further comprising providing the tenant-aware translator in a configuration that appears to the non-tenant-aware application as a non-tenant-aware data collection module.

17. The method of claim 1 , wherein the source other than the application and the data repository is selected from an LDAP server.

18. The method of claim 1 , wherein the source other than the application and the data repository comprises a tenant log-in module that is invoked prior to the first tenant gaining access to the non-tenant-aware application.

19. The method of claim 1 , wherein the database connector comprises a driver selected from the group consisting of (a) an ODBC driver, (b) a JDBC driver, and (c) an ADOdb driver.

Assignments (2)
SECURITY INTEREST Recorded Dec 17, 2024
From: CORENT TECHNOLOGY, INC.
To: CARSON, LLC
Reel/Frame 069613/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2020
From: VENKATARAMAN, S.; OLIVER, MICHAEL; PRABHU, JEYA ANANTHA; SYED, SHAFIULLAH; CHATE, R. SCOTT
To: CORENT TECHNOLOGY, INC.
Reel/Frame 052494/0027 →
Continuity (3)
Continuation 13360383 · Jan 27, 2012
Provisional Application 61538687 · Sep 23, 2011
Related Publication 20180341660A1 · Nov 29, 2018
Cited By (1)
US 12,705,373