IP Library Granted Patent US 9,232,021
Granted Patent B2
US 9,232,021 · App. 13/857,093 · Granted Jan 5, 2016

Dynamically rehosting web content

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 9,232,021
App. No.
13/857,093
Granted
Jan 5, 2016
Kind
B2
Abstract

Dynamically rehosting at least one or more elements of a first resource originally hosted at an origin server. A dynamic web content transformation server receives a first HTTP request from an Internet client for the first resource that includes a value in a host header field that refers to the dynamic web content transformation server. The content transformation server transforms the first HTTP request including changing the value in the host header field to refer to the origin server, and transmits the transformed HTTP request to the origin server. The content transformation server receives an HTTP response from the origin server that includes the first resource that includes a client-side script that, when executed by the Internet client, makes a second HTTP request for a second resource hosted at the origin server. The content transformation server automatically transforms the HTTP response such that the client-side script, when executed by the Internet client, makes the second HTTP request for the second resource at the dynamic web content transformation server, and the content transformation server transmits the transformed HTTP response to the Internet client.

Claims (46)

1. A method in a dynamic web content transformation server for dynamically rehosting at least one or more elements of a first resource originally hosted at an origin server, the method comprising:

receiving a first HTTP request from an Internet client for the first resource, wherein the first HTTP request includes a value in a host header field that refers to the dynamic web content transformation server;

transforming the first HTTP request including changing the value in the host header field to refer to the origin server;

transmitting the transformed HTTP request to the origin server;

receiving an HTTP response from the origin server that includes the first resource, wherein the HTTP response includes a Set-Cookie header that includes a domain value that refers to the origin server;

automatically transforming the HTTP response including transforming the domain value in the Set-Cookie header to refer to the dynamic web content transformation server; and

transmitting the transformed HTTP response to the Internet client.

2. The method of claim 1 , wherein the first resource includes a client-side script, and wherein automatically transforming the HTTP response includes overriding one or more native operations of the client-side script with one or more new operations that, when executed by the Internet client, dynamically rewrites one or more URLs specified by the client-side script to refer to the dynamic web content transformation server instead of the origin server.

3. The method of claim 1 , wherein the HTTP response further includes one or more URLs identified by one or more of: an action attribute of a <FORM> element, an href attribute of an <A> element, an href attribute of a <LINK> element, and a src attribute of an <IMG> element; and wherein automatically transforming the HTTP response includes performing the following for each of the one or more URLs:

determining whether that URL is to refer to one of the origin server and the dynamic web content transformation server;

responsive to determining that the URL is to refer to the origin server and is a relative URL, transforming the relative URL to refer to the origin server; and

responsive to determining that the URL is to refer to the dynamic web content transformation server and is an absolute URL that references the origin server, transforming the absolute URL to refer to the dynamic web content transformation server.

4. The method of claim 3 , wherein determining whether that URL is to refer to one of the origin server and the dynamic web content transformation server includes accessing a transformation instruction that is associated with the element identifying the URL, the transformation instruction identifying whether the URL is to refer to one of the origin server and the dynamic web content transformation server.

5. The method of claim 4 , wherein the transformation instruction is configured by an operator of the dynamic web content transformation server.

6. A non-transitory computer-readable storage medium of a dynamic web content transformation server that provides instructions that, when executed by a processor of the dynamic web content transformation server, will cause said processor to perform operations for dynamically rehosting at least one or more elements of a first resource originally hosted at an origin server comprising:

receiving a first HTTP request from an Internet client for the first resource, wherein the first HTTP request includes a value in a host header field that refers to the dynamic web content transformation server;

transforming the first HTTP request including changing the value in the host header field to refer to the origin server;

transmitting the transformed HTTP request to the origin server;

receiving an HTTP response from the origin server that includes the first resource, wherein the HTTP response includes a Set-Cookie header that includes a domain value that refers to the origin server;

automatically transforming the HTTP response including transforming the domain value in the Set-Cookie header to refer to the dynamic web content transformation server; and

transmitting the transformed HTTP response to the Internet client.

7. The non-transitory computer-readable storage medium of claim 6 , wherein the first resource includes a client-side script, and wherein automatically transforming the HTTP response includes overriding one or more native operations of the client-side script with one or more new operations that, when executed by the Internet client, dynamically rewrites one or more URLs specified by the client-side script to refer to the dynamic web content transformation server instead of the origin server.

8. The non-transitory computer-readable storage medium of claim 6 , wherein the HTTP response further includes one or more URLs identified by one or more of: an action attribute of a <FORM> element, an href attribute of an <A> element, an href attribute of a <LINK> element, and a src attribute of an <IMG> element; and wherein automatically transforming the HTTP response includes performing the following for each of the one or more URLs:

determining whether that URL is to refer to one of the origin server and the dynamic web content transformation server;

responsive to determining that the URL is to refer to the origin server and is a relative URL, transforming the relative URL to refer to the origin server; and

responsive to determining that the URL is to refer to the dynamic web content transformation server and is an absolute URL that references the origin server, transforming the absolute URL to refer to the dynamic web content transformation server.

9. The non-transitory computer-readable storage medium of claim 8 , wherein determining whether that URL is to refer to one of the origin server and the dynamic web content transformation server includes accessing a transformation instruction that is associated with the element identifying the URL, the transformation instruction identifying whether the URL is to refer to one of the origin server and the dynamic web content transformation server.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the transformation instruction is configured by an operator of the dynamic web content transformation server.

11. A dynamic web content transformation server for dynamically rehosting at least part of one or more websites, the dynamic web content transformation server comprising:

a request module to perform the following:

receive an HTTP request from an Internet client for a first resource originally hosted at an origin server,

transform each HTTP request that is received by changing a value in a host header field of that HTTP request such that it refers to the origin server, and

cause the transformed HTTP request to be transmitted to the origin server; and

a response module to perform the following:

receive an HTTP response from the origin server that includes the first resource, wherein the HTTP response includes a Set-Cookie header that includes a domain value that refers to the origin server, and

automatically transform the HTTP response including transforming the domain value in the Set-Cookie header to refer to the dynamic web content transformation server, and

cause the transformed HTTP response to the Internet client.

12. The dynamic web content transformation server of claim 11 , wherein the first resource includes a client-side script, and wherein automatically transform the HTTP response includes the response module to override one or more native operations of the client-side script with one or more new operations that, when executed by the Internet client, dynamically rewrites one or more URLs specified by the client-side script to refer to the dynamic web content transformation server instead of the origin server.

13. The dynamic web content transformation server of claim 11 , wherein the HTTP response further includes one or more URLs identified by one or more of: an action attribute of a <FORM> element, an href attribute of an <A> element, an href attribute of a <LINK> element, and a src attribute of an <IMG> element; and wherein automatically transform the HTTP response includes the response module to perform the following for each of the one or more URLs:

determine whether that URL is to refer to one of the origin server and the dynamic web content transformation server;

responsive to a determination that the URL is to refer to the origin server and is a relative URL, transform the relative URL to refer to the origin server; and

responsive to a determination that the URL is to refer to the dynamic web content transformation server and is an absolute URL that references the origin server, transform the absolute URL to refer to the dynamic web content transformation server.

14. The dynamic web content transformation server of claim 13 , wherein the response module is to access a transformation instruction for each URL that identifies whether that URL is to refer to one of the origin server and the dynamic web content transformation server to determine whether that URL is to refer to one of the origin server and the dynamic web content transformation server.

15. The method of claim 1 , wherein the first resource includes a client-side script that, when executed by the Internet client, makes a second HTTP request for a second resource hosted at the origin server, and wherein automatically transforming the HTTP response further includes transforming the HTTP response such that the client-side script, when executed by the Internet client, makes the second HTTP request for the second resource at the dynamic web content transformation server instead of the origin server.

16. The non-transitory computer-readable storage medium of claim 6 , wherein the first resource includes a client-side script that, when executed by the Internet client, makes a second HTTP request for a second resource hosted at the origin server, and wherein automatically transforming the HTTP response further includes transforming the HTTP response such that the client-side script, when executed by the Internet client, makes the second HTTP request for the second resource at the dynamic web content transformation server instead of the origin server.

17. The dynamic web content transformation server of claim 11 , wherein the first resource includes a client-side script that, when executed by the Internet client, makes a second HTTP request for a second resource hosted at the origin server, and wherein the response module is further to transform the HTTP response such that the client-side script, when executed by the Internet client, makes the second HTTP request for the second resource at the dynamic web content transformation server instead of the origin server.

Assignments (10)
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 30, 2025
From: EDGIO, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 070071/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2024
From: MOJO MERGER SUB, LLC
To: EDGIO, INC.
Reel/Frame 069276/0781 →
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: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 065597/0212 →
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 →
MERGER Recorded Oct 31, 2022
From: MOOV CORPORATION
To: MOJO MERGER SUB, LLC
Reel/Frame 061595/0605 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: KAPUR, AJAY; FARMER, ANDREW HENRY; ANAND, ISHAN
To: MOOV CORPORATION
Reel/Frame 061497/0928 →