Systems and methods for edge server content delivery

US12177501B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12177501-B2
Application numberUS-202318326206-A
CountryUS
Kind codeB2
Filing dateMay 31, 2023
Priority dateApr 6, 2023
Publication dateDec 24, 2024
Grant dateDec 24, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Content providers may wish to display different versions of content to different users, which may require different versions of the content to be deliverable. The assignment of a particular version of the content to a particular user may also need to persist over time for that particular user. It may be desirable that this functionality occurs at an edge server of a content delivery network, rather than at an origin server. In some embodiments, the edge server may receive a user request including a user identifier for content from a user device; identify an experiment key for the user request based at least in part on the user identifier, the experiment key associated with an experimental version of the content; and transmit an experiment fetch request including the experiment key to an edge cache to retrieve the experimental version of the content.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method comprising: receiving, by an edge server separate from an origin server, a user request for content from a user device, the user request including a user identifier associated with the user device, wherein the edge server is downstream of the origin server and receives user requests from the user device before the origin server; identifying, by the edge server, an experiment key assigned to the user identifier included in the user request, the experiment key associated with an experimental version of the content selected from amongst a plurality of different versions of the content; and transmitting, by the edge server, an experiment fetch request to an edge cache to retrieve the experimental version of the content stored in the edge cache, the experiment fetch request providing the experiment key. 2. The computer-implemented method of claim 1 , further comprising: receiving, by the edge server, an indication that the experimental version of the content is not stored in the edge cache; and transmitting, by the edge server, the experiment fetch request to the origin server to retrieve the experimental version of the content from the origin server in response to the indication. 3. The computer-implemented method of claim 2 , further comprising: receiving, by the edge server, the experimental version of the content from the origin server; storing, by the edge server, the experimental version of the content received from the origin server in the edge cache in association with the experiment key; and delivering, by the edge server, the experimental version of the content received from the origin server to the user device. 4. The computer-implemented method of claim 2 , further comprising: receiving, by the edge server, an indication that the experimental version of the content cannot be retrieved from the origin server; and transmitting, by the edge server, a control fetch request to at least one of the origin server or the edge cache to retrieve a control version of the content. 5. The computer-implemented method of claim 2 , further comprising: receiving, by the edge server, a stale indication that the experimental version of the content stored in the edge cache is an expired copy of the experimental version of the content; delivering, by the edge server, the expired copy of the experimental version of the content to the user device; and requesting, by the edge server, an active copy of the experimental version of the content from the origin server. 6. The computer-implemented method of claim 5 , further comprising: in response to receiving the active copy of the experimental version of the content from the origin server, storing, by the edge server, the active copy of the experimental version of the content in the edge cache and in association with the experiment key. 7. The computer-implemented method of claim 1 , further comprising: receiving, by the edge server, an indication that the experimental version of the content is not stored in the edge cache; and rendering, by the edge server, the experimental version of the content based on data stored in a database in response to the indication, wherein the database is separate from the origin server and in communication with the edge server. 8. The computer-implemented method of claim 7 , further comprising: storing, by the edge server, the experimental version of the content rendered by the edge server in the edge cache and in association with the experiment key; and delivering, by the edge server, the experimental version of the content rendered by the edge server to the user device. 9. The computer-implemented method of claim 7 , further comprising: in response to an indication that the experimental version of the content cannot be rendered at the edge server, transmitting, by the edge server, a control fetch request to at least one of the origin server or the edge cache to retrieve a control version of the content. 10. The computer-implemented method of claim 7 , further comprising: receiving, by the edge server, a stale indication that the experimental version of the content stored in the edge cache is an expired copy of the experimental version of the content; delivering, by the edge server, the expired copy of the experimental version of the content to the user device; and rendering, by the edge server, an active copy of the experimental version of the content based on the data stored in the database. 11. The computer-implemented method of claim 1 , further comprising: receiving, by the edge server, a hit indication that the experimental version of the content requested by the user request is stored in the edge cache and is an active copy of the experimental version of the content; and delivering, by the edge server, the active copy of the experimental version of the content to the user device. 12. The computer-implemented method of claim 1 , wherein the plurality of different versions of the content comprises a plurality of different experimental versions of the content, the edge cache stores the plurality of different experimental versions of the content, each experimental version of the plurality of different experimental versions of the content is associated with a respective different experiment key of a plurality of experiment keys, wherein the experimental version of the content comprises a first experimental version of the content of the plurality of different experimental versions of the content and the experiment key comprises a first experiment key of the plurality of experiment keys. 13. The computer-implemented method of claim 12 , wherein the edge cache further stores a control version of the content, wherein the control version of the content is not associated with any experiment key of the plurality of experiment keys. 14. The computer-implemented method of claim 12 , wherein the user device is a first user device, the user request is a first user request, the user identifier is a first user identifier, and the experiment fetch request is a first experiment fetch request, and the method further comprises: identifying, by the edge server, a second experiment key for a second user request for the content from a second user device, wherein the second user request comprises a second user identifier associated with the second user device; and transmitting, by the edge server, a second experiment fetch request including the second experiment key to the edge cache to retrieve a second experimental version of the content stored in the edge cache. 15. The computer-implemented method of claim 1 , wherein the user device is a first user device, the user request is a first user request, and the user identifier is a first user identifier, and the method further comprises: identifying, by the edge server, the experiment key for a second user request for the content from a second user device, wherein the second user request comprises a second user identifier associated with the second user device; and transmitting, by the edge server, the experiment fetch request including the experiment key to the edge cache to retrieve the experimental version of the content for delivery to the second user device. 16. The computer-implemented method of claim 1 , further comprising: storing, by the edge server, the user identifier in association with the experiment key; and delivering the experimental version of the content to the user device in response to at least one further instance of the user request for the content from the user device.

Assignees

Inventors

Classifications

  • Cache memory {(caches in web servers or browsers G06F16/9574; intermediate storage and caching in data networks H04L67/568)} · CPC title

  • involving handling client requests (scheduling or organising the servicing of application requests H04L67/60) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12177501B2 cover?
Content providers may wish to display different versions of content to different users, which may require different versions of the content to be deliverable. The assignment of a particular version of the content to a particular user may also need to persist over time for that particular user. It may be desirable that this functionality occurs at an edge server of a content delivery network, ra…
Who is the assignee on this patent?
Shopify Inc, Shipify Inc
What technology area does this patent fall under?
Primary CPC classification H04N21/2393. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 24 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).