IP Library Granted Patent US 11,500,883
Granted Patent B2
US 11,500,883 · App. 16/730,472 · Granted Nov 15, 2022

Multi-prefix query optimization

Inventors: G. Gregory Carpenter (Laguna Beach, CA); Timothy Kay (Los Altos Hills, CA)
Assignee: TROPARE, INC.
G06F16/24578G06F3/0482G06F3/0488G06F16/245G06F16/248G06F16/24539G06F16/3322G06F16/9535G06F16/9537
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,500,883
App. No.
16/730,472
Granted
Nov 15, 2022
Kind
B2
Abstract

The present invention includes systems and methods for retrieving information via a flexible and consistent targeted search model that employs interactive dynamic menu information retrieval techniques that provide context-specific functionality tailored to particular information channels, as well as to records within or across such channels, and other known state information. Users are presented with a consistent search interface among multiple tiers across and within a large domain of information sources, and need not learn different or special search syntax. A thin-client server-controlled architecture enables users of resource-constrained mobile communications devices to locate targeted information more quickly by entering fewer keystrokes and performing fewer query iterations and web page refreshes, which in turn reduces required network bandwidth.

Claims (31)

1. A method for caching results of multi-prefix user queries in an information retrieval system, the method comprising the following steps:

(a) receiving a multi-prefix user query containing a plurality of prefix terms;

(b) retrieving from an index, for each prefix term, a list of records containing at least one word having a prefix matching that prefix term;

(c) generating a result list for the user query by intersecting the lists of records retrieved from the index;

(d) computing the value of a query function to determine whether to cache the result list wherein the value of the query function is equal to an amount of processing time required to retrieve the lists of records from the index and intersect them to generate the result list;

(e) conditionally caching the result list in storage, based upon a comparison of the value of the query function to a predefined threshold;

(f) whereby a processing time for a subsequent user query is decreased by retrieving the cached result list from storage.

2. The method of claim 1 , further comprising the step of pre-caching into storage (prior to receiving the user query), for each single-letter prefix, a list of records containing at least one word having a prefix matching that single-letter prefix.

3. The method of claim 1 , further comprising the step of pre-caching into storage (prior to receiving the user query), for each pair of single-letter prefixes, a list of records resulting from the intersection of the list of records corresponding to each letter of that pair.

4. The method of claim 1 , wherein the value of the query function is dependent upon a plurality of factors, including the total number of characters in the user query and the processing time required to retrieve the lists of records from the cache in storage and from the index and intersect them to generate the result list.

5. A method for processing multi-prefix user queries in an information retrieval system, the method comprising the following steps:

(a) receiving a multi-prefix user query containing a plurality of prefix terms;

(b) determining, for each prefix term, whether a list of records corresponding to that prefix term has previously been cached in storage, and, if so, retrieving that list of records;

(c) retrieving from an index, for each prefix term not having a corresponding list of records cached in storage, a list of records containing at least one word having a prefix matching that prefix term;

(d) generating a result list for the user query by intersecting the lists of records retrieved from the cache in storage and from the index;

(e) computing the value of a query function to determine whether to cache the result list wherein the value of the query function is equal to the amount of processing time required to retrieve the lists of records from the cache in storage and from the index and intersect them to generate the result list,

(f) conditionally caching the result list in storage, based upon a comparison of the value of the query function to a predefined threshold,

(g) whereby the processing time for a subsequent user query is decreased by retrieving the cached result list from storage.

6. The method of claim 5 , further comprising the step of pre-caching into storage (prior to receiving the user query), for each single-letter prefix, a list of records containing at least one word having a prefix matching that single-letter prefix.

7. The method of claim 6 , further comprising the step of pre-caching into storage (prior to receiving the user query), for each pair of single-letter prefixes, a list of records resulting from the intersection of the list of records corresponding to each letter of that pair.

8. A method for utilizing hybrid prefix terms to facilitate processing of multi-prefix user queries in an information retrieval system, the method comprising the following steps:

(a) generating an index of prefix elements, wherein each prefix element is associated with a list of records containing at least one word having a prefix matching that prefix element;

(b) sorting the lists of records to identify the Nth longest list, having a length of L records;

(c) generating a set of hybrid prefix elements, for each list of records having a length greater than L, by intersecting that list of records with each longer list of records, and adding the sets of hybrid prefix elements to the index;

(d) receiving a multi-prefix user query containing a plurality of prefix terms;

(e) generating hybrid prefix terms by combining pairs of prefix terms;

(f) retrieving from the index, for each prefix term or hybrid prefix term, a list of records corresponding to that prefix term or hybrid prefix term;

(g) generating a result list for the user query by intersecting the lists of records retrieved from the index,

(h) generating, and adding to the index, a set of repeated hybrid prefix elements, wherein each repeated hybrid prefix element is associated with a list of records containing repeated instances of words having a prefix matching that repeated hybrid prefix element; and

(i) replacing repeated single-prefix terms with repeated hybrid prefix terms;

(j) whereby the processing time for the user query is decreased due to the prior generation of the hybrid prefix elements added to the index.

Assignments (2)
CHANGE OF NAME Recorded Jan 12, 2024
From: BOOPSIE, INC
To: TROPARE, INC.
Reel/Frame 066303/0723 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2022
From: CARPENTER, G GREGORY; KAY, TIMOTHY L
To: TROPARE, INC.
Reel/Frame 060102/0946 →
Continuity (10)
Continuation 15853834 · Dec 24, 2017
Continuation 14942276 · Nov 16, 2015
Continuation 14310520 · Jun 20, 2014
Continuation 13563676 · Jul 31, 2012
Continuation 12620195 · Nov 17, 2009
Continuation In Part 12142725
Provisional Application 61247440 · Sep 30, 2009
Provisional Application 61149281 · Feb 2, 2009
Provisional Application 61115665 · Nov 18, 2008
Related Publication 20200142901A1 · May 7, 2020