IP Library Granted Patent US 9,633,217
Granted Patent B2
US 9,633,217 · App. 13/945,240 · Granted Apr 25, 2017

Indiscriminate virtual containers for prioritized content-object distribution

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,633,217
App. No.
13/945,240
Granted
Apr 25, 2017
Kind
B2
Abstract

A system may be provided for dynamically serving a content file with embedded content objects over the Internet to an end user system. A content object request function may receive a request for a webpage defined by the content file, the content file comprising embedded content objects. A content-file modifier may modify the content file to inject a reporting code that instructions to generate one or more reports comprising information relating to the content objects. A report receiver may receive the reports, the reports indicating where the content objects were rendered within the webpage. An object prioritizor may prioritize the content objects based on where the content objects were rendered. A delivery controller may adapt protocols for delivering the content objects to improve access to high-priority content objects.

Claims (59)

1. A system for dynamically serving a content file with embedded or referenced content objects over the Internet to an end-user system, the system comprising:

a content object request function that receives a request, wherein:

the request is from the end-user system;

the request is for a webpage;

the webpage is defined by the content file; and

the content file comprises a plurality of content objects that are embedded or referenced by the content file;

a bandwidth predictor that predicts an available bandwidth between a container database and the end-user system;

a container generator that:

determines a number of virtual containers based, at least partially, on the available bandwidth; and

generates the number of virtual containers based on determining the number of virtual containers;

an object distributor that:

determines an object-distribution scheme for dividing the plurality of content objects among the number of virtual containers;

divides the plurality of content objects among the number of virtual containers based on the object-distribution scheme; and

stores, in the container database, the number of virtual containers with the plurality of content objects divided among the plurality of virtual containers; and

an access improver that transmits the number of virtual containers to the end-user system.

2. The system for dynamically serving the content file with embedded or referenced content objects over the Internet to the end-user system as recited in claim 1 , wherein the number of virtual containers depends on file sizes of the plurality of content objects.

3. The system for dynamically serving the content file with embedded or referenced content objects over the Internet to the end-user system as recited in claim 1 , wherein the number of virtual containers depends on a prioritization of the plurality of content objects.

4. The system for dynamically serving the content file with embedded or referenced content objects over the Internet to the end-user system as recited in claim 1 , further comprising:

a report receiver for receiving one or more reports generated in response to a reporting code, wherein:

the one or more reports indicate where a first content object of the plurality of content objects was rendered within the webpage; and

the one or more reports indicate where a second content object of the plurality of content objects was rendered within the webpage; and

an object prioritizer that prioritizes the first content object over the second content object based on the one or more reports, wherein the object-distribution scheme is based, at least partially, on prioritizing the first content object over the second content object.

5. The system for dynamically serving the content file with embedded or referenced content objects over the Internet to the end-user system as recited in claim 1 , wherein at least one virtual container of the number of virtual containers is configured to contain content objects of a plurality of types.

6. The system for dynamically serving the content file with embedded or referenced content objects over the Internet to the end-user system as recited in claim 1 , wherein at least one virtual container of the number of virtual containers is automatically transmitted to a second end-user system following a request from the second end-user system for the webpage and prior to a request from the second end-user system for a content object assigned to the at least one virtual container.

7. The system for dynamically serving the content file with embedded or referenced content objects over the Internet to the end-user system as recited in claim 1 , wherein the access improver assigns an order of transmitting the number of virtual containers to the end-user system.

8. The system for dynamically serving the content file with embedded or referenced content objects over the Internet to the end-user system as recited in claim 1 , wherein the system for dynamically serving content file is at an edge server within a content delivery network.

9. A method for dynamically serving a content file with embedded or referenced content objects over the Internet to an end-user system, the method comprising:

receiving a request from an end-user system, wherein:

the request is for a webpage;

the webpage is defined by the content file; and

the content file comprises a plurality of content objects that are embedded or referenced by the content file;

predicting an available bandwidth between a container database and the end-user system;

determining a number of virtual containers based, at least partially, on the available bandwidth; and

generating the number of virtual containers based on determining the number of virtual containers;

determining an object-distribution scheme for dividing the plurality of content objects among the number of virtual containers;

dividing the plurality of content objects among the number of virtual containers based on the object-distribution scheme; and

storing, in the container database, the number of virtual containers with the plurality of content objects divided among the plurality of virtual containers; and

transmitting the number of virtual containers to the end-user system.

10. The method for dynamically serving a content file with embedded or referenced content objects over the Internet to an end-user system as recited in claim 9 , wherein the object distributor receives prioritization information for a first content object of the plurality of content objects relative to a second content object of the plurality of content objects.

11. The method for dynamically serving a content file with embedded or referenced content objects over the Internet to an end-user system as recited in claim 9 , wherein the number of virtual containers depends on sizes of the plurality of content objects.

12. The method for dynamically serving a content file with embedded or referenced content objects over the Internet to an end-user system as recited in claim 9 , wherein at least one virtual container of the number of virtual containers includes content objects of only one type.

13. The method for dynamically serving a content file with embedded or referenced content objects over the Internet to an end-user system as recited in claim 12 , wherein the only one type is JavaScript content objects.

14. The method for dynamically serving a content file with embedded or referenced content objects over the Internet to an end-user system as recited in claim 12 , wherein the only one type is image content objects.

15. The method for dynamically serving a content file with embedded or referenced content objects over the Internet to an end-user system as recited in claim 9 , wherein at least one virtual container of the number of virtual containers is automatically transmitted to a second end-user system following a request from the second end-user system for the webpage and prior to a request from the second end-user system for the at least one virtual container.

16. A computer-memory device having instructions that when executed perform the following steps for serving a content file with embedded or referenced content objects over the Internet to an end-user system:

receive a request from an end-user system, wherein:

the request is for a webpage;

the webpage is defined by the content file; and

the content file comprises a plurality of content objects that are embedded or referenced by the content file;

determine an available bandwidth between a container database and the end-user system;

determine a number of virtual containers based, at least partially, on the available bandwidth; and

determine an object-distribution scheme for dividing the plurality of content objects among the number of virtual containers;

divide the plurality of content objects among the number of virtual containers based on the object-distribution scheme; and

store, in the container database, the number of virtual containers with the plurality of content objects divided among the plurality of virtual containers; and

transmit the number of virtual containers to the end-user system.

17. The computer-memory device having instructions for serving a content file with embedded or referenced content objects over the Internet to an end-user system as recited in claim 16 , wherein the number of virtual containers depends on sizes of the plurality of content objects.

18. The computer-memory device having instructions for serving a content file with embedded or referenced content objects over the Internet to an end-user system as recited in claim 16 , wherein at least one virtual container of the number of virtual containers is automatically transmitted to a second end-user system following a request from the second end-user system for the webpage and prior to a request from the second end-user system for content objects assigned to the at least one virtual container.

19. The computer-memory device having instructions for serving a content file with embedded or referenced content objects over the Internet to an end-user system as recited in claim 16 , wherein the number of virtual containers is one.

20. The computer-memory device having instructions for serving a content file with embedded or referenced content objects over the Internet to an end-user system as recited in claim 16 , wherein the access improver assigns an order of transmitting the number of virtual containers to the end-user system.

Assignments (9)
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 →
CHANGE OF NAME Recorded Sep 9, 2024
From: LIMELIGHT NETWORKS, INC.
To: EDGIO, INC.
Reel/Frame 068898/0281 →
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 Aug 26, 2013
From: POTEKHIN, DIMA; EHRLICH, OFIR; FAINBERG, LEONID; ALTMAN, TOMER; SHAI, GIL; GADISH, OFER
To: LIMELIGHT NETWORKS, INC.
Reel/Frame 031086/0652 →