IP Library Granted Patent US 9,420,034
Granted Patent B2
US 9,420,034 · App. 13/034,799 · Granted Aug 16, 2016

Providing services to multiple tenants of an application

Inventors: Hong Cai (Beijing, CN); Jun Jie Cai (Beijing, CN); Wei Gong (Beijing, CN); Lin Quan Jiang (Shanghai, CN); Jing Lv (Shanghai, CN); Xin Sheng Mao (Beijing, CN); Heng Wang (Shanghai, CN); Hai Hong Xu (Shanghai, CN); Ke Zhang (Beijing, CN); Min Jun Zhou (Beijing, CN)
Assignee: International Business Machines Corporation
H04L67/10
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 9,420,034
App. No.
13/034,799
Granted
Aug 16, 2016
Kind
B2
Abstract

A method, system and computer program product for providing a service to multiple tenants of an application. Responsive to receiving from a client of a tenant a request, a tenant context of the tenant is bound to the request. With respect to an access to an isolation point of the application in the request, the access to the isolation point is redirected to a partition based on the tenant context bound to the request. The partition may be pre-established for the tenant with respect to the application. Hence, it is possible to provide a multi-tenant solution in a convenient, fast, and cost-effective way, and, in turn, to achieve resource sharing to a greater extent and enhance the resource efficiency.

Claims (53)

1. A method for providing a service to multiple tenants of an application, the method comprising:

binding a tenant context of a tenant to a request in response to receiving from a client the request associated with one of the multiple tenants; and

with respect to an access to an isolation point of the application in the request, redirecting, by a processor, the access to the isolation point to a partition based on the tenant context bound to the request, wherein the partition is pre-established for the tenant with respect to the application.

2. The method according to claim 1 , wherein the redirecting access to the isolation point in the request to the partition based on the tenant context bound to the request further comprises:

querying the partition based on a pre-generated tenant-partition map associated with the tenant context.

3. The method according to claim 2 , further comprising:

creating a respective partition for each of the multiple tenants based on metadata describing the isolation point of the application; and

recording a mapping relationship between each of the multiple tenants and its respective partition to generate the tenant-partition map.

4. The method according to claim 3 , further comprising:

analyzing the application based on analysis rules;

extracting the isolation point of the application; and

generating the metadata based on the isolation point.

5. The method according to claim 4 , further comprising:

filtering isolation points that are irrelevant to providing a multi-tenant solution to the application.

6. The method according to claim 1 , wherein the isolation point comprises data that cannot be shared among the multiple tenants of the application.

7. The method according to claim 1 , wherein data associated with the isolation point is stored in the partition.

8. The method according to claim 1 , wherein the tenant context is identified by a unique tenant identifier.

9. A computer program product embodied in a computer readable storage medium for providing a service to multiple tenants of an application, the computer program product comprising the programming instructions for:

binding a tenant context of a tenant to a request in response to receiving from a client the request associated with one of the multiple tenants; and

with respect to an access to an isolation point of the application in the request, redirecting the access to the isolation point to a partition based on the tenant context bound to the request, wherein the partition is pre-established for the tenant with respect to the application.

10. The computer program product according to claim 9 , wherein the programming instructions for redirecting access to the isolation point in the request to the partition based on the tenant context bound to the request comprises the programming instructions for:

querying the partition based on a pre-generated tenant-partition map associated with the tenant context.

11. The computer program product according to claim 10 further comprising the programming instructions for:

creating a respective partition for each of the multiple tenants based on metadata describing the isolation point of the application; and

recording a mapping relationship between each of the multiple tenants and its respective partition to generate the tenant-partition map.

12. The computer program product according to claim 11 further comprising the programming instructions for:

analyzing the application based on analysis rules;

extracting the isolation point of the application; and

generating the metadata based on the isolation point.

13. The computer program product according to claim 12 further comprising the programming instructions for:

filtering isolation points that are irrelevant to providing a multi-tenant solution to the application.

14. The computer program product according to claim 9 , wherein the isolation point comprises data that cannot be shared among the multiple tenants of the application.

15. The computer program product according to claim 9 , wherein data associated with the isolation point is stored in the partition.

16. The computer program product according to claim 9 , wherein the tenant context is identified by a unique tenant identifier.

17. A system, comprising:

a memory unit for storing a computer program for providing a service to multiple tenants of an application; and

a processor coupled to said memory unit, wherein said processor, responsive to said computer program, comprises:

circuitry for binding a tenant context of a tenant to a request in response to receiving from a client the request associated with one of the multiple tenants; and

with respect to an access to an isolation point of the application in the request, circuitry for redirecting the access to the isolation point to a partition based on the tenant context bound to the request, wherein the partition is pre-established for the tenant with respect to the application.

18. The system according to claim 17 , wherein the circuitry for redirecting access to the isolation point in the request to the partition based on the tenant context bound to the request comprises:

circuitry for querying the partition based on a pre-generated tenant-partition map associated with the tenant context.

19. The system according to claim 18 , wherein said processor further comprises:

circuitry for creating a respective partition for each of the multiple tenants based on metadata describing the isolation point of the application; and

circuitry for recording a mapping relationship between each of the multiple tenants and its respective partition to generate the tenant-partition map.

20. The system according to claim 19 , wherein said processor further comprises:

circuitry for analyzing the application based on analysis rules;

circuitry for extracting the isolation point of the application; and

circuitry for generating the metadata based on the isolation point.

21. The system according to claim 20 , wherein said processor further comprises:

circuitry for filtering isolation points that are irrelevant to providing a multi-tenant solution to the application.

22. The system according to claim 17 , wherein the isolation point comprises data that cannot be shared among the multiple tenants of the application.

23. The system according to claim 17 , wherein data associated with the isolation point is stored in the partition.

24. The system according to claim 17 , wherein the tenant context is identified by a unique tenant identifier.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2011
From: GONG, WEI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026051/0868 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2011
From: CAI, HONG; CAI, JUN JIE; JIANG, LIN QUAN; LV, JING; MAO, XIN SHENG; WANG, HENG; XU, HAI HONG; ZHANG, KE; ZHOU, MIN JUN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025863/0073 →
Priority Claims (1)
CN 2010 1 0117727 · Feb 26, 2010 · national
Continuity (1)
Related Publication 20110213870A1 · Sep 1, 2011