IP Library Granted Patent US 11,586,770
Granted Patent B2
US 11,586,770 · App. 16/776,892 · Granted Feb 21, 2023

Access restriction for portions of a web application

Inventor: Raphaël Aubert (Montreal, CA)
Assignee: EMC IP Holding Company LLC
G06F21/629G06F16/94G06F16/953G06F16/954G06F16/9535G06F16/9566G06F16/9577G06F40/134
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 11,586,770
App. No.
16/776,892
Granted
Feb 21, 2023
Kind
B2
Abstract

An apparatus includes at least one processing device configured to receive, from a user, a request to execute a web application. The web application utilizes a plurality of web application portions configured for loading into the web application independent of one another. The at least one processing device is also configured to send, to one or more web application servers, a query for metadata associated with the plurality of web application portions, and to receive, from the web application servers, metadata for a subset of the plurality of web application portions. The subset is determined based at least in part on access rights associated with the user. The at least one processing device is further configured to load instances of one or more of the subset of web application portions at specified locations in pages of the web application based at least in part on the received metadata.

Claims (56)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to perform steps of:

receiving, from a user, a request to execute a web application, the web application utilizing a plurality of web application portions, the plurality of web application portions being configured for loading into the web application independent of one another;

sending, to two or more web application servers, at least one query for metadata associated with the plurality of web application portions, a first one of the two or more web application servers being responsible for serving to the user at least a first subset of the plurality of web application portions comprising software code written utilizing a first web application software framework, a second one of the two or more web application servers being responsible for serving to the user at least a second subset of the plurality of web application portions comprising software code written utilizing a second web application software framework, the first web application software framework comprising a first set of common libraries and application functions, the second web application software framework comprising a second set of common libraries and application functions different than the first set of common libraries and application functions;

receiving, from the first web application server, first metadata comprising configuration information for one or more of the first subset of the plurality of web application portions that the user is permitted to access;

receiving, from the second web application server, second metadata comprising configuration information for one or more of the second subset of the plurality of web application portions that the user is permitted to access; and

loading instances of one or more of the plurality of web application portions at specified locations in one or more pages of the web application based at least in part on the configuration information in the first and second metadata.

2. The apparatus of claim 1 wherein a given one of the plurality of web application portions comprises at least one of the one or more pages of the web application.

3. The apparatus of claim 1 wherein a given one of the plurality of web application portions comprises one or more sections of at least one of the one or more pages of the web application.

4. The apparatus of claim 1 wherein a given one of the plurality of web application portions comprises a set of features of at least one of the one or more pages of the web application.

5. The apparatus of claim 1 wherein the configuration information in at least one of the first and second metadata for a given one of the plurality of web application portions comprises a name of the given web application portion and access rights for the given web application portion.

6. The apparatus of claim 1 wherein the configuration information in at least one of the first and second metadata for a given one of the plurality of web application portions comprises (i) a name of a given bundle of web application portions including the given web application portion and (ii) one or more dependencies for external libraries not included in the given bundle of web application portions.

7. The apparatus of claim 1 wherein the configuration information in at least one of the first and second metadata for a given one of the plurality of web application portions comprises an injection location of the given web application portion in at least one of the one or more pages of the web application.

8. The apparatus of claim 1 wherein the configuration information in at least one of the first and second metadata for a given one of the plurality of web application portions comprises a navigation configuration for (i) dynamically loading visuals of the given web application portion in the web application, (ii) routing to the given web application portion from one or more other ones of the plurality of web application portions and (iii) routing from the given web application portion to one or more other ones of the plurality of web application portions.

9. The apparatus of claim 1 wherein the at least one processing device is further configured to build a navigation configuration for the web application based at least in part on the first and second metadata.

10. The apparatus of claim 9 wherein loading instances of one or more of the plurality of web application portions is based at least in part on the navigation configuration for the web application.

11. The apparatus of claim 1 wherein the web application comprises a modular architecture that defines the plurality of web application portions prior to building the web application.

12. The apparatus of claim 1 wherein the plurality of web application portions are defined based at least in part on uniform resource locator (URL)-accessible portions of the web application.

13. The apparatus of claim 1 wherein the plurality of web application portions are defined at build time of the web application by injecting code into a packaging system utilized to build the web application.

14. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform steps of:

receiving, from a user, a request to execute a web application, the web application utilizing a plurality of web application portions, the plurality of web application portions being configured for loading into the web application independent of one another;

sending, to two or more web application servers, at least one query for metadata associated with the plurality of web application portions, a first one of the two or more web application servers being responsible for serving to the user at least a first subset of the plurality of web application portions comprising software code written utilizing a first web application software framework, a second one of the two or more web application servers being responsible for serving to the user at least a second subset of the plurality of web application portions comprising software code written utilizing a second web application software framework, the first web application software framework comprising a first set of common libraries and application functions, the second web application software framework comprising a second set of common libraries and application functions different than the first set of common libraries and application functions;

receiving, from the first web application server, first metadata comprising configuration information for one or more of the first subset of the plurality of web application portions that the user is permitted to access;

receiving, from the second web application server, second metadata comprising configuration information for one or more of the second subset of the plurality of web application portions that the user is permitted to access; and

loading instances of one or more of the plurality of web application portions at specified locations in one or more pages of the web application based at least in part on the configuration information in the first and second metadata.

15. The computer program product of claim 14 wherein a given one of the plurality of web application portions comprises one of:

at least one of the one or more pages of the web application;

one or more sections of at least one of the one or more pages of the web application; and

a set of features of at least one of the one or more pages of the web application.

16. The computer program product of claim 14 wherein the configuration information in at least one of the first and second metadata for a given one of the plurality of web application portions comprises:

a name of the given web application portion;

access rights for the given web application portion;

a name of a given bundle of web application portions including the given web application portion;

one or more dependencies for external libraries not included in the given bundle of web application portions;

an injection location in at least one of the one or more pages of the web application; and

a navigation configuration for (i) dynamically loading visuals of the given web application portion in the web application, (ii) routing to the given web application portion from one or more other ones of the plurality of web application portions and (iii) routing from the given web application portion to one or more other ones of the plurality of web application portions.

17. A method comprising steps of:

receiving, from a user, a request to execute a web application, the web application utilizing a plurality of web application portions, the plurality of web application portions being configured for loading into the web application independent of one another;

sending, to two or more web application servers, at least one query for metadata associated with the plurality of web application portions, a first one of the two or more web application servers being responsible for serving to the user at least a first subset of the plurality of web application portions comprising software code written utilizing a first web application software framework, a second one of the two or more web application servers being responsible for serving to the user at least a second subset of the plurality of web application portions comprising software code written utilizing a second web application software framework, the first web application software framework comprising a first set of common libraries and application functions, the second web application software framework comprising a second set of common libraries and application functions different than the first set of common libraries and application functions;

receiving, from the first web application server, first metadata comprising configuration information for one or more of the first subset of the plurality of web application portions that the user is permitted to access;

receiving, from the second web application server, second metadata comprising configuration information for one or more of the second subset of the plurality of web application portions that the user is permitted to access; and

loading instances of one or more of the plurality of web application portions at specified locations in one or more pages of the web application based at least in part on the configuration information in the first and second metadata;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

18. The method of claim 17 wherein a given one of the plurality of web application portions comprises one of:

at least one of the one or more pages of the web application;

one or more sections of at least one of the one or more pages of the web application; and

a set of features of at least one of the one or more pages of the web application.

19. The method of claim 17 wherein the configuration information in at least one of the first and second metadata for a given one of the plurality of web application portions comprises:

a name of the given web application portion;

access rights for the given web application portion;

a name of a given bundle of web application portions including the given web application portion;

one or more dependencies for external libraries not included in the given bundle of web application portions;

an injection location in at least one of the one or more pages of the web application; and

a navigation configuration for (i) dynamically loading visuals of the given web application portion in the web application, (ii) routing to the given web application portion from one or more other ones of the plurality of web application portions and (iii) routing from the given web application portion to one or more other ones of the plurality of web application portions.

20. The apparatus of claim 1 wherein the first subset of the plurality of web application portions that utilize the first web application software framework and the second subset of the plurality of web application portions that utilize the second web application software framework are configured for loading independent of one another in a same one of the one or more pages of the web application.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) 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 CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
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 INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2020
From: AUBERT, RAPHAËL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051672/0689 →