IP Library Granted Patent US 10,353,865
Granted Patent B2
US 10,353,865 · App. 14/985,094 · Granted Jul 16, 2019

On-device indexing of hosted content items

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,353,865
App. No.
14/985,094
Granted
Jul 16, 2019
Kind
B2
Abstract

Techniques on on-device indexing of hosted content items are described. In one embodiment, for example, a method is performed at a portable electronic device. The method includes the device performing the operations of: detecting an indexing event within a content management application; determining a content item, hosted with a content management service, to which the indexing event pertains; determining if the indexing event indicates that an index entry for the content item should be added to an on-device index; determining if a proxy entry for the content item already exists in a database that is a read surrogate for the on-device index at least with respect to a content management application by which the content item may be accessed; and attempting to add the index entry to the on-device index, if the proxy entry does not exist in the database.

Claims (66)

1. A method, comprising:

at a portable electronic device comprising one or more processors and memory storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising:

detecting an indexing event within a content management application executing at the portable electronic device;

determining a content item, hosted with a content management service, to which the indexing event pertains;

determining if the indexing event indicates that an index entry for the content item should be added to an on-device index stored at the portable electronic device, wherein the on-device index is associated with an on-device index manager application of the portable electronic device, wherein the on-device index manager application is usable by a plurality of applications at the portable electronic device, including the content management application, to add index entries to the on-device index;

based on determining that the indexing event indicates that the index entry for the content item should be added to the on-device index, determining if a proxy entry for the content item already exists in a read surrogate database, wherein the read surrogate database is stored separately at the portable electronic device from the on-device index, wherein the read surrogate database is a read surrogate for the on-device index at least with respect to the content management application; and

based on determining that the proxy entry for the content item does not exist in the read surrogate database, using the on-device index manager application to add the index entry to the on-device index, and adding the proxy entry for the content item to the read surrogate database.

2. The method of claim 1 , wherein the indexing event corresponds to a user viewing the content item using the content management application.

3. The method of claim 1 , wherein the indexing event corresponds to a user posting a comment on the content item using the content management application.

4. The method of claim 1 , wherein the indexing event corresponds to a user, using the content management application, making the content item available for offline access at the portable electronic device.

5. The method of claim 1 , wherein the indexing event corresponds to a user, using the content management application, marking the content item as a favorite.

6. The method of claim 1 , wherein the indexing event corresponds to the content management application receiving a network response from a server operated by the content management service indicating successful generation of a shared link for the content item.

7. The method of claim 1 , wherein the content item is a file content item; and wherein the indexing event corresponds to the content management application receiving a network response from a server operated by the content management service indicating that an operation to move or copy the file content item to a target folder content item was successfully performed.

8. The method of claim 1 , wherein the content item is a folder content item; and wherein the indexing event corresponds to the content management application receiving a network response from a server operated by the content management service indicating an operation to convert the folder content item to a shared folder was successfully performed.

9. A method, comprising:

at a portable electronic device comprising one or more processors and memory storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising:

detecting an indexing event within a content management application executing at the portable electronic device;

determining a content item, hosted with a content management service, to which the indexing event pertains;

determining if the indexing event indicates that an index entry for the content item should be removed from an on-device index stored at the portable electronic device, wherein the on-device index is associated with an on-device index manager application of the portable electronic device, wherein the on-device index manager application is usable by a plurality of applications at the portable electronic device, including the content management application, to add and remove index entries to the on-device index;

based on determining that the indexing event indicates that the index entry for the content item should be removed from the on-device index, determining if a proxy entry for the content item already exists in a read surrogate database, wherein the read surrogate database is stored separately at the portable electronic device from the on-device index, wherein the read surrogate database is a read surrogate for the on-device index at least with respect to the content management application; and

based on determining that the proxy entry for the content item exists in the read surrogate database, using the on-device index manager application to remove the index entry from the on-device index, and removing the proxy entry for the content item from the read surrogate database.

10. The method of claim 9 , wherein the indexing event corresponds to a user deleting the content item using the content management application.

11. A portable electronic device, comprising:

one or more processors; and

memory storing one or more computer programs for execution by the one or more processors, the one or more computer programs comprising instructions for:

detecting an indexing event within a content management application executing at the portable electronic device;

determining a content item, hosted with a content management service, to which the indexing event pertains;

determining if the indexing event indicates that an index entry for the content item should be added to an on-device index stored at the portable electronic device, wherein the on-device index is associated with an on-device index manager application of the portable electronic device, wherein the on-device index manager application is usable by a plurality of applications at the portable electronic device, including the content management application, to add index entries to the on-device index;

based on determining that the indexing event indicates that the index entry for the content item should be added to the on-device index, determining if a proxy entry for the content item already exists in a read surrogate database, wherein the read surrogate database is stored separately at the portable electronic device from the on-device index, wherein the read surrogate database is a read surrogate for the on-device index at least with respect to the content management application; and

based on determining that the proxy entry for the content item does not exist in the read surrogate database, using the on-device index manager application to add the index entry to the on-device index, and adding the proxy entry for the content item to the read surrogate database.

12. The portable electronic device of claim 11 , wherein the indexing event corresponds to a user viewing the content item using the content management application.

13. The portable electronic device of claim 11 , wherein the indexing event corresponds to a user posting a comment on the content item using the content management application.

14. The portable electronic device of claim 11 , wherein the indexing event corresponds to a user, using the content management application, making the content item available for offline access at the portable electronic device.

15. The portable electronic device of claim 11 , wherein the indexing event corresponds to a user, using the content management application, marking the content item as a favorite.

16. The portable electronic device of claim 11 , wherein the indexing event corresponds to the content management application receiving a network response from a server operated by the content management service indicating successful generation of a shared link for the content item.

17. The portable electronic device of claim 11 , wherein the content item is a file content item; and wherein the indexing event corresponds to the content management application receiving a network response from a server operated by the content management service indicating that an operation to move or copy the file content item to a target folder content item was successfully performed.

18. The portable electronic device of claim 11 , wherein the content item is a folder content item; and wherein the indexing event corresponds to the content management application receiving a network response from a server operated by the content management service indicating an operation to convert the folder content item to a shared folder was successfully performed.

19. A portable electronic device, comprising:

one or more processors; and

memory storing one or more computer programs for execution by the one or more processors, the one or more computer programs comprising instructions for:

detecting an indexing event within a content management application executing at the portable electronic device;

determining a content item, hosted with a content management service, to which the indexing event pertains;

determining if the indexing event indicates that an index entry for the content item should be removed from an on-device index stored at the portable electronic device, wherein the on-device index is associated with an on-device index manager application of the portable electronic device, wherein the on-device index manager application is usable by a plurality of applications at the portable electronic device, including the content management application, to add and remove index entries to the on-device index;

based on determining that the indexing event indicates that the index entry for the content item should be removed from the on-device index, determining if a proxy entry for the content item already exists in a read surrogate database, wherein the read surrogate database is stored separately at the portable electronic device from the on-device index, wherein the read surrogate database is a read surrogate for the on-device index at least with respect to the content management application; and

based on determining that the proxy entry for the content item exists in the read surrogate database, using the on-device index manager application to remove the index entry from the on-device index, and removing the proxy entry for the content item from the read surrogate database.

20. The portable electronic device of claim 19 , wherein the indexing event corresponds to a user deleting the content item using the content management application.

21. One or more non-transitory computer-readable media storing one or more computer programs which, when executed by one or more processors of a portable electronic device, cause the portable electronic device to perform operations comprising:

detecting an indexing event within a content management application executing at the portable electronic device;

determining a content item, hosted with a content management service, to which the indexing event pertains;

determining if the indexing event indicates that an index entry for the content item should be added to an on-device index stored at the portable electronic device, wherein the on-device index is associated with an on-device index manager application of the portable electronic device, wherein the on-device index manager application is usable by a plurality of applications at the portable electronic device, including the content management application, to add index entries to the on-device index;

based on determining that the indexing event indicates that the index entry for the content item should be added to the on-device index, determining if a proxy entry for the content item already exists in a read surrogate database, wherein the read surrogate database is stored separately at the portable electronic device from the on-device index, wherein the read surrogate database is a read surrogate for the on-device index at least with respect to the content management application; and

based on determining that the proxy entry for the content item does not exist in the read surrogate database, using the on-device index manager application to add the index entry to the on-device index, and adding the proxy entry for the content item to the read surrogate database.

22. The one or more non-transitory computer-readable media of claim 21 , wherein the indexing event corresponds to a user viewing the content item using the content management application.

23. The one or more non-transitory computer-readable media of claim 21 , wherein the indexing event corresponds to a user posting a comment on the content item using the content management application.

24. The one or more non-transitory computer-readable media of claim 21 , wherein the indexing event corresponds to a user, using the content management application, making the content item available for offline access at the portable electronic device.

25. The one or more non-transitory computer-readable media of claim 21 , wherein the indexing event corresponds to a user, using the content management application, marking the content item as a favorite.

26. The one or more non-transitory computer-readable media of claim 21 , wherein the indexing event corresponds to the content management application receiving a network response from a server operated by the content management service indicating successful generation of a shared link for the content item.

27. The one or more non-transitory computer-readable media of claim 21 , wherein the content item is a file content item; and wherein the indexing event corresponds to the content management application receiving a network response from a server operated by the content management service indicating that an operation to move or copy the file content item to a target folder content item was successfully performed.

28. The one or more non-transitory computer-readable media of claim 21 , wherein the content item is a folder content item; and wherein the indexing event corresponds to the content management application receiving a network response from a server operated by the content management service indicating an operation to convert the folder content item to a shared folder was successfully performed.

29. One or more non-transitory computer-readable media storing one or more computer programs which, when executed by one or more processors of a portable electronic device, cause the portable electronic device to perform operations comprising:

detecting an indexing event within a content management application executing at the portable electronic device;

determining a content item, hosted with a content management service, to which the indexing event pertains;

determining if the indexing event indicates that an index entry for the content item should be removed from an on-device index stored at the portable electronic device, wherein the on-device index is associated with an on-device index manager application of the portable electronic device, wherein the on-device index manager application is usable by a plurality of applications at the portable electronic device, including the content management application, to add and remove index entries to the on-device index;

based on determining that the indexing event indicates that the index entry for the content item should be removed from the on-device index, determining if a proxy entry for the content item already exists in a read surrogate database, wherein the read surrogate database is stored separately at the portable electronic device from the on-device index, wherein the read surrogate database is a read surrogate for the on-device index at least with respect to the content management application; and

based on determining that the proxy entry for the content item exists in the read surrogate database, using the on-device index manager application to remove the index entry from the on-device index, and removing the proxy entry for the content item from the read surrogate database.

30. The one or more non-transitory computer-readable media of claim 29 , wherein the indexing event corresponds to a user deleting the content item using the content management application.

Assignments (6)
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 Jun 8, 2016
From: GIERTLER, BOGO
To: DROPBOX, INC.
Reel/Frame 038843/0683 →