IP Library Granted Patent US 11,532,013
Granted Patent B2
US 11,532,013 · App. 16/443,666 · Granted Dec 20, 2022

Optimized simultaneous use of content experimentation and content caching

Inventors: Michael James Connolly, Jr. (San Francisco, CA); Lauren Pappone (Berkeley, CA); Michael Hood (San Francisco, CA); Asa Schachar (San Francisco, CA)
Assignee: OPTIMIZELY, INC.
G06Q30/0243G06F16/955G06F16/9574H04L67/568H04L67/63
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,532,013
App. No.
16/443,666
Granted
Dec 20, 2022
Kind
B2
Abstract

A method includes receiving, from a computing device, a request for content hosted by a content provider and determining one or more experiment variations for the requested content that the computing device is assigned to based, at least in part, on the request. The method further includes generating, by a processing device, a hash value of the one or more experiment variations and transmitting the hash value to the computing device and to a caching server.

Claims (51)

1. A method comprising:

receiving, from a computing device, a request for content hosted by a content provider device;

determining, based on the requested content and targeting criteria to determine eligibility, one or more content experiments that the computing device is eligible to receive from a set of content experiments based on a visitor identification (ID) associated with the computing device, wherein the set of content experiments is associated with a plurality of content variations, wherein each of the plurality of content variations comprises a modification of positions within a control version web page of one or more items of content of the control version web page;

determining, for each of the one or more content experiments, one or more content variations to be cached by a caching server, wherein the one or more content variations are a subset that is less than all of the plurality of content variations;

generating a code snippet based on the one or more content variations, wherein the code snippet comprises code executable to perform the one or more content variations, and wherein an amount of the code of the code snippet is smaller than an amount of code to perform the plurality of content variations;

generating, by a processing device, a hash value, the hash value identifying the code snippet and storing the hash value, wherein the hash value is generated by a deterministic hashing function based on the one or more content variations and the visitor ID as inputs to the deterministic hashing function; and

transmitting the hash value to the caching server as a cookie,

wherein determining the one or more content variations comprises:

evaluating targeting criteria for each of the set of content experiments for the requested content;

determining the one or more content experiments for which the computing device is eligible from the set of content experiments; and

randomly assigning, for each of the one or more content experiments for which the computing device is eligible, the one or more content variations to be cached by the caching server.

2. The method of claim 1 , wherein the targeting criteria includes one or more of: a computing device type, a source the request originated from, cookies on the computing device, query parameters in the request, geographic location of the computing device, a language of the computing device, a URL, a uniform resource identifier, a header, a flag or an internet protocol (IP) address.

3. The method of claim 1 , wherein determining, based on the requested content and the targeting criteria to determine eligibility, the one or more content experiments that the computing device is eligible to receive comprises:

receiving information from the computing device, wherein the information indicates characteristics of one or more of the request, the computing device, a user of the computing device, an application running on the computing device, or information stored on the computing device;

comparing the information to the targeting criteria to determine eligibility; and

identifying the one or more content variations having targeting criteria that match the information.

4. The method of claim 1 , wherein the request is received at an edge node.

5. A system comprising:

a memory to store a hash value; and

a processing device to:

receive, from a computing device, a request for content hosted by a content provider device;

determine, based on the requested content and targeting criteria to determine eligibility, one or more content experiments that the computing device is eligible to receive from a set of content experiments based on a visitor identification (ID) associated with the computing device, wherein the set of content experiments is associated with a plurality of content variations, wherein each of the plurality of content variations comprises a modification of positions within a control version web page of one or more items of content of the control version web page;

determine, for each of the one or more content experiments, one or more content variations to be cached by a caching server, wherein the one or more content variations are a subset that is less than all of the plurality of content variations;

generate a code snippet based on the one or more content variations, wherein the code snippet comprises code executable to perform the one or more content variations, and wherein an amount of the code of the code snippet is smaller than an amount of code to perform the plurality of content variations;

generate a hash value, the hash value identifying the code snippet and storing the hash value, wherein the hash value is generated by a deterministic hashing function based on the one or more content variations and the visitor ID as inputs to the deterministic hashing function; and

transmit the hash value to the caching server as a cookie,

wherein to determine the one or more content variations, the processing device is further to:

evaluate targeting criteria for each of the set of content experiments for the requested content determine the one or more content experiments for which the computing device is eligible from the set of content experiments; and

randomly assign, for each of the one or more content experiments for which the computing device is eligible, the one or more content variations to be cached by the caching server.

6. The system of claim 5 , wherein the targeting criteria includes one or more of: a computing device type, a source the request originated from, cookies on the computing device, query parameters in the request, geographic location of the computing device, a language of the computing device, a URL, a uniform resource identifier, a header, a flag or an internet protocol (IP) address.

7. The system of claim 5 , wherein to determine, based on the requested content and the targeting criteria to determine eligibility, the one or more content experiments that the computing device is eligible to receive, the processing device is to:

receive information from the computing device, wherein the information indicates characteristics of one or more of the request, the computing device, a user of the computing device, an application running on the computing device, or information stored on the computing device;

compare the information to the targeting criteria to determine eligibility; and

identify the one or more content variations having targeting criteria that match the information.

8. The system of claim 5 , wherein the request is received at an edge node.

9. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

receive, from a computing device, a request for content hosted by a content provider device;

determine, based on the requested content and targeting criteria to determine eligibility, one or more content experiments that the computing device is eligible to receive from a set of content experiments based on a visitor identification (ID) associated with the computing device, wherein the set of content experiments is associated with a plurality of content variations;

determine, for each of the one or more content experiments, one or more content variations to be cached by a caching server, wherein the one or more content variations are a subset that is less than all of the plurality of content variations, wherein each of the plurality of content variations comprises a modification of positions within a control version web page of one or more items of content of the control version web page;

generate a code snippet based on the one or more content variations, wherein the code snippet comprises code executable to perform the one or more content variations, and wherein an amount of the code of the code snippet is smaller than an amount of code to perform the plurality of content variations;

generate a hash value, the hash value identifying the code snippet, and store the hash value, wherein the hash value is generated by a deterministic hashing function based on the one or more content variations and the visitor ID as inputs to the deterministic hashing function; and

transmit the hash value to the caching server as a cookie,

wherein to determine the one or more content variations, the processing device is further to:

evaluate targeting criteria for each of the set of content experiments for the requested content;

determine the one or more content experiments for which the computing device is eligible from the set of content experiments; and

randomly assign, for each of the one or more content experiments for which the computing device is eligible, the one or more content variations to be cached by the caching server.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the targeting criteria includes one or more of: a computing device type, a source the request originated from, cookies on the computing device, query parameters in the request, geographic location of the computing device, a language of the computing device, a URL, a uniform resource identifier, a header, a flag or an internet protocol (IP) address.

11. The non-transitory computer-readable storage medium of claim 9 , wherein to determine, based on the requested content and the targeting criteria to determine eligibility, the one or more content experiments that the computing device is eligible to receive, the processing device is to:

receive information from the computing device, wherein the information indicates characteristics of one or more of the request, the computing device, a user of the computing device, an application running on the computing device, or information stored on the computing device;

compare the information to the targeting criteria to determine eligibility; and

identify the one or more content variations having targeting criteria that match the information.

Assignments (10)
TERMINATION AND RELEASE OF SECURITY INTEREST Recorded Oct 31, 2024
From: GOLUB CAPITAL MARKETS LLC
To: OPTIMIZELY NORTH AMERICA INC.
Reel/Frame 069285/0225 →
SECURITY INTEREST Recorded Oct 31, 2024
From: OPTIMIZELY NORTH AMERICA, INC.
To: GOLUB CAPITAL MARKETS LLC
Reel/Frame 069089/0588 →
MERGER Recorded Jul 3, 2023
From: OPTIMIZELY OPERATIONS HOLDCO INC.
To: OPTIMIZELY NORTH AMERICA INC.
Reel/Frame 064139/0628 →
MERGER Recorded Jun 20, 2023
From: OPTIMIZELY OPERATIONS INC.
To: OPTIMIZELY OPERATIONS HOLDCO INC.
Reel/Frame 063995/0874 →
CHANGE OF NAME Recorded Jun 8, 2023
From: OPTIMIZELY, INC.
To: OPTIMIZELY OPERATIONS INC.
Reel/Frame 063939/0656 →
CORRECTIVE ASSIGNMENT TO CORRECT THE UNDERLYING DOCUMENT PREVIOUSLY RECORDED ON REEL 056588 FRAME 0075. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL. Recorded Jul 22, 2021
From: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
To: OPTIMIZELY, INC.
Reel/Frame 056958/0064 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2021
From: OPTIMIZELY, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 056768/0917 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Jun 14, 2021
From: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
To: OPTIMIZELY, INC.
Reel/Frame 056588/0075 →
SECURITY INTEREST Recorded Oct 19, 2020
From: OPTIMIZELY, INC.
To: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
Reel/Frame 054093/0019 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2019
From: CONNOLLY, MICHAEL JAMES, JR.; PAPPONE, LAUREN; HOOD, MICHAEL; SCHACHAR, ASA
To: OPTIMIZELY, INC.
Reel/Frame 049514/0716 →