IP Library Granted Patent US 12,355,854
Granted Patent B2
US 12,355,854 · App. 18/118,348 · Granted Jul 8, 2025

Configurable and dynamic transformation of web content

Inventors: Ajay Kapur (San Francisco, CA); Andrew Henry Farmer (San Francisco, CA); Ishan Anand (San Francisco, CA)
Assignee: DRNC HOLDINGS, INC.
H04L67/60G06F16/904H04L67/02
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 12,355,854
App. No.
18/118,348
Granted
Jul 8, 2025
Kind
B2
Abstract

In a system for dynamically transforming web content, an HTTP request is received from an Internet client. The web resource identified in the request is accessed. The content of the web resource is analyzed. Transformation instructions are applied on identified portions of the content of the web resource. Each applied transformation instruction includes logic to locate and manipulate an identified portion of the content, and at least one of the applied transformation instructions is a client-side script transformation instruction that modifies a client-side script included in the content, removes a client-side script included in the content, and/or adds a client-side script to the content. An HTTP response is rendered that includes the results of the applied transformation instructions and those portions of the content that were not manipulated by a transformation instruction. The response is then transmitted to the client.

Claims (54)

1. A method of operating an intermediary server to provide web content to clients, the method comprising:

manipulating, with the intermediary server, web content to reduce a loading time of the web content at a client, wherein the manipulating comprises:

receiving, with the intermediary server, a request from the client for first web content of the web content;

obtaining, with the intermediary server, the first web content of the web content from a server hosting the first web content, the first web content comprising first instructions;

editing, with the intermediary server, the first web content to generate edited first web content, wherein the editing the first web content comprises the intermediary server transforming at least one instruction of the first instructions in the first web content to generate second instructions that, when processed by the client, reduce the loading time of the web content at the client as compared to the first instructions; and

providing the edited first web content from the intermediary server to the client as a response to the request,

wherein transforming the at least one instruction of the first instructions in the first web content comprises:

generating the second instructions that, when processed by the client, cause the client to perform:

identifying a first link in the first web content indicating second web content of the web content,

obtaining at least some of the second web content,

loading the at least some of the second web content, and

in response to a user activating the first link to the second web content, displaying to the user the at least some of the second web content previously obtained and loaded.

2. The method of claim 1 , wherein the second instructions cause the client to obtain the at least some of the second web content without receiving a request from a user for the second web content.

3. The method of claim 1 , wherein the second instructions cause the client to identify, from among a plurality of links to other web content included within the first web content, a subset of links each indicating further web content of the web content, and to perform the obtaining and loading for each further web content indicated by each link of the subset of links.

4. The method of claim 3 , wherein the second instructions cause the client to identify the subset of links, of the plurality of links included within the first web content, by identifying links the user is likely to select.

5. The method of claim 1 , wherein the second web content comprises an HTML page.

6. At least one non-transitory computer-readable storage medium having encoded thereon executable instructions that, when executed by at least one processor, cause the at least one processor to carry out a method of operating an intermediary server to provide web content to clients, the method comprising:

manipulating, with the intermediary server, web content to reduce a loading time of the web content at a client, wherein the manipulating comprises:

receiving, with the intermediary server, a request from the client for first web content of the web content;

obtaining, with the intermediary server, the first web content of the web content from a server hosting the first web content, the first web content comprising first instructions;

editing, with the intermediary server, the first web content to generate edited first web content, wherein the editing the first web content comprises the intermediary server transforming at least one instruction of the first instructions in the first web content to generate second instructions that, when processed by the client, reduce the loading time of the web content at the client as compared to the first instructions; and

providing the edited first web content from the intermediary server to the client as a response to the request,

wherein:

editing the first web content further comprises removing some web content of the first web content; and

the second instructions, when processed by the client, cause the client to obtain and load the some web content following loading of the first web content.

7. The at least one non-transitory computer-readable storage medium of claim 6 , wherein the second instructions that cause the client to obtain and load the some web content following loading of the first web content further cause the client to obtain and load the some web content in response to completing loading of the edited first web content.

8. The at least one non-transitory computer-readable storage medium of claim 6 , wherein the second instructions that cause the client to obtain and load the some web content following loading of the first web content further cause the client to obtain and load the some web content in response to the client being operated to display a portion of the first web content that corresponds to the some web content that was removed.

9. The at least one non-transitory computer-readable storage medium of claim 6 , wherein:

the first web content comprises an HTML document including a link to a separate web content file;

editing the first web content comprises removing from the HTML document the link to the separate web content file; and

editing the first web content comprises injecting into the HTML document at least some instructions included within the separate web content file.

10. The at least one non-transitory computer-readable storage medium of claim 9 , wherein:

the separate web content file comprises formatting instructions to affect display on the client of content described in the HTML document; and

injecting into the HTML document the at least some instructions included within the separate web content file comprises injecting the formatting instructions into the HTML document.

11. The at least one non-transitory computer-readable storage medium of claim 9 , wherein:

the separate web content file comprises script instructions for execution by the client; and

injecting into the HTML document the at least some instructions included within the separate web content file comprises injecting at least some of the script instructions into the HTML document.

12. An apparatus comprising:

at least one processor; and

at least one computer-readable storage medium having encoded thereon executable instructions that, when executed by the at least one processor, cause the at least one processor to carry out a method of operating an intermediary server to provide web content to clients, the method comprising:

manipulating, with the intermediary server, web content to reduce a loading time of the web content at a client, wherein the manipulating comprises:

receiving, with the intermediary server, a request from the client for first web content of the web content;

obtaining, with the intermediary server, the first web content of the web content from a server hosting the first web content, the first web content comprising first instructions;

editing, with the intermediary server, the first web content to generate edited first web content, wherein the editing the first web content comprises the intermediary server transforming at least one instruction of the first instructions in the first web content to generate second instructions that, when processed by the client, reduce the loading time of the web content at the client as compared to the first instructions; and

providing the edited first web content from the intermediary server to the client as a response to the request,

wherein:

the first web content comprises an HTML document; and

editing the first web content comprises removing at least one of the first instructions from the HTML document.

13. The apparatus of claim 12 , wherein removing at least one of the first instructions from the HTML document comprises removing an attribute from an element of the HTML document.

14. The apparatus of claim 12 , wherein editing the first web content comprises injecting at least one of the second instructions into a different part of the HTML document from which the at least one of the first instructions was removed.

15. The apparatus of claim 12 , wherein editing the first web content comprises injecting at least one of the second instructions describing an object that, when displayed by the client, obscures display of other content of the first web content.

16. The apparatus of claim 12 , wherein:

the first web content comprises a first file having a first file size; and

transforming the at least one instruction of the first instructions comprises replacing a reference to the first file with a reference to a second file having a second file size, the second file size being less than the first file size.

Assignments (11)
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0406] Recorded Jul 9, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: UPLYNK, INC. (F/K/A EDGIO, INC.)
Reel/Frame 071875/0105 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0212] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071817/0877 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 068763/0276] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071818/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2025
From: EDGIO, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 069800/0653 →
PATENT SECURITY AGREEMENT Recorded Aug 23, 2024
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 068763/0276 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065597/0406 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 065597/0212 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 063151 FRAME 0313. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 3, 2023
From: KAPUR, AJAY; FARMER, ANDREW HENRY; ANAND, ISHAN
To: MOOV CORPORATION
Reel/Frame 063239/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2023
From: MOJO MERGER SUB, LLC
To: EDGIO, INC.
Reel/Frame 063151/0988 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2023
From: KAPUR, AJAY; FARMER, ANDREW HENRY; ANAND, ISHAN
To: EDGIO, INC.
Reel/Frame 063151/0313 →
MERGER Recorded Mar 29, 2023
From: MOOV CORPORATION
To: MOJO MERGER SUB, LLC
Reel/Frame 063151/0814 →