IP Library Granted Patent US 9,613,088
Granted Patent B2
US 9,613,088 · App. 14/821,381 · Granted Apr 4, 2017

Systems and methods for query optimization

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 9,613,088
App. No.
14/821,381
Granted
Apr 4, 2017
Kind
B2
Abstract

The present disclosure relates to systems and methods for performing search queries and for query optimization. In accordance with certain embodiments, a query from a client may be received at a server, and a default query range (e.g., a period of time, or other factor) may be applied to the query. The query may be executed in a first execution using an index comprising a category of information stored in the database and subject to the default query range. If the number of query results from the first execution is outside a predetermined range, then the query range may be adjusted to obtain a number of query results closer to or within the predetermined range. Additionally, the query may be executed in a second execution using the index comprising the category of information stored in the database and subject to the adjusted query range. The query results obtained from the second execution of the query may be sent to the client.

Claims (27)

1. A computer-implemented system, comprising:

one or more storage media that store a plurality of instructions; and at least one processor that executes the plurality of instructions to perform the following operations: receiving a query from a client device; identifying a query range based on a content type associated with the received query; executing, as part of a first execution, the received query on a database in accordance with the identified query range; determining a number of query results based on the first execution of the received query; adjusting the query range when the determined number of query results from the first execution is outside a predetermined range, wherein adjusting the query range comprises increasing the query range when the determined number of query results is below the predetermined range; storing the adjusted query range for use with future queries; executing, as part of a second execution, the received query on the database in accordance with the adjusted query range; and identifying, in response to the second execution, query results based on the adjusted query range.

2. The computer-implemented system of claim 1 , wherein the query range identifies a time period.

3. The computer-implemented system of claim 1 , wherein the query range identifies a range of relevance scores.

4. The computer-implemented system of claim 1 , wherein the first execution and the second execution are performed on the database using an index, which limits the first execution and the second execution to a portion of the database.

5. The computer-implemented system of claim 1 , wherein the at least one processor further executes the plurality of instructions to adjust the query range by decreasing the query range when the determined number of query results is above the predetermined range.

6. The computer-implemented system of claim 1 , wherein the at least one processor further executes the plurality of instructions to perform the following operations:

receiving a new query from the client device;

identifying the saved adjusted query range;

executing, as part of a new execution, the received new query on the database in accordance with the saved adjusted query range; and

identifying, in response to the new execution, query results based on the saved adjusted query range.

7. The computer-implemented system of claim 1 , wherein the query range is identified based on a content type stored in the database.

8. The computer-implemented system of claim 1 , wherein the query range is a default query range.

9. The computer-implemented system of claim 8 , wherein the default query range is based on historical queries.

10. The computer-implemented system of claim 8 , wherein the default query range is selected from a plurality of default query ranges, each being associated with a different content type category.

11. The computer-implemented system of claim 1 , wherein the query range is determined based on input from one or more users.

12. A computer-implemented method for processing queries from client devices, the method being performed by at least one processor and comprising: receiving a query from a client device; identifying a query range based on a content type associated with the received query; executing, as part of a first execution, the received query on a database in accordance with the identified query range; determining a number of query results based on the first execution of the received query;

adjusting the query range when the determined number of query results from the first execution is outside a predetermined range, wherein adjusting the query range comprises increasing the query range when the determined number of query results is below the predetermined range; storing the adjusted query range for use with future queries; executing, as part of a second execution, the received query on the database in accordance with the adjusted query range; identifying, in response to the second execution, query results based on the adjusted query range; and sending, to the client device, the identified query results.

13. The computer-implemented method of claim 12 , wherein the first execution and the second execution are performed on the database using an index, which limits the first execution and the second execution to a portion of the database.

14. The computer-implemented method of claim 12 , wherein the method further comprises:

receiving a new query from the client device;

identifying the saved adjusted query range;

executing, as part of a new execution, the received new query on the database in accordance with the saved adjusted query range; and

identifying, in response to the new execution, query results based on the saved adjusted query range.

15. The computer-implemented method of claim 12 , wherein the query range is identified based on a content type stored in the database.

16. The computer-implemented method of claim 12 , wherein the query range is a default range based on historical queries.

17. The computer-implemented method of claim 12 , wherein adjusting the query range comprises determining an adjustment factor based on the determined number of query results and an expected number of query results.

Assignments (5)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
CHANGE OF NAME Recorded Aug 24, 2017
From: AOL INC.
To: OATH INC.
Reel/Frame 043672/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: CHENG, TAO-JUNG
To: AOL INC.
Reel/Frame 036286/0720 →