US2022043829A1PendingUtilityA1

Methods for enhancing a legacy single tenant application system to a multi-tenant application system with minimal changes

Assignee: CITRIX SYSTEMS INCPriority: Apr 27, 2017Filed: Oct 25, 2021Published: Feb 10, 2022
Est. expiryApr 27, 2037(~10.7 yrs left)· nominal 20-yr term from priority
G06F 16/90G06F 9/547G06F 16/258G06F 16/40G06F 16/9566G06F 8/76G06F 16/9014H04L 67/02G06F 16/906
63
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Systems and methods for accessing single-tenant databases comprising a multi-tenant aware cluster manager in communication with instances of single-tenant databases are described. The cluster manager can establish a uniform resource locator (URL) unique for each tenant to access the cluster manager. Each of the instances of single-tenant databases can include data for a corresponding tenant. The cluster manager can receive a request from a client to access a database corresponding to the first tenant. The request can include the URL established for the first tenant. The cluster manager can identify the first tenant based on the URL of the request. The cluster manager can obtain, responsive to identification of the first tenant, a tenant context of the first tenant from a storage. The cluster manager can access, using the first tenant context and responsive to the request, a first instance of the single-tenant databases corresponding to the first tenant.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 receiving, by one or more servers managing a plurality of separate single-tenant databases, a request to modify an object of a first tenant of a plurality of tenants, the request identifying a uniform resource locator (URL) unique to the first tenant;   identifying, by the one or more servers using the URL, a tenant context of the first tenant, the tenant context identifying an identifier of the first tenant and a hash map keyed by the identifier of the first tenant; and   accessing, by the one or more servers using the identifier of the first tenant, the object in an instance of the database for the first tenant via one or more application programming interfaces configured to use the tenant context; and   modifying, by the one or more servers, the object via a container implemented using the hash map.   
     
     
         2 . The method of  claim 1 , further comprising receiving, by the one or more servers, the request from a client of the first tenant, the request comprising the URL to be used as a source address for making one or more calls to the one or more application programming interfaces. 
     
     
         3 . The method of  claim 1 , further comprising identifying, by the one or more servers, the first tenant from the URL of the request. 
     
     
         4 . The method of  claim 1 , further comprising accessing the tenant context from a local storage that is accessible by computer instructions implemented by the one or more servers to process the request. 
     
     
         5 . The method of  claim 1 , further comprising maintaining, by the one or more servers, one or more objects for each tenant of the plurality of tenants to be used for maintaining a state corresponding to each tenant. 
     
     
         6 . The method of  claim 1 , further comprising propagating, by the one or more servers, the identifier of the first tenant via computer instructions implemented by the one or more servers such that the tenant context is used by the computer instructions for taking an action associated with the request for the first tenant. 
     
     
         7 . The method of  claim 1 , further comprising using the identifier of the first tenant as a key to identify the object of the first tenant from the container. 
     
     
         8 . A system comprising:
 one or more servers configured to manage a plurality of separate single-tenant databases, the one or more servers to:   receive a request to modify an object of a first tenant of a plurality of tenants, the request identifying a uniform resource locator (URL) unique to the first tenant;   identify, using the URL, a tenant context of the first tenant, the tenant context identifying an identifier of the first tenant and a hash map keyed by the identifier of the first tenant; and   access, using the identifier of the first tenant, the object in an instance of the database for the first tenant via one or more application programming interfaces configured to use the tenant context; and   modify the object via a container implemented using the hash map.   
     
     
         9 . The system of  claim 8 , wherein the one or more servers are further configured to receive the request from a client of the first tenant, the request comprising the URL to be used as a source address for making one or more calls to the one or more application programming interfaces. 
     
     
         10 . The system of  claim 8 , wherein the one or more servers are further configured to identify the first tenant from the URL of the request. 
     
     
         11 . The system of  claim 8 , wherein the one or more servers are further configured to access the tenant context from a local storage that is accessible by computer instructions implemented by the one or more servers to process the request. 
     
     
         12 . The system of  claim 8 , wherein the one or more servers are further configured to maintain one or more objects for each tenant of the plurality of tenants to be used for maintaining a state corresponding to each tenant. 
     
     
         13 . The system of  claim 8 , wherein the one or more servers are further configured to propagate the identifier of the first tenant via computer instructions implemented by the one or more servers such that the tenant context is used by the computer instructions for taking an action associated with the request for the first tenant. 
     
     
         14 . The system of  claim 8 , wherein the one or more servers are further configured to use the identifier of the first tenant as a key to identify the object of the first tenant from the container. 
     
     
         15 . A system comprising:
 a storage comprising a tenant context for each of a plurality of tenants, the tenant context identifying an identifier of a tenant and a hash map keyed by the identifier of the tenant; and   a manager executable on one or more processors and in communication with a plurality of instances of databases for each of the plurality of tenants, wherein the manager to:   receive a request to take an action on an object of a tenant of the plurality of tenants identified by a uniform resource locator (URL) unique to the tenant;   obtain from storage the tenant context of the tenant of the request; and   access, using the identifier of the tenant, the object in an instance of a database for the tenant via one or more application programming interfaces configured to use the tenant context; and   take the action on the object via a container implemented using the hash map.   
     
     
         16 . The system of  claim 15 , wherein the manager is further configured to identify the first tenant from the URL of the request. 
     
     
         17 . The system of  claim 15 , wherein the storage is accessible by computer instructions implemented by the manager to process the request. The system of  claim 15 , wherein the manager is further configured to maintain one or more objects for each tenant of the plurality of tenants to be used for maintaining a state corresponding to each tenant. 
     
     
         18 . The system of  claim 15 , wherein the manager is further configured to propagate the identifier of the tenant via computer instructions implemented by the wherein the manager is further configured such that the tenant context is used by the computer instructions for taking an action associated with the request for the tenant. 
     
     
         19 . The system of  claim 15 , wherein the wherein the manager is further configured to use the identifier of the tenant as a key to identify the object of the tenant via the container. 
     
     
         20 . The system of  claim 15 , wherein the manager is further configured to be multi-tenant aware while he instances of database for each of the plurality of tenants are single tenant.

Join the waitlist — get patent alerts

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

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