IP Library Granted Patent US 9,984,110
Granted Patent B2
US 9,984,110 · App. 14/555,171 · Granted May 29, 2018

Multi-user search system with methodology for personalized search query autocomplete

Inventors: Samir Goel (San Francisco, CA); Franck Chastagnol (Woodside, CA); Abhishek Agrawal (San Francisco, CA)
Assignee: Dropbox, Inc.
G06F17/30356G06F17/277G06F17/30011G06F17/30094G06F17/30106G06F17/30309G06F17/30312G06F17/30321G06F17/30368G06F17/30386G06F17/30507G06F17/30616G06F17/30622G06F17/30631G06F17/30867G06F17/30914G06F21/6218H04L63/08H04L63/101
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,984,110
App. No.
14/555,171
Granted
May 29, 2018
Kind
B2
Abstract

A multi-user search system with methodology for personalized search query autocomplete. In one embodiment, for example, a method for personalized search query autocomplete includes receiving, from an end-user computing device of an authenticated user, a completion search query including a completion token; determining an identifier of an authorized document namespace the authenticated user is permitted to access; generating an index key including the authorized document namespace identifier as a prefix and the completion token as a suffix; accessing an index dictionary with the index key to identify and iterate over a plurality of prefixed index tokens until a stop condition is reached, each of the plurality of prefixed index tokens including the authorized document namespace identifier as a prefix and the each index token as a suffix, the completion token being a prefix of or matching the each index token; and for each prefixed index token of the plurality of prefixed index tokens, determining whether any documents identified in a postings list associated with the each prefixed index token satisfies the completion query, and returning filenames of any such documents satisfying the completion query in an answer to the completion query.

Claims (47)

1. In a multi-user computer system, a method for personalized search query autocomplete comprising:

receiving, from an end-user computing device of an authenticated user, a completion search query comprising a completion token;

determining an identifier of an authorized document namespace the authenticated user is permitted to access;

generating an index key comprising the authorized document namespace identifier as a prefix and the completion token as a suffix;

accessing an index dictionary with the index key to identify and iterate over a plurality of prefixed index tokens in a lexicographical order of the plurality of prefixed index tokens until a stop condition is reached, each of the plurality of prefixed index tokens comprising the authorized document namespace identifier as a prefix and the each index token as a suffix, the completion token being a prefix of or matching the each index token; and

for each prefixed index token of the plurality of prefixed index tokens, determining whether any documents identified in a postings list associated with the each prefixed index token satisfies the completion query, and returning filenames of any such documents satisfying the completion query in an answer to the completion query.

2. The method of claim 1 , wherein the index dictionary comprises index tokens extracted from filenames of documents belonging to a plurality of document namespaces.

3. The method of claim 1 , wherein the stop condition is reached after a threshold number of document filenames are returned in an answer to the completion query.

4. The method of claim 1 , wherein the stop condition is reached after expiration of a query execution timer.

5. The method of claim 1 , wherein the stop condition is reached after identifying and iterating over a threshold number of index tokens of the plurality of index tokens in the lexicographical order.

6. The method of claim 1 , wherein the completion query comprises at least one complete token.

7. In a multi-user computer system, a method for personalized search query autocomplete comprising:

receiving, from an end-user computing device of an authenticated user, a completion search query comprising a completion token;

determining an identifier of an authorized document namespace the authenticated user is permitted to access;

generating an index key comprising the authorized document namespace identifier as a prefix and the completion token as a suffix;

accessing an index dictionary with the index key to identify and iterate over a plurality of prefixed index tokens according to a descending order of sizes of postings lists associated with the plurality of prefixed index tokens until a stop condition is reached, each of the plurality of prefixed index tokens comprising the authorized document namespace identifier as a prefix and the each index token as a suffix, the completion token being a prefix of or matching the each index token; and

for each prefixed index token of the plurality of prefixed index tokens, determining whether any documents identified in a postings list associated with the each prefixed index token satisfies the completion query, and returning filenames of any such documents satisfying the completion query in an answer to the completion query.

8. The method of claim 7 , wherein the index dictionary comprises index tokens extracted from filenames of documents belonging to a plurality of document namespaces.

9. The method of claim 7 , wherein the stop condition is reached after a threshold number of document filenames are returned in an answer to the completion query.

10. The method of claim 7 , wherein the stop condition is reached after expiration of a query execution timer.

11. The method of claim 7 , wherein the stop condition is reached after identifying and iterating over a threshold number of index tokens of the plurality of index tokens.

12. The method of claim 7 , wherein the completion query comprises at least one complete token.

13. One or more non-transitory computer-readable media storing one or more programs for execution by one or more processors, the one or more programs comprising instructions configured for:

receiving, from an end-user computing device of an authenticated user, a completion search query comprising a completion token;

determining an identifier of an authorized document namespace the authenticated user is permitted to access;

generating an index key comprising the authorized document namespace identifier as a prefix and the completion token as a suffix;

accessing an index dictionary with the index key to identify and iterate over a plurality of prefixed index tokens in a lexicographical order of the plurality of prefixed index tokens until a stop condition is reached, each of the plurality of prefixed index tokens comprising the authorized document namespace identifier as a prefix and the each index token as a suffix, the completion token being a prefix of or matching the each index token; and

for each prefixed index token of the plurality of prefixed index tokens, determining whether any documents identified in a postings list associated with the each prefixed index token satisfies the completion query, and returning filenames of any such documents satisfying the completion query in an answer to the completion query.

14. The one or more non-transitory computer-readable media of claim 13 , wherein the index dictionary comprises index tokens extracted from filenames of documents belonging to a plurality of document namespaces.

15. The one or more non-transitory computer-readable media of claim 13 , wherein the stop condition is reached after a threshold number of document filenames are returned in an answer to the completion query.

16. The one or more non-transitory computer-readable media of claim 13 , wherein the stop condition is reached after expiration of a query execution timer.

17. The one or more non-transitory computer-readable media of claim 13 , wherein the stop condition is reached after identifying and iterating over a threshold number of index tokens of the plurality of index tokens in the lexicographical order.

18. The one or more non-transitory computer-readable media of claim 13 , wherein the completion query comprises at least one complete token.

19. A multi-user computing system comprising:

one or more processors;

storage media;

one or more programs stored in the storage media and configured for execution by the one or more processors, the one or more programs comprising instructions configured for:

receiving, from an end-user computing device of an authenticated user, a completion search query comprising a completion token;

determining an identifier of an authorized document namespace the authenticated user is permitted to access;

generating an index key comprising the authorized document namespace identifier as a prefix and the completion token as a suffix;

accessing an index dictionary with the index key to identify and iterate over a plurality of prefixed index tokens according to a descending order of sizes of postings lists associated with the plurality of prefixed index tokens until a stop condition is reached, each of the plurality of prefixed index tokens comprising the authorized document namespace identifier as a prefix and the each index token as a suffix, the completion token being a prefix of or matching the each index token; and

for each prefixed index token of the plurality of prefixed index tokens, determining whether any documents identified in a postings list associated with the each prefixed index token satisfies the completion query, and returning filenames of any such documents satisfying the completion query in an answer to the completion query.

20. The multi-user computing system of claim 19 , wherein the index dictionary comprises index tokens extracted from filenames of documents belonging to a plurality of document namespaces.

21. The multi-user computing system of claim 19 , wherein the stop condition is reached after a threshold number of document filenames are returned in an answer to the completion query.

22. The multi-user computing system of claim 19 , wherein the stop condition is reached after expiration of a query execution timer.

23. The multi-user computing system of claim 19 , wherein the stop condition is reached after identifying and iterating over a threshold number of index tokens of the plurality of index tokens.

24. The multi-user computing system of claim 19 , wherein the completion query comprises at least one complete token.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2015
From: AGRAWAL, ABHISHEK
To: DROPBOX, INC.
Reel/Frame 035568/0525 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2014
From: GOEL, SAMIR; CHASTAGNOL, FRANCK
To: DROPBOX, INC.
Reel/Frame 034484/0947 →
Continuity (2)
Provisional Application 62040382 · Aug 21, 2014
Related Publication 20160055185A1 · Feb 25, 2016