IP Library › Granted Patent US 11,514,129
Granted Patent B1
US 11,514,129 · App. 17/069,173 · Granted Nov 29, 2022

Customizable redaptor extensions for single-page web applications

Inventors: Deon Anthony Pillsbury (Apex, NC); Felipe de Mello (Holly Springs, NC); David C. White, Jr. (St. Petersburg, FL); Necati Cehreli (Elewijt, BE)
Assignee: CISCO TECHNOLOGY, INC.
G06F16/9574G06F8/61G06F9/44521G06F9/44526G06F16/986G06F40/103H04L67/025H04L67/34H04L67/75
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,514,129
App. No.
17/069,173
Granted
Nov 29, 2022
Kind
B1
Abstract

A method, computer system, and computer program product are provided for modifying a web application at runtime. A single-page web application is loaded by a web browser of a client, wherein the single-page web application exchanges data between the client and a server. An extension for the single-page web application is obtained. The extension is applied to the single-page web application, wherein applying the extension adds a new feature, or modifies an existing feature, of the single-page web application without reloading the single-page web application.

Claims (35)

1. A computer-implemented method comprising:

loading, by a web browser of a client, a single-page web application, wherein the single-page web application exchanges data between the client and a server;

obtaining an extension for the single-page web application;

in response to enabling the extension, applying the extension to the single-page web application, wherein applying the extension adds a new feature, or modifies an existing feature, of the single-page web application by dynamically rewriting the single-page web application without reloading the single-page web application, wherein the extension is automatically implemented on one or more other devices and/or browsers of a user; and

in response to disabling the extension, reverting the applying of the extension to the single-page web application by dynamically rewriting the single-page web application without reloading the single-page web application.

2. The computer-implemented method of claim 1 , wherein obtaining the extension is based on a user setting, and is performed automatically in response to loading the single-page web application.

3. The computer-implemented method of claim 1 , wherein obtaining the extension comprises obtaining the extension from the server that exchanges data with the client, or from another server.

4. The computer-implemented method of claim 1 , wherein the extension includes JAVASCRIPT™ code, and wherein applying the extension to the single-page web application comprises injecting the JAVASCRIPT™ code into the single-page web application at runtime.

5. The computer-implemented method of claim 1 , wherein applying the extension adds a new hypertext markup language (HTML) Document Object Model (DOM) node into the single-page web application.

6. The computer-implemented method of claim 1 , wherein the single-page web application comprises one or more anchor elements, and wherein applying the extension comprises injecting code of the extension into the one or more anchor elements.

7. The computer-implemented method of claim 1 , wherein applying comprises adding the new feature by adding a new user interface element.

8. The computer-implemented method of claim 1 , wherein applying comprises modifying the existing feature by modifying an existing user interface element.

9. A computer system comprising:

one or more computer processors;

one or more non-transitory computer readable storage media; and

program instructions stored on the one or more non-transitory computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising instructions to:

load, by a web browser of a client, a single-page web application, wherein the single-page web application exchanges data between the client and a server;

obtain an extension for the single-page web application;

in response to enabling the extension, apply the extension to the single-page web application, wherein applying the extension adds a new feature, or modifies an existing feature, of the single-page web application by dynamically rewriting the single-page web application without reloading the single-page web application, wherein the extension is automatically implemented on one or more other devices and/or browsers of a user; and

in response to disabling the extension, revert the applying of the extension to the single-page web application by dynamically rewriting the single-page web application without reloading the single-page web application.

10. The computer system of claim 9 , wherein the obtaining the extension is based on a user setting, and is performed automatically in response to loading the single-page web application.

11. The computer system of claim 9 , wherein the instructions to obtain the extension comprise instructions to obtain the extension from the server that exchanges data with the client, or from another server.

12. The computer system of claim 9 , wherein the extension includes JAVASCRIPT™ code, and wherein the instructions to apply the extension to the single-page web application comprise instructions to inject the JAVASCRIPT™ code into the single-page web application at runtime.

13. The computer system of claim 9 , wherein the instructions to apply the extension include instructions to add a new hypertext markup language (HTML) Document Object Model (DOM) node into the single-page web application.

14. The computer system of claim 9 , wherein the single-page web application comprises one or more anchor elements, and wherein the instructions to apply the extension comprises instructions to inject code of the extension into the one or more anchor elements.

15. The computer system of claim 9 , wherein the applying comprises adding the new feature by adding a new user interface element.

16. The computer system of claim 9 , wherein applying comprises modifying the existing feature by modifying an existing user interface element.

17. A computer program product comprising one or more non-transitory computer readable storage media collectively having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:

load, by a web browser of a client, a single-page web application, wherein the single-page web application exchanges data between the client and a server;

obtain an extension for the single-page web application;

in response to enabling the extension, apply the extension to the single-page web application, wherein applying the extension adds a new feature, or modifies an existing feature, of the single-page web application by dynamically rewriting the single-page web application without reloading the single-page web application, wherein the extension is automatically implemented on one or more other devices and/or browsers of a user; and

in response to disabling the extension, reverting the applying of the extension to the single-page web application by dynamically rewriting the single-page web application without reloading the single-page web application.

18. The computer program product of claim 17 , wherein the obtaining the extension is based on a user setting, and is performed automatically in response to loading the single-page web application.

19. The computer program product of claim 17 , wherein the instructions to obtain the extension causes the computer to obtain the extension from the server that exchanges data with the client, or from another server.

20. The computer program product of claim 17 , wherein the extension includes JAVASCRIPT™ code, and wherein the instructions to apply the extension to the single-page web application comprise instructions to inject the JAVASCRIPT™ code into the single-page web application at runtime.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2020
From: PILLSBURY, DEON ANTHONY; DE MELLO, FELIPE; WHITE, DAVID C., JR.; CEHRELI, NECATI
To: CISCO TECHNOLOGY, INC.
Reel/Frame 054039/0439 →
Cited By (5)
US 12,189,519 US 12,288,024 US 12,346,653 US 12,591,351 US 12,645,343