IP Library Granted Patent US 10,484,483
Granted Patent B1
US 10,484,483 · App. 14/871,548 · Granted Nov 19, 2019

Method and system for providing software functionalities to users of multi-tenant applications via inheritance

Inventors: Gaurav Gupta (Bangalore, IN); Mridul Mudgal (Bangalore, IN); Vikas Ranganatha (Bangalore, IN); Shalini Sharma (Bangalore, IN); Manish Gurumoorthy (Dublin, CA)
Assignee: EMC IP Holding Company LLC
H04L67/16H04L41/5054H04L67/04H04L67/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,484,483
App. No.
14/871,548
Granted
Nov 19, 2019
Kind
B1
Abstract

In general, embodiments of the technology relate to a method for providing software functionalities to users of multi-tenant applications via inheritance. The method includes defining a functionality to be inheritable by a tenant application, in a master application, including selecting the functionality from a set of implemented functionalities, and defining a scope for the selected functionality, and publishing the master application. The method further includes, after publishing the master application, receiving a request to generate a tenant application. The request specifies the master application and the functionality to be inheritable by the tenant application. The method also includes generating the tenant application in response to the request. Further, the method includes publishing the tenant application, including the functionality, to a set of users; and receiving a request to access the published tenant application from a user of the first set of users.

Claims (71)

1. A method for providing software functionalities to users of multi-tenant applications via inheritance, comprising:

defining a plurality of functionalities to be inheritable by a tenant application, in a master application, comprising:

selecting the plurality of functionalities from a set of implemented functionalities; and

defining a scope for the selected plurality of functionalities,

wherein each of the plurality of functionalities is a customization to the master application specific to a first plurality of users;

publishing the master application after defining the plurality of functionalities; and

after publishing the master application:

receiving a first request to generate the tenant application, wherein the first request specifies the master application and a first functionality of the plurality of functionalities to be inheritable by the tenant application;

generating the tenant application in response to the first request, wherein the tenant application comprises the first functionality and a first custom functionality, wherein the first custom functionality is not provided in the master application;

publishing the tenant application to a second plurality of users, wherein the first plurality of users is a superset of the second plurality of users;

receiving a second request to access the published tenant application from a user of the second plurality of users; and

validating the first functionality, prior to publishing the tenant application, wherein validating the first functionality comprises verifying that elements required by the first functionality are accessible to the user.

2. The method of claim 1 , wherein defining the plurality of functionalities further comprises:

parameterizing the selected plurality of functionalities.

3. The method of claim 1 , wherein the scope of the selected plurality of functionalities comprises at least one selected from the group consisting of a user role, a document, and access privileges.

4. The method of claim 1 , wherein selecting the plurality of functionalities from the set of implemented functionalities comprises selecting, in a configuration matrix, the first functionality.

5. The method of claim 1 , further comprising:

receiving a third request to generate a second tenant application, wherein the third request specifies the master application and the first functionality to be inheritable by the second tenant application;

generating the second tenant application comprising a second custom functionality in response to the third request, wherein the first functionality is customized to obtain the second custom functionality;

publishing the second tenant application to a third plurality of users; and

receiving a fourth request to access the published second tenant application from a user of the third plurality of users.

6. The method of claim 5 , wherein customizing the first functionality of the published second tenant application comprises at least one selected from the group consisting of changing the scope of the first functionality and re-parameterizing the first functionality.

7. The method of claim 1 , further comprising:

obtaining a third functionality, not inherited from the master application, for the tenant application,

wherein the published tenant application comprises the third functionality.

8. A non-transitory computer readable medium (CRM) storing instructions for providing software functionalities to users of multi-tenant applications via inheritance, comprising:

defining a plurality of functionalities to be inheritable by a tenant application, in a master application, comprising:

selecting the plurality of functionalities from a set of implemented functionalities; and

defining a scope for the selected plurality of functionalities,

wherein each of the plurality of functionalities is a customization to the master application specific to a first plurality of users;

publishing the master application after defining the plurality of functionalities; and

after publishing the master application:

receiving a first request to generate the tenant application, wherein the first request specifies the master application and a first functionality of the plurality of functionalities to be inheritable by the tenant application;

generating the tenant application in response to the first request, wherein the tenant application comprises the first functionality and a first custom functionality, wherein the first custom functionality is not provided in the master application;

publishing the tenant application to a second plurality of users, wherein the first plurality of users is a superset of the second plurality of users;

receiving a second request to access the published tenant application from a user of the second plurality of users; and

validating the first functionality, prior to publishing the tenant application, wherein validating the first functionality comprises verifying that elements required by the first functionality are accessible to the user.

9. The non-transitory CRM of claim 8 , wherein the scope of the selected plurality of functionalities comprises at least one selected from the group consisting of a user role, a document, and access privileges.

10. The non-transitory CRM of claim 8 , wherein the instructions for providing software functionalities to users of multi-tenant applications via inheritance further comprise:

receiving a third request to generate a second tenant application, wherein the third request specifies the master application and the first functionality to be inheritable by the second tenant application;

generating the second tenant application comprising a second custom functionality in response to the third request, wherein the first functionality is customized to obtain the second custom functionality;

publishing the second tenant application to a third plurality of users; and

receiving a fourth request to access the published second tenant application from a user of the third plurality of users.

11. The non-transitory CRM of claim 10 , wherein customizing the first functionality of the published second tenant application comprises at least one selected from the group consisting of changing the scope of the first functionality and re-parameterizing the first functionality.

12. The non-transitory CRM of claim 8 , wherein the instructions for providing software functionalities to users of multi-tenant applications via inheritance further comprise:

obtaining a third functionality, not inherited from the master application, for the tenant application,

wherein the published tenant application comprises the third functionality.

13. A system for providing software functionalities to users of multi-tenant applications via inheritance, comprising:

a computing device comprising a computer processor;

an application server, executing on the computer processor, and configured to:

obtain a definition of a plurality of functionalities to be inheritable by a tenant application, in a master application,

wherein the plurality of functionalities is selected from a set of implemented functionalities,

wherein a scope for the plurality of functionalities is defined, and

wherein each of the plurality of functionalities is a customization to the master application specific to a first plurality of users;

publish the master application after the definition of the plurality of functionalities is obtained; and

and after publishing the master application:

receive a first request to generate the tenant application, wherein the first request the master application and a first functionality of the plurality of functionalities to be inheritable by the tenant application;

generate the tenant application in response to the first request, wherein the tenant application comprises the first functionality and a first custom functionality, wherein the first custom functionality is not provided in the master application;

publish the tenant application to a second plurality of users, wherein the first plurality of users is a superset of the second plurality of users;

receive a second request to access the published tenant application from a user of the second plurality of users; and

validate the first functionality, prior to publishing the tenant application, wherein validating the first functionality comprises verifying that elements required by the first functionality are accessible to the user.

14. The system of claim 13 , wherein the scope of the plurality of functionalities comprises at least one selected from the group consisting of a user role, a document, and access privileges.

15. The system of claim 13 , wherein the application server is further configured to:

receive a third request to generate a second tenant application, wherein the third request specifies the master application and the first functionality to be inheritable by the second tenant application;

generate the second tenant application comprising a second custom functionality in response to the third request, wherein the first functionality is customized to obtain the custom functionality;

publish the second tenant application to a third plurality of users; and

receive a fourth request to access the published second tenant application from a user of the third plurality of users.

16. The system of claim 15 , wherein customizing the first functionality of the published second tenant application comprises at least one selected from the group consisting of changing the scope of the first functionality and re-parameterizing the first functionality.

17. The system of claim 13 , wherein the application server is further configured to:

obtain a third functionality, not inherited from the master application, for the tenant application,

wherein the published tenant application comprises the third functionality.

Assignments (7)
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 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
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 Aug 1, 2016
From: GUPTA, GAURAV; MUDGAL, MRIDUL; RANGANATHA, VIKAS; SHARMA, SHALINI; GURUMOORTHY, MANISH
To: EMC CORPORATION
Reel/Frame 039307/0211 →