Methods for enhancing a legacy single tenant application system to a multi-tenant application system with minimal changes
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-modifiedWhat 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.