IP Library Granted Patent US 9,977,810
Granted Patent B2
US 9,977,810 · App. 14/555,147 · Granted May 22, 2018

Multi-user search system with methodology for personal searching

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,977,810
App. No.
14/555,147
Granted
May 22, 2018
Kind
B2
Abstract

A multi-user search system with methodology for personal searching. In one embodiment, for example, a system for personal searching includes a plurality of index servers storing a plurality of index shards. Each index shard of the plurality of index shards indexes a plurality of documents. Each document of the plurality of documents belongs to one of a plurality of document namespaces assigned to the index shard. The system further includes a front-end server computer for receiving a search query from an authenticated user; an access control server for determining an authorized document namespace the authenticated user is authorized to access; and a query processor for answering the search query and restricting, based on an identifier of the authorized document namespace, an answer to the search query to identifying only documents satisfying the search query and belonging to the authorized document namespace.

Claims (45)

1. In a multi-user computer system, a method for personal searching comprising:

storing a plurality of index shards at a plurality of index servers;

wherein each index shard of the plurality of index shards is stored at one respective index server of the plurality of index servers;

wherein each index shard, of the plurality of index shards, indexes a plurality of documents, wherein each document, of the plurality of documents, indexed by the each index shard belongs to one respective document namespace, of a plurality of document namespaces, assigned to the each index shard;

receiving a search query from an end-user computing device of an authenticated user;

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

wherein the authorized document namespace is one of the plurality of document namespaces assigned to a particular index shard of the plurality of index shards;

using an identifier of the authorized document namespace to map the search query to a particular index server, of the plurality of index servers, that stores the particular index shard to which the authorized document namespace is assigned;

based on the using the identifier of the authorized document namespace to map the search query to the particular index server, sending the search query to the particular index server; and

restricting, based on an identifier of the authorized document namespace, an answer to the search query to identifying documents satisfying the search query and belonging to the authorized document namespace.

2. The method of claim 1 , further comprising:

selecting, based on applying a deterministic mapping function to the authorized document namespace identifier, an index server of the plurality of index servers to which to send the search query.

3. The method of claim 1 , wherein an index shard of the plurality of index shards comprises a dictionary of index tokens and a plurality of corresponding postings lists, wherein a postings list of the plurality of postings lists comprises one or more document identifiers, wherein a document identifier of the one or more document identifiers is associated with an identifier of a document namespace to which a document identified by the document identifier belongs.

4. The method of claim 1 , further comprising comparing the authorized document namespace identifier to document namespace identifiers associated with document identifiers in postings lists of an index shard of the plurality of index shards to determine which documents identified by the document identifiers belong to the authorized document namespace.

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

storing a plurality of index shards at a plurality of index servers;

wherein each index shard of the plurality of index shards is stored at one respective index server of the plurality of index servers;

wherein each index shard, of the plurality of index shards, indexes a plurality of documents, wherein each document, of the plurality of documents, indexed by the each index shard belongs to one respective document namespace, of a plurality of document namespaces, assigned to the each index shard;

receiving a search query from an end-user computing device of an authenticated user;

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

wherein the authorized document namespace is one of the plurality of document namespaces assigned to a particular index shard of the plurality of index shards;

using an identifier of the authorized document namespace to map the search query to a particular index server, of the plurality of index servers, that stores the particular index shard to which the authorized document namespace is assigned;

based on the using the identifier of the authorized document namespace to map the search query to the particular index server, sending the search query to the particular index server; and

restricting, based on an identifier of the authorized document namespace, an answer to the search query to identifying only documents satisfying the search query and belonging to the authorized document namespace.

6. The one or more non-transitory computer-readable media of claim 5 , the one or more programs further comprising instructions for:

selecting, based on applying a deterministic mapping function to the authorized document namespace identifier, an index server of the plurality of index servers to which to send the search query.

7. The one or more non-transitory computer-readable media of claim 5 , wherein an index shard of the plurality of index shards comprises a dictionary of index tokens and a plurality of corresponding postings lists, wherein a postings list of the plurality of postings lists comprises one or more document identifiers, wherein a document identifier of the one or more document identifiers is associated with an identifier of a document namespace to which a document identified by the document identifier belongs.

8. The one or more non-transitory computer-readable media of claim 5 , the one or more programs further comprising instructions for comparing the authorized document namespace identifier to document namespace identifiers associated with document identifiers in postings lists of an index shard of the plurality of index shards to determine which documents identified by the document identifiers belong to the authorized document namespace.

9. A multi-user computer 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:

storing a plurality of index shards at a plurality of index servers;

wherein each index shard of the plurality of index shards is stored at one respective index server of the plurality of index servers;

wherein each index shard, of the plurality of index shards, indexes a plurality of documents, wherein each document, of the plurality of documents, indexed by the each index shard belongs to one respective document namespace, of a plurality of document namespaces, assigned to the each index shard;

receiving a search query from an end-user computing device of an authenticated user;

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

wherein the authorized document namespace is one of the plurality of document namespaces assigned to a particular index shard of the plurality of index shards;

using an identifier of the authorized document namespace to map the search query to a particular index server, of the plurality of index servers, that stores the particular index shard to which the authorized document namespace is assigned;

based on the using the identifier of the authorized document namespace to map the search query to the particular index server, sending the search query to the particular index server; and

restricting, based on an identifier of the authorized document namespace, an answer to the search query to identifying documents satisfying the search query and belonging to the authorized document namespace.

10. The multi-user computer system of claim 9 , further comprising:

selecting, based on applying a deterministic mapping function to the authorized document namespace identifier, an index server of the plurality of index servers to which to send the search query.

11. The multi-user computer system of claim 9 , wherein an index shard of the plurality of index shards comprises a dictionary of index tokens and a plurality of corresponding postings lists, wherein a postings list of the plurality of postings lists comprises one or more document identifiers, wherein a document identifier of the one or more document identifiers is associated with an identifier of a document namespace to which a document identified by the document identifier belongs.

12. The multi-user computer system of claim 9 , further comprising comparing the authorized document namespace identifier to document namespace identifiers associated with document identifiers in postings lists of an index shard of the plurality of index shards to determine which documents identified by the document identifiers belong to the authorized document namespace.

Assignments (5)
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 →