IP Library Granted Patent US 8,438,312
Granted Patent B2
US 8,438,312 · App. 12/911,687 · Granted May 7, 2013

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 8,438,312
App. No.
12/911,687
Granted
May 7, 2013
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 (53)

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 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;

automatically 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; and

transmitting the transformed HTTP response to the Internet client.

2. The method of claim 1 , wherein automatically transforming the HTTP response includes overriding the native operations of the client-side script with 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. The method of claim 1 , wherein automatically transforming the HTTP response further includes,

responsive to determining that the HTTP response includes a Set-Cookie header, transforming a cookie domain value in the Set-Cookie header to refer to the dynamic web content transformation server.

7. The method of claim 1 , wherein transforming the first HTTP request further includes, responsive to determining that the first HTTP request includes a cookie that has a cookie domain value that refers to the dynamic rehosting sever, modifying that cookie domain value to refer to the origin server.

8. 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 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;

automatically 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; and

transmitting the transformed HTTP response to the Internet client.

9. The non-transitory computer-readable storage medium of claim 8 , wherein automatically transforming the HTTP response includes overriding the native operations of the client-side script with 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.

10. The non-transitory computer-readable storage medium of claim 8 , 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.

11. The non-transitory computer-readable storage medium of claim 10 , 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.

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

13. The non-transitory computer-readable storage medium of claim 8 , wherein automatically transforming the HTTP response further includes,

responsive to determining that the HTTP response includes a Set-Cookie header, transforming a cookie domain value in the Set-Cookie header to refer to the dynamic web content transformation server.

14. The non-transitory computer-readable storage medium of claim 8 , wherein transforming the first HTTP request further includes, responsive to determining that the first HTTP request includes a cookie that has a cookie domain value that refers to the dynamic rehosting sever, modifying that cookie domain value to refer to the origin server.

15. 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 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

automatically 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, and

cause the transformed HTTP response to the Internet client.

16. The dynamic web content transformation server of claim 15 , wherein automatically transform the HTTP response includes the response module to override the native operations of the client-side script with 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.

17. The dynamic web content transformation server of claim 15 , 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.

18. The dynamic web content transformation server of claim 17 , 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.

19. The dynamic web content transformation server of claim 18 , wherein each transformation instruction is configured by an operator of the dynamic web content transformation server.

20. The dynamic web content transformation server of claim 15 , wherein the response module is further to perform the following:

determine whether the HTTP response includes a Set-Cookie header; and

responsive to a determination that the HTTP response includes a Set-Cookie header, transform a cookie domain value in the Set-Cookie header to refer to the dynamic web content transformation 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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2022
From: MOJO MERGER SUB, LLC
To: EDGIO, INC.
Reel/Frame 061595/0612 →
MERGER Recorded Oct 21, 2022
From: MOOV CORPORATION
To: MOJO MERGER SUB, LLC
Reel/Frame 061497/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2010
From: KAPUR, AJAY; FARMER, ANDREW HENRY; ANAND, ISHAN
To: MOOV CORPORATION
Reel/Frame 025221/0164 →