IP Library Granted Patent US 11,995,469
Granted Patent B2
US 11,995,469 · App. 16/727,047 · Granted May 28, 2024

Method and system for preemptive caching across content delivery networks

Inventors: James Robert King (Norwood, MA); Robert Anthony Lincourt, Jr. (Franklin, MA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F9/5011G06F9/30047G06F21/31H04L9/0872H04L9/3297
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 11,995,469
App. No.
16/727,047
Granted
May 28, 2024
Kind
B2
Abstract

A method and system for preemptive caching across content delivery networks. Specifically, the disclosed method and system entail proactively seeding (or deploying) resources to edge nodes of a content delivery network based on prospective information sources such as, for example, travel itineraries, map route plans, calendar appointments, etc. Resource delivery deadlines and destinations may be derived from these prospective information sources in order to preemptively direct and cache resources near these resource delivery destinations (i.e., geo-locations) prior to or by the expected times (i.e., future point-in-times) during which a resource requestor and/or consumer is anticipated to be positioned at or within proximity to the resource delivery destinations. Through proactive seeding of resources, which may reflect content or service functionalities, reduced latency may be observed at least with respect to requesting the resources from the content delivery network.

Claims (49)

1. A method for preemptively caching resources in a system that includes an origin node operatively connected to a plurality of edge nodes, wherein the origin node maintains a resource catalog configured to track resources available on the origin node, and an edge catalog containing a plurality of catalog entries pertaining the plurality of edge nodes, comprising:

receiving, by the origin node and from a first edge node of the plurality of edge nodes, a first preemptive caching request comprising a first resource retrieval object, a first resource delivery deadline, and a first resource delivery destination, wherein the first resource delivery deadline and the first resource delivery destination are derived from prospective information for a user obtained from a portable end device, wherein the prospective information comprises at least one of a map route plan, travel itineraries and calendar appointments;

performing a first lookup on the resource catalog using at least a portion of the first resource retrieval object to identify a first resource catalog entry for a first resource, wherein the first resource catalog entry specifies minimum capability requirements needed to cache the first resource;

performing a second lookup on the edge catalog on the origin node using the first resource delivery destination to identify an edge catalog entry for a second edge node;

retrieving, using the edge catalog entry, a cached resource record for the second edge node from the origin node;

making a first determination, using the cached resource record, that the first resource is not cached on the second edge node;

in response to the first determination, obtaining, using the cached resource record, an on-site capability record for the second edge node from the origin node;

making a second determination, based on the on-site capability record, that the second edge node comprises edge resources satisfying the minimum capability requirements for the first resource;

in response to the second determination, generating a resource transfer object, wherein generating the resource transfer object comprises:

obtaining the first resource,

making a third determination to apply additional processing to the first resource to generate a processed first resource, wherein the third determination is made based on an amount of time required to apply the additional processing and the first resource delivery deadline, wherein the additional processing is at least one of compression or deduplication, and

generating the resource transfer object using the processed first resource; and

deploying the resource transfer object, to preemptively cache, the first resource onto the second edge node prior to the first resource delivery deadline, wherein the second edge node is located within a proximity threshold of an expected geo-location during the first resource delivery deadline, wherein the expected geo-location is on the map route plan, wherein the portable end device is not located at the expected geo-location when the origin node receives the first preemptive caching request, and wherein the portable end device follows the map route plan to the expected geo-location,

wherein the first resource retrieval object comprises a service identifier associated with a service providing at least the first resource, and a resource identifier associated with the first resource,

wherein at least the portion of the first resource retrieval object used to identify the first resource comprises the resource identifier,

wherein the user uses the portable end device to access the first resource via the second edge node at the expected geo-location.

2. The method of claim 1 , wherein the first resource retrieval object further comprises a user identifier associated with the user, and user access credentials for authenticating the user.

3. The method of claim 1 , wherein the first resource delivery deadline reflects a timestamp encoding a future point-in-time.

4. The method of claim 1 , wherein the first resource comprises one selected from a group consisting of content and a service functionality.

5. The method of claim 1 , wherein the second lookup further identifies a third edge node, wherein the first resource is further deployed onto the third edge node to preemptively cache the first resource thereon prior to the first resource delivery deadline.

6. The method of claim 1 , further comprising:

receiving, from the first edge node, a second preemptive caching request comprising a second resource retrieval object, the first resource delivery deadline, and the first resource delivery destination;

performing a third lookup on the resource catalog using at least a portion of the second resource retrieval object to identify a second resource; and

deploying, to preemptively cache, the second resource onto the second edge node prior to the first resource delivery deadline.

7. The method of claim 1 , further comprising:

receiving, from the first edge node, a second preemptive caching request comprising a second resource retrieval object, a second resource delivery deadline, and a second resource delivery destination;

performing a third lookup on the resource catalog using at least a portion of the second resource retrieval object to identify a second resource;

performing a fourth lookup on the edge catalog using the second resource delivery destination to identify one selected from a group consisting of the second edge node and a third edge node; and

deploying, to preemptively cache, the second resource onto one selected from the group consisting of the second edge node and the third edge node prior to the second resource delivery deadline.

8. A non-transitory computer-readable medium (CRM) comprising computer readable program code for preemptively caching resources in a system that includes an origin node operatively connected to a plurality of edge nodes, wherein the origin node maintains a resource catalog configured to track resources available on the origin node, and an edge catalog containing a plurality of catalog entries pertaining the plurality of edge nodes, which when executed by a computer processor, enables the computer processor to:

receive, by the origin node and from a first edge node of the plurality of nodes, a first preemptive caching request comprising a first resource retrieval object, a first resource delivery deadline, and a first resource delivery destination, wherein the first resource delivery deadline and the first resource delivery destination are derived from prospective information for a user obtained from a portable end device, wherein the prospective information comprises at least one of a map route plan, travel itineraries and calendar appointments;

perform a first lookup on the resource catalog using at least a portion of the first resource retrieval object to identify a first resource catalog entry for a first resource, wherein the first resource catalog entry specifies minimum capability requirements needed to cache the first resource;

perform a second lookup on the edge catalog on the origin node using the first resource delivery destination to identify an edge catalog entry for a second edge node;

retrieve, using the edge catalog entry, a cached resource record for the second edge node from the origin node;

make a first determination, using the cached resource record, that the first resource is not cached on the second edge node;

in response to the first determination, obtain, using the cached resource record, an on-site capability record for the second edge node from the origin node;

make a second determination, based on the on-site capability record, that the second edge node comprises edge resources satisfying the minimum capability requirements for the first resource;

in response to the second determination, generate a resource transfer object, wherein generating the resource transfer object comprises:

obtaining the first resource,

making a third determination to apply additional processing to the first resource to generate a processed first resource, wherein the third determination is made based on an amount of time required to apply the additional processing and the first resource delivery deadline, wherein the additional processing is at least one of compression or deduplication, and

generating the resource transfer object using the processed first resource; and

deploy the resource transfer object, to preemptively cache, the first resource onto the second edge node prior to the first resource delivery deadline, wherein the second edge node is located within a proximity threshold of an expected geo-location during the first resource delivery deadline, wherein the expected geo-location is on the map route plan, wherein the portable end device is not located at the expected geo-location when the origin node receives the first preemptive caching request, and wherein the portable end device follows the map route plan to the expected geo-location,

wherein the first resource retrieval object comprises a service identifier associated with a service providing at least the first resource, and a resource identifier associated with the first resource,

wherein at least the portion of the first resource retrieval object used to identify the first resource comprises the resource identifier,

wherein the user uses the portable end device to access the first resource via the second edge node at the expected geo-location.

9. The non-transitory CRM of claim 8 , wherein the first resource retrieval object further comprises a user identifier associated with the user, and user access credentials for authenticating the user.

10. The non-transitory CRM of claim 8 , wherein the first resource delivery deadline reflects a timestamp encoding a future point-in-time.

11. The non-transitory CRM of claim 8 , wherein the first resource comprises one selected from a group consisting of content and a service functionality.

12. The non-transitory CRM of claim 8 , wherein the second lookup further identifies a third edge node, wherein the first resource is further deployed onto the third edge node to preemptively cache the first resource thereon prior to the first resource delivery deadline.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2020
From: KING, JAMES ROBERT; LINCOURT JR., ROBERT ANTHONY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051916/0207 →