IP Library Granted Patent US 9,069,720
Granted Patent B2
US 9,069,720 · App. 13/732,616 · Granted Jun 30, 2015

Partial object caching

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,069,720
App. No.
13/732,616
Granted
Jun 30, 2015
Kind
B2
Abstract

A method of providing media at multiple bit rates using partial object caching may include receiving, from a first user device, a first request for a media object encoded at a first bit rate; providing the first portion of the media object to the first user device; and caching, in a partial object cache, the first portion of the media object. The method may additionally include receiving, from a second user device, a subsequent request for the media object encoded at the first bit rate; providing the first portion of the media object as retrieved from the partial object cache; and receiving a request for the media object encoded at a second bit rate. The method may further include modifying the request for the media object encoded at the second bit rate to instead request a second portion of the media object at the second bit rate.

Claims (56)

1. A method of providing media at multiple bit rates using partial object caching, the method comprising:

receiving, at a content delivery network (CDN) from a first user device, a first request for a media object encoded at a first bit rate;

retrieving a first portion of the media object from a CDN server, wherein the first portion of the media object is encoded at the first bitrate;

providing the first portion of the media object to the first user device;

caching, in a partial object cache, the first portion of the media object;

receiving, at the CDN from a second user device, a subsequent request for the media object encoded at the first bit rate;

providing the first portion of the media object to the second user device, wherein the first portion of the media object is retrieved from the partial object cache;

receiving, from the second user device during playback of the first portion of the media object, a request for the media object encoded at a second bit rate; and

modifying the request for the media object encoded at the second bit rate to instead request a second portion of the media object at the second bit rate, wherein the second portion of the media object follows the first portion of the media object during playback on the second user device.

2. The method of providing media at multiple bit rates using partial object caching of claim 1 , wherein the media object is chunked by the CDN server to generate chunks of the media object, and wherein the first portion of the media object and the second portion of the media object represent portions of the media object having sizes smaller than a size of the chunks of the media object.

3. The method of providing media at multiple bit rates using partial object caching of claim 1 , wherein the first portion of the media object and the second portion of the media object represent chunks of the media object, wherein the media object is chunked by the CDN server.

4. The method of providing media at multiple bit rates using partial object caching of claim 1 , wherein the media object comprises a video file.

5. The method of providing media at multiple bit rates using partial object caching of claim 1 , wherein the media object comprises a music file.

6. The method of providing media at multiple bit rates using partial object caching of claim 1 , further comprising caching the second portion of the media object in the partial object cache.

7. The method of providing media at multiple bit rates using partial object caching of claim 6 , further comprising:

receiving, at the CDN from a third user device, a subsequent request for the media object encoded at the first bit rate;

providing the first portion of the media object to the third user device, wherein the first portion of the media object is retrieved from the partial object cache;

receiving, from the third user device during playback of the first portion of the media object, a request for the media object encoded at a second bit rate; and

providing the second portion of the media object to the third user device, wherein the second portion of the media object is retrieved from the partial object cache.

8. The method of providing media at multiple bit rates using partial object caching of claim 1 , wherein the partial object cache is located on an edge server in the CDN.

9. The method of providing media at multiple bit rates using partial object caching of claim 1 , wherein:

the partial object cache comprises a cache hierarchy; and

the cache hierarchy is configured to store the first portion of the media object and the second portion of the media object at different levels of the cache hierarchy.

10. The method of providing media at multiple bit rates using partial object caching of claim 9 , wherein each level of the cache hierarchy moves upstream to an origin of the media object.

11. An edge server in a content delivery network (CDN) for providing media at multiple bit rates using partial object caching, the edge server comprising:

one or more processors;

one or more memories having stored thereon instructions that cause the one or more processors to:

receive, from a first user device, a first request for a media object encoded at a first bit rate;

receive a first portion of the media object from a CDN server, wherein the first portion of the media object is encoded at the first bitrate;

provide the first portion of the media object to the first user device; cache, in a partial object cache, the first portion of the media object; receive, from a second user device, a subsequent request for the media

object encoded at the first bit rate;

provide the first portion of the media object to the second user device, wherein the first portion of the media object is retrieved from the partial object cache;

receive, from the second user device during playback of the first portion of the media object, a request for the media object encoded at a second bit rate; and

modify the request for the media object encoded at the second bit rate to instead request a second portion of the media object at the second bit rate, wherein the second portion of the media object follows the first portion of the media object during playback on the second user device.

12. The edge server in the CDN for providing media at multiple bit rates using partial object caching of claim 11 , wherein the media object is chunked by the CDN server to generate chunks of the media object, and wherein the first portion of the media object and the second portion of the media object represent portions of the media object having sizes smaller than a size of the chunks of the media object.

13. The edge server in the CDN for providing media at multiple bit rates using partial object caching of claim 11 , wherein the first portion of the media object and the second portion of the media object represent chunks of the media object, wherein the media object is chunked by the CDN server.

14. The edge server in the CDN for providing media at multiple bit rates using partial object caching of claim 11 , wherein the media object comprises a video file.

15. The edge server in the CDN for providing media at multiple bit rates using partial object caching of claim 11 , wherein the media object comprises a music file.

16. The edge server in the CDN for providing media at multiple bit rates using partial object caching of claim 11 , wherein the instructions further cause the one or more processors to cache the second portion of the media object in the partial object cache.

17. The edge server in the CDN for providing media at multiple bit rates using partial object caching of claim 16 , wherein the instructions further cause the one or more processors to:

receive, from a third user device, a subsequent request for the media object encoded at the first bit rate;

provide the first portion of the media object to the third user device, wherein the first portion of the media object is retrieved from the partial object cache;

receive, from the third user device, a request for the media object encoded at a second bit rate; and

provide the second portion of the media object to the third user device, wherein the second portion of the media object is retrieved from the partial object cache.

18. The edge server in the CDN for providing media at multiple bit rates using partial object caching of claim 11 , wherein:

the partial object cache comprises a cache hierarchy; and

the cache hierarchy is configured to store the first portion of the media object and the second portion of the media object at different levels of the cache hierarchy.

19. The method of providing media at multiple bit rates using partial object caching of claim 18 , wherein each level of the cache hierarchy moves upstream to an origin of the media object.

20. A method of providing media at multiple bit rates using partial object caching, the method comprising:

caching, in a partial object cache, a first portion of a media object, wherein the first portion of the media object is encoded at a first bitrate;

caching, in the partial object cache, a second portion of the media object, wherein the second portion of the media object is encoded at a second bitrate;

receiving, from a user device, a subsequent request for the media object encoded at the first bit rate;

providing the first portion of the media object to the user device, wherein the first portion of the media object is retrieved from the partial object cache;

receiving, from the user device, while first portion of the media object is being played by the user device, a request for the media object encoded at a second bit rate; and

providing the second portion of the media object to the user device, wherein the second portion of the media object is retrieved from the partial object cache;

modifying the request for the media object encoded at the second bit rate to instead request a third portion of the media object at the second bit rate, wherein the third portion of the media object follows the second portion of the media object during playback on the user device.

Assignments (8)
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 →