IP Library Granted Patent US 10,728,342
Granted Patent B1
US 10,728,342 · App. 15/198,227 · Granted Jul 28, 2020

Plug and play multi tenancy support for cloud applications

Inventors: Amit Lieberman (Kfar Saba, IL); Senya Touretski (Ramat Gan, IL); Meytal Ashkenazy (Netanya, IL); Idan Levyl (Kadima Zoran, IL); Shai Harmelin (Haifa, IL)
Assignee: EMP IP HOLDING COMPANY LLC
H04L67/141G06F16/211G06F16/252H04L63/08H04L67/02H04L67/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 10,728,342
App. No.
15/198,227
Granted
Jul 28, 2020
Kind
B1
Abstract

One embodiment is related to a method for setting a tenant context for an application in a multi-tenancy environment, comprising: identifying a tenant identity for a tenant request, wherein the tenant identity is included in the tenant request; and setting a proper context for a first service of the application based on the identified tenant identity.

Claims (26)

1. A method for setting a tenant context for an application in a multi-tenancy environment, comprising:

identifying, by a multitenancy support module, a tenant identity of a tenant for a tenant request subsequent to a successful authentication of the tenant, wherein the tenant identity is included in the tenant request;

setting, by the multitenancy support module, a tenant context for a first service of the application based on the identified tenant identity, wherein the application is not multitenancy-aware, wherein communication and data storage/retrieval protocols, including relational databases and in-memory database caching services, used by the first service of the application are hooked into by the multitenancy support module, and wherein the setting of the tenant context for the first service of the application comprises returning a database connection comprising a database server instance and a database schema associated with the tenant identity, wherein the setting of the tenant context for the first service further comprises returning to the first service a key value store connection comprising a key value store bucket and a key value store schema associated with the tenant identity; and

in response to the first service of the application transmitting a message to a second service of the application using a messaging protocol, passing, by the multitenancy support module, the tenant context to the second service from the first service, wherein passing the tenant context further comprises: adding, by the multi-tenancy support module, the tenant identity to the message as a header at the first service, and recovering, by the multi-tenancy support module, the tenant identity from message at the second service.

2. The method of claim 1 , wherein the tenant request comprises a hypertext transfer protocol (HTTP) message, and the tenant identity is included in the tenant request as an HTTP header.

3. The method of claim 1 , wherein the messaging protocol comprises at least one of Java Message Service (JMS) or Advanced Message Queuing Protocol (AMQP).

4. The method of claim 1 , wherein the passing of the tenant context to the second service of the application further comprises:

setting the tenant context for the second service based on the recovered tenant identity, wherein the key value store connection includes Amazon S3 “Simple Storage Service”.

5. A non-transitory machine-readable medium having instructions stored therein which, when executed by a processor, cause the processor to perform support operations, the operations comprising:

identifying, by a multitenancy support module, a tenant identity of a tenant for a tenant request within a multi-tenancy environment subsequent to a successful authentication of the tenant, wherein the tenant identity is included in the tenant request;

setting, by the multitenancy support module, a tenant context for a first service of an application based on the identified tenant identity, wherein the application is not multitenancy-aware, wherein communication and data storage/retrieval protocols, including relational databases and in-memory database caching services, used by the first service of the application are hooked into by the multitenancy support module, and wherein the setting of the tenant context for the first service of the application comprises returning a database connection comprising a database server instance and a database schema associated with the tenant identity, wherein the setting of the tenant context for the first service further comprises returning to the first service a key value store connection comprising a key value store bucket and a key value store schema associated with the tenant identity; and

in response to the first service of the application transmitting a message to a second service of the application using a messaging protocol, passing, by the multitenancy support module, the tenant context to the second service from the first service, wherein passing the tenant context further comprises: adding, by the multi-tenancy support module, the tenant identity to the message as a header at the first service; and recovering, by the multi-tenancy support module, the tenant identity from message at the second service.

6. The non-transitory machine-readable medium of claim 5 , wherein the tenant request comprises a hypertext transfer protocol (HTTP) message, and the tenant identity is included in the tenant request as an HTTP header.

7. The non-transitory machine-readable medium of claim 5 , wherein the messaging protocol comprises at least one of Java Message Service (JMS) or Advanced Message Queuing Protocol (AMQP).

8. The non-transitory machine-readable medium of claim 5 , wherein the passing of the tenant context to the second service of the application further comprises:

setting the tenant context for the second service based on the recovered tenant identity, wherein the key value store connection includes Amazon S3 “Simple Storage Service”.

9. A data processing system, comprising:

a processor; and

a memory coupled to the processor storing instructions which, when executed by the processor, cause the processor to perform support operations, the operations including

identifying, by a multitenancy support module, a tenant identity of a tenant for a tenant request within a multi-tenancy environment subsequent to a successful authentication of the tenant, wherein the tenant identity is included in the tenant request;

setting, by the multitenancy support module, a tenant context for a first service of an application based on the identified tenant identity, wherein the application is not multitenancy-aware, wherein communication and data storage/retrieval protocols, including relational databases and in-memory database caching services, used by the first service of the application are hooked into by the multitenancy support module, and wherein the setting of the tenant context for the first service of the application comprises returning a database connection comprising a database server instance and a database schema associated with the tenant identity, wherein the setting of the tenant context for the first service further comprises returning to the first service a key value store connection comprising a key value store bucket and a key value store schema associated with the tenant identity; and

in response to the first service of the application transmitting a message to a second service of the application using a messaging protocol, passing, by the multitenancy support module, the tenant context to the second service from the first service, wherein passing the tenant context further comprises: adding, by the multi-tenancy support module, the tenant identity to the message as a header at the first service; and recovering, by the multi-tenancy support module, the tenant identity from message at the second service.

10. The data processing system of claim 9 , wherein the tenant request comprises a hypertext transfer protocol (HTTP) message, and the tenant identity is included in the tenant request as an HTTP header.

11. The data processing system of claim 9 , wherein the messaging protocol comprises at least one of Java Message Service (JMS) or Advanced Message Queuing Protocol (AMQP).

12. The data processing system of claim 9 , wherein the passing of the tenant context to the second service of the application further comprises:

setting the tenant context for the second service based on the recovered tenant identity, wherein the key value store connection includes Amazon S3 “Simple Storage Service”.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2016
From: LIEBERMAN, AMIT; TOURETSKI, SENYA; ASHKENAZY, MEYTAL; LEVYL, IDAN; HARMELIN, SHAI
To: EMC CORPORATION
Reel/Frame 039258/0709 →