IP Library Granted Patent US 10,853,441
Granted Patent B1
US 10,853,441 · App. 16/792,476 · Granted Dec 1, 2020

Dynamic edge cache for query-based service

Inventors: David Adolphson (Apple Valley, MN); Sean Godinez (Woodbury, MN); Praveen Kotla (Apple Valley, MN)
Assignee: BBY SOLUTIONS, INC.
G06F16/9574G06F9/547G06F16/951G06F16/972G06F40/242
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 10,853,441
App. No.
16/792,476
Granted
Dec 1, 2020
Kind
B1
Abstract

Systems and techniques for dynamic edge cache for query-based services are described herein. A request for web content may be received that includes a fine-grained application programming interface (API) call. Instructions may be generated for at least one coarse-grained API call (e.g., a full dataset) to retrieve data requested by the fine-grained API call (e.g., a data element or subset of the full dataset). A dictionary may be generated to allow the fine-grained API call to retrieve data using the at least one coarse-grained API call. The dictionary and the instructions for the coarse-grained API call may be transmitted to a content delivery server. This technique allows the content delivery server to cache a full dataset via the coarse-grained API call and service fine-grained requests from the edge-cache. This may reduce data transfer and decrease web content delivery times.

Claims (68)

1. A system for dynamic caching of query-based services, the system comprising:

at least one processor; and

memory including instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to:

receive a request for web content including a fine-grained application programming interface (API) call;

generate instructions for at least one coarse-grained API call to retrieve data requested by the fine-grained API call;

generate a dictionary to allow the fine-grained API call to retrieve data using the at least one coarse-grained API call; and

transmit the dictionary and the instructions for the coarse-grained API call to a content delivery server.

2. The system of claim 1 , wherein the instructions for the at least one coarse-grained API call are generated as a set of edge-side include directives, wherein the coarse-grained API call retrieves a set of data, and wherein the data requested by fine-grained API call is a subset of the set of data.

3. The system of claim 1 , the memory further comprising instructions that cause the at least one processor to perform operations to:

generate an edge-side include directive for the fine-grained API call that causes the content delivery server to retrieve the dictionary upon receiving a request that contains the fine-grained API call; and

transmit the edge-side include directive to the content delivery server.

4. The system of claim 1 , wherein the fine-grained API call is a query-based API call that requests a subset of data retrieved by the at least one coarse-grained API call.

5. The system of claim 1 , the memory further comprising instructions that cause the at least one processor to perform operations to:

generate a response to the fine-grained API call that includes content delivery server instructions to retrieve the dictionary, wherein the response includes a cache-control header with an expiration time; and

transmit the response to the content delivery server.

6. The system of claim 5 , the memory further comprising instructions that cause the at least one processor to perform operations to:

receive a request from the content delivery server that includes a uniform resource identifier and a source attribute included in the response;

execute the coarse-grained API call to retrieve data;

construct a second response that includes content delivery server instructions to store the data and variables for the dictionary; and

transmit the second response to the content delivery server.

7. The system of claim 6 , the memory further comprising instructions that cause the at least one processor to perform operations to:

generate cache-control directives for the content delivery server based on a domain service associated with the request; and

transmit the cache-control directives to the content delivery server.

8. The system of claim 1 , wherein the dictionary includes fields that map data elements from the fine-grained API call to data elements retrieved from the at least one coarse-grained API call.

9. At least one non-transitory machine-readable medium including instructions for dynamic caching of query-based services that, when executed by at least one processor, cause the at least one processor to perform operations to:

receive a request for web content including a fine-grained application programming interface (API) call;

generate content delivery server instructions for at least one coarse-grained API call to retrieve data requested by the fine-grained API call;

generate a dictionary to allow the fine-grained API call to retrieve data using the at least one coarse-grained API call; and

transmit the dictionary and the content delivery server instructions for the coarse-grained API call to a content delivery server.

10. The at least one non-transitory machine-readable medium of claim 9 , wherein the content delivery server instructions for the at least one coarse-grained API call are generated as a set of edge-side include directives, wherein the coarse-grained API call retrieves a set of data, and wherein the data requested by fine-grained API call is a subset of the set of data.

11. The at least one non-transitory machine-readable medium of claim 9 , further comprising instructions that cause the at least one processor to perform operations to:

generate an edge-side include directive for the fine-grained API call that causes the content delivery server to retrieve the dictionary upon receiving a request that contains the fine-grained API call; and

transmit the edge-side include directive to the content delivery server.

12. The at least one non-transitory machine-readable medium of claim 9 , wherein the fine-grained API call is a query-based API call that requests a subset of data retrieved by the at least one coarse-grained API call.

13. The at least one non-transitory machine-readable medium of claim 9 , further comprising instructions that cause the at least one processor to perform operations to:

generate a response to the fine-grained API call that includes content delivery server instructions to retrieve the dictionary, wherein the response includes a cache-control header with an expiration time; and

transmit the response to the content delivery server.

14. The at least one non-transitory machine-readable medium of claim 13 , further comprising instructions that cause the at least one processor to perform operations to:

receive a request from the content delivery server that includes a uniform resource identifier and a source attribute included in the response;

execute the coarse-grained API call to retrieve data;

construct a second response that includes content delivery server instructions to store the data and variables for the dictionary; and

transmit the second response to the content delivery server.

15. The at least one non-transitory machine-readable medium of claim 14 , further comprising instructions that cause the at least one processor to perform operations to:

generate cache-control directives for the content delivery server based on a domain service associated with the request; and

transmit the cache-control directives to the content delivery server.

16. The at least one non-transitory machine-readable medium of claim 9 , wherein the dictionary includes fields that map data elements from the fine-grained API call to data elements retrieved from the at least one coarse-grained API call.

17. A method for dynamic caching of query-based services, the method comprising:

receiving a request for web content including a fine-grained application programming interface (API) call;

generating instructions for at least one coarse-grained API call to retrieve data requested by the fine-grained API call;

generating a dictionary to allow the fine-grained API call to retrieve data using the at least one coarse-grained API call; and

transmitting the dictionary and the instructions for the coarse-grained API call to a content delivery server.

18. The method of claim 17 , wherein the instructions for the at least one coarse-grained API call are generated as a set of edge-side include directives, wherein the coarse-grained API call retrieves a set of data, and wherein the data requested by fine-grained API call is a subset of the set of data.

19. The method of claim 17 , further comprising:

generating an edge-side include directive for the fine-grained API call that causes the content delivery server to retrieve the dictionary upon receiving a request containing the fine-grained API call; and

transmitting the edge-side include directive to the content delivery server.

20. The method of claim 17 , wherein the fine-grained API call is a query-based API call that requests a subset of data retrieved by the at least one coarse-grained API call.

21. The method of claim 17 , further comprising:

generating a response to the fine-grained API call including content delivery server instructions for retrieving the dictionary, wherein the response includes a cache-control header with an expiration time; and

transmitting the response to the content delivery server.

22. The method of claim 21 , further comprising:

receiving a request from the content delivery server including a uniform resource identifier and a source attribute included in the response;

executing the coarse-grained API call to retrieve data;

constructing a second response including content delivery server instructions for storing the data and variables for the dictionary; and

transmitting the second response to the content delivery server.

23. The method of claim 22 , further comprising:

generating cache-control directives for the content delivery server based on a domain service associated with the request; and

transmitting the cache-control directives to the content delivery server.

24. The method of claim 17 , wherein the dictionary includes fields that map data elements from the fine-grained API call to data elements retrieved from the at least one coarse-grained API call.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: ADOLPHSON, DAVID; GODINEZ, SEAN; KOTLA, PRAVEEN
To: BBY SOLUTIONS, INC.
Reel/Frame 051870/0834 →
Cited By (1)
US 12,367,085