IP Library Granted Patent US 8,745,239
Granted Patent B2
US 8,745,239 · App. 13/441,812 · Granted Jun 3, 2014

Edge-based resource spin-up for cloud computing

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,745,239
App. No.
13/441,812
Granted
Jun 3, 2014
Kind
B2
Abstract

Aspects of the present invention include distributing new resources closer to end-users which are making increased demands by spinning-up additional virtualized instances (as part of a cloud provisioning) within servers that are physically near to the network equipment (i.e., web servers, switches, routers, load balancers) that are receiving the requests.

Claims (27)

1. A method of virtualizing request-responding resources, the method comprising:

determining an edge server from a plurality of edge servers within a cloud to use to communicate with an end-user device based on an efficiency threshold, wherein: the edge server is within a first point of presence (POP) of a plurality of POPs: the plurality of POPs are part of a content delivery network˜ and the plurality of POPs are distributed geographically; receiving, at the determined edge server, a routed service request from the end-user device, wherein the service request includes identification information; based at least partly on the identification information, determining an application used to process the service request; forwarding the service request to a functioning compute platform operating over a network in communication with the determined edge server, wherein: the compute platform contains instructions for running a plurality of applications; the plurality of applications comprise the application; and the plurality of applications are not running on the compute platform before the service request from the end-user device is received; based at least partly on the identification information, identifying a version of requested service from amongst a plurality of versions after receiving the service request, wherein each of the plurality of versions is created prior to receiving any request for the content object; instantiating, at the compute platform, a virtual container, wherein the virtual container includes one or more resources and the application used to process the service request, wherein the instantiating occurs after the service request from the end-user device is received and includes the functionality of the identified version; and responding, by the virtual container via the edge server, to the service request from the end-user device.

2. The method of implementing edge-based cloud computing of claim 1 , further comprising determining that one or more containers are running the application used to process the service request.

3. The method of implementing edge-based cloud computing of claim 1 , wherein the service request comprises one or more of: an application request, a data request, or a file request.

4. The method of implementing edge-based cloud computing of claim 1 , wherein the identification information comprises one or more of: a media tag identifier, an application identifier, a source identifier, a data tag identifier, or an application accessible cookie.

5. The method of implementing edge-based cloud computing of claim 1 , wherein the version of the requested service is identified based on different encoding profiles associated with the plurality of versions.

6. The method of implementing edge-based cloud computing of claim 5 , wherein the encoding profiles are related to capabilities of end-user devices.

7. A method of responding to content-object requests, the method comprising:

determining an edge server from a plurality of edge servers to use to communicate with an end-user device based on an efficiency threshold, wherein: the edge server is within a first point of presence (POP) of a plurality of POPs; the plurality of POPs are part of a content delivery network; and the plurality of POPs are distributed geographically; receiving, at the determined edge server, a routed request for a content object from the end-user device, wherein the routed request includes identification information associated with the routed request for the content object and wherein the routed request further comprises a network identifier; identifying a plurality of versions of the content object based on the network identifier, each version of the content object having a corresponding encoding profile in a set of encoding profiles; based at least partly on the encoding profiles and the identification information, identifying a version of the content object from amongst the plurality of versions of the content object after receiving the routed request, wherein each of the plurality of versions is created prior to receiving any request for the content object; based at least partly on the identification information, determining an application used to process the routed request; forwarding the routed request to a functioning compute platform operating over a network in communication with the determined edge server, wherein: the compute platform contains instructions for running a plurality of applications; the plurality of applications comprise the application; and the plurality of applications are not running on the compute platform before the routed request from the end-user device is received; instantiating, at the compute platform, a virtual container, wherein the virtual container includes one or more resources and the application used to process the routed request, and wherein the virtual container is instantiated after the routed request from the end-user device is received; and responding to the routed request from the end-user device for the content object wherein the response is by the virtual container via the edge server.

8. The method of responding to content-object requests of claim 7 , wherein the plurality of versions of the content object were created prior to receiving any request for the content object.

9. The method of responding to content-object requests of claim 7 , wherein the container comprises one or more allocated resources, wherein the one or more allocated resources include one or more of: CPU resources, memory resources storage resources, or network resources.

10. The method of responding to content-object requests of claim 7 , wherein each encoding profile in the set of encoding profiles comprises a plurality of encoding parameters including a bitrate, a frame size, and a media format.

11. The method of responding to content-object requests of claim 7 wherein each encoding profile in the set of encoding profiles comprises a plurality of encoding parameters, which are related to end-user device capabilities.

12. The method of responding to content-object requests of claim 7 , wherein the identification information comprises at least one identifier of the end-user device, the at least one identifier comprises a hardware identifier, a software identifier, or a network connection of the end user-device, when the at least one identifier comprises a hardware identifier, the method further comprises:

determining a display capability of the end-user device at the policy server based on the hardware identifier; and

identifying the version of the content object based on the determined display capability.

13. The method of responding to content-object requests of claim 7 , wherein the identification information comprises at least one identifier of the end user-device, the at least one identifier comprises a hardware identifier, a software identifier, or a network connection of the end-user device, when the at least one identifier comprises a hardware identifier, the method further comprises:

determining a bandwidth capability of the end user-device based on the network connection; and

identifying the version of the content object based on the bandwidth capability.

14. A non-transitory computer-readable medium having sets of instructions stored thereon which, when executed by a computer, cause the computer to:

determine an edge server from a plurality of edge servers to use to communicate with an end-user device, wherein: the edge server is within a first point of presence (POP) of a plurality of POPs; the plurality of POPs are part of a content delivery network; and the plurality of POPs are distributed geographically; receive, at the determined edge server, a request for a content object from the end- user device, wherein the request includes a network identifier and request information; based at least partly on the request information, determine device capabilities of the end-user device; based at least partly on the network identifier, identify a plurality of versions of the content object, the plurality of versions of the content object having been created prior to receiving any request for the content object, each version of the plurality of versions of the content object having a corresponding encoding profile in a set of encoding profiles, wherein each of the plurality of versions is created prior to receiving any request for the content object; determine an application used to process the request; forward the request to a functioning compute platform operating over a network in communication with the determined edge server, wherein: the compute platform contains instructions for running a plurality of applications; the plurality of applications comprise the application; and the plurality of applications are not running on the compute platform before the request from the end-user device is received; instantiate, at the compute platform, a virtual container, wherein the virtual container includes one or more resources and the application used to process the request, and wherein the virtual container is instantiated after the request from the end-user device is received and includes the functionality of the identified version; and respond, via the edge server, to the request for the content from the end-user device.

15. The computer-readable medium of claim 14 , wherein the container comprises one or more allocated resources, wherein the one or more allocated resources include one or more of: CPU resources, memory resources storage resources, or network resources.

16. The computer-readable medium of claim 14 , wherein the sets of instructions stored thereon, when executed by the computer, further cause the computer to:

determine a delivery orchestration scheme based on the determined end-user device capabilities; and

send the selected version of the content object to the end-user device using the determined delivery orchestration scheme.

17. The computer-readable medium of claim 14 , wherein the request information comprises at least one of device identifiers, usage statistics, cookies, or user preferences associated with the end-user device.

18. The computer-readable medium of claim 14 , wherein each encoding profile in the set of encoding profiles comprises a plurality of encoding parameters including a bitrate, a frame size, and a media format.

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 Apr 10, 2012
From: THIBEAULT, JASON; COBB, JONATHAN; ROWLEY, DAVID; ANDERSON, SCOTT; MAHYARI, ABBAS; DOLGOV, NIKITA; RIVAS, CARL
To: LIMELIGHT NETWORKS, INC.
Reel/Frame 028018/0072 →