IP Library › Granted Patent US 10,489,284
Granted Patent B1
US 10,489,284 · App. 15/676,984 · Granted Nov 26, 2019

Evaluation infrastructure for testing real-time content search

Inventor: Yatharth Saraf (San Francisco, CA)
Assignee: Twitter, Inc.
G06F11/3692G06F8/70G06F11/3664G06F11/3688G06F16/951
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,489,284
App. No.
15/676,984
Granted
Nov 26, 2019
Kind
B1
Abstract

Systems and methods provide an experimentation system, or testing engine, for a real-time search infrastructure. An example method includes generating a snapshot of a production search environment and performing testing of a signal or index change in the snapshot. The change can be specified as parameters passed to the system. The method may include estimating an impact of the change based on the testing and determining, based on the estimate, whether the impact is positive. Responsive to determining the impact is positive the method may include generating a holdback environment of the production search environment, the holdback environment being a portion of the production search environment selected not to receive the change, pushing the change to the production search environment, and monitoring the change by running partial production traffic through the holdback environment.

Claims (62)

1. A method comprising:

generating a snapshot of a production search environment, the search environment using a plurality of signals to generate a search result provided to a client;

performing testing of a signal or index change in the snapshot;

estimating an impact of the change based on the testing;

determining, based on the estimate, whether the impact is positive; and

responsive to determining the impact is not positive:

generating crowd-source tasks based on testing,

calculating a metric based on results of the crowd-source tasks,

determining, based on the metric, results are positive, and

responsive to determining the results are positive:

generating a holdback environment of the production search environment, the holdback environment being a portion of the production search environment selected not to receive the change,

pushing the change to the production search environment, and

monitoring the change by running partial production traffic through the holdback environment.

2. The method of claim 1 , wherein the snapshot includes a partial capture of production data.

3. The method of claim 1 , wherein the snapshot includes a partial capture of production data that represents a pre-defined number of days.

4. The method of claim 1 , wherein the testing is AB testing.

5. The method of claim 4 , further comprising, responsive to determining the impact is not positive:

determining, based on the metric, results are not positive;

providing the change to an experimentation system; and

responsive to determining results from the experimentation system are positive:

generating the holdback environment,

pushing the change to the production search environment, and

monitoring the change by running partial production traffic through the holdback environment.

6. The method of claim 1 , wherein a change affecting more than 2% of traffic is not positive.

7. The method of claim 1 , wherein the change is a new index field for retrieval.

8. The method of claim 7 , wherein generating the snapshot includes:

receiving a map from a document to the new index field;

extracting the information from the document according to the map; and

generating an index in the snapshot that includes the new index field.

9. The method of claim 1 , wherein the testing includes a query set of a pre-defined number of queries that are provided from the production search environment.

10. A system comprising:

at least one processor,

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

generating a snapshot of a production search environment, the search environment using a plurality of signals to generate a search result provided to a client;

performing testing of a signal or index change in the snapshot;

estimating an impact of the change based on the testing;

determining, based on the estimate, whether the impact is positive; and

responsive to determining the impact is not positive:

generating crowd-source tasks based on testing,

calculating a metric based on results of the crowd-source tasks,

determining, based on the metric, results are positive, and

responsive to determining the results are positive:

generating a holdback environment of the production search environment, the holdback environment being a portion of the production search environment selected not to receive the change,

pushing the change to the production search environment, and

monitoring the change by running partial production traffic through the holdback environment.

11. The system of claim 10 , wherein the snapshot includes a partial capture of production data.

12. The system of claim 10 , wherein the snapshot includes a partial capture of production data that represents a pre-defined number of days.

13. The system of claim 10 , wherein the testing is AB testing.

14. The system of claim 13 , the memory further storing instructions that, when executed by the at least one processor, further cause the system to perform operations including, responsive to determining the impact is not positive:

determining, based on the metric, results are not positive;

providing the change to an experimentation system; and

responsive to determining results from the experimentation system are positive:

generating the holdback environment,

pushing the change to the production search environment, and

monitoring the change by running partial production traffic through the holdback environment.

15. The system of claim 10 , wherein a change affecting more than 2% of traffic is not positive.

16. The system of claim 10 , wherein the change is a new index field for retrieval.

17. The system of claim 16 , wherein generating the snapshot includes:

receiving a map from a document to the new index field;

extracting the information from the document according to the map; and

generating an index in the snapshot that includes the new index field.

18. The system of claim 10 , wherein the testing includes a query set of a pre-defined number of queries that are provided from the production search environment.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2017
From: SARAF, YATHARTH
To: TWITTER, INC.
Reel/Frame 044046/0327 →
Continuity (1)
Provisional Application 62374672 · Aug 12, 2016
Cited By (2)
US 12,579,057 US 12,730,788