IP Library Granted Patent US 11,704,336
Granted Patent B2
US 11,704,336 · App. 17/204,208 · Granted Jul 18, 2023

Efficient filename storage and retrieval

Inventor: Sujay Jayakar (San Francisco, CA)
Assignee: Dropbox, Inc.
G06F16/27G06F1/04G06F3/065G06F3/067G06F3/0619G06F3/0623G06F3/0629G06F3/0652G06F9/547G06F11/1469G06F12/1466G06F16/11G06F16/113G06F16/116G06F16/119G06F16/122G06F16/125G06F16/128G06F16/13G06F16/137G06F16/148G06F16/152G06F16/156G06F16/16G06F16/162G06F16/168G06F16/172G06F16/176G06F16/178G06F16/1734G06F16/1744G06F16/1767G06F16/1787G06F16/18G06F16/182G06F16/183G06F16/184G06F16/185G06F16/1827G06F16/1844G06F16/2246G06F16/2255G06F16/2322G06F16/2358G06F16/2365G06F16/2379G06F16/24552G06F16/275G06F16/907G06F16/9027G06F16/951G06F16/955G06F16/958G06F21/10G06F21/604G06F21/6218H04L9/3213H04L9/3247H04L63/08H04L63/0853H04L63/10H04L63/101H04L63/102H04L67/06H04L67/1095H04L67/1097G06F2201/84G06F2212/1052G06F2221/2141H04L67/01H04L67/306
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,704,336
App. No.
17/204,208
Granted
Jul 18, 2023
Kind
B2
Abstract

The disclosed technology relates to a system configured to detect a modification to a node in a tree data structure. The node is associated with a content item managed by a content management service as well as a filename. The system may append the filename and a separator to a filename array, determine a location of the filename in the filename array, and store the location of the filename in the node.

Claims (56)

1. A computer-implemented method comprising:

detecting a modification to a node in a tree data structure, wherein the node is associated with a content item managed by a content management service and wherein the node is associated with a filename;

determining that the filename already exists in a filename array when a query for a reference location of the filename in the filename array returns the reference location of the filename in the filename array and not adding to the filename array when the filename already exists in the filename array;

based on the query returning the reference location, storing the reference location of the filename in the node; and

accessing the filename of the content item associated with the node by using the stored reference location in the node to look up the filename in the filename array, wherein

the reference location to the filename in the filename array includes an integer value that represents an offset, location, or position of the filename in the filename array.

2. The computer-implemented method of claim 1 , wherein the modification to the node includes renaming the node or adding the node as a new node to the tree data structure, and wherein the computer-implemented method further comprises:

storing the reference location in the new or renamed node.

3. The computer-implemented method of claim 1 , further comprising:

storing the reference location of the filename in a hash index.

4. The computer-implemented method of claim 3 , further comprising:

hashing the filename to determine a position in the hash index, wherein the reference location of the filename is stored at the position in the hash index.

5. The computer-implemented method of claim 4 , further comprising:

determining that the position in the hash index is occupied; and

storing the reference location of the filename in a next position in the hash index.

6. The computer-implemented method of claim 4 , further comprising:

receiving a query for the reference location of the filename;

in response to the query, retrieving, from the position in the hash index, the reference location of the filename, wherein the reference location is associated with the filename array; and

provide the reference location of the filename.

7. The computer-implemented method of claim 6 , further comprising:

retrieving, from the filename array using the reference location, a string; and

comparing the string with the filename, wherein the reference location of the filename is confirmed when the string and the filename match.

8. A non-transitory computer-readable medium comprising instructions, the instructions, when executed by a computing system, cause the computing system to:

detect a modification to a node in a tree data structure, wherein the node is associated with a content item managed by a content management service and wherein the node is associated with a filename;

determine that the filename already exists in a filename array when a query for a reference location of the filename in the filename array returns the reference location of the filename in the filename array and not adding to the filename array when the filename already exists in the filename array;

based on the query returning the reference location, store the reference location of the filename in the node; and

access the filename of the content item associated with the node by using the stored reference location in the node to look up the filename in the filename array, wherein

the reference location to the filename in the filename array includes an integer value that represents an offset, location, or position of the filename in the filename array.

9. The non-transitory computer-readable medium of claim 8 , wherein the modification to the node includes renaming the node or adding the node as a new node to the tree data structure, and wherein the instructions, when executed by the computing system, cause the computing system to:

storing the reference location in the new or renamed node.

10. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed by the computing system, cause the computing system to:

store the reference location of the filename in a hash index.

11. The non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed by the computing system, cause the computing system to:

hash the filename to determine a position in the hash index, wherein the reference location of the filename is stored at the position in the hash index.

12. The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the computing system, cause the computing system to:

determine that the position in the hash index is occupied; and

store the reference location of the filename in a next position in the hash index.

13. The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the computing system, cause the computing system to:

receive a query for the reference location of the filename;

in response to the query, retrieve, from the position in the hash index, the reference location of the filename, wherein the reference location is associated with the filename array; and

provide the reference location of the filename.

14. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the computing system, cause the computing system to:

retrieve, from the filename array using the reference location, a string; and

compare the string with the filename, wherein the reference location of the filename is confirmed when the string and the filename match.

15. A system comprising:

one or more processors; and

a non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to:

detect a modification to a node in a tree data structure, wherein the node is associated with a content item managed by a content management service and wherein the node is associated with a filename;

determine that the filename already exists in a filename array when a query for a reference location of the filename in the filename array returns the reference location of the filename in the filename array and not adding to the filename array when the filename already exists in the filename array;

based on the query returning of the reference location, store the reference location of the filename in the node; and

access the filename of the content item associated with the node uses the stored reference location in the node to look up the filename in the filename array, wherein

the reference location to the filename in the filename array includes an integer value that represents an offset, location, or position of the filename in the filename array.

16. The system of claim 15 , wherein the modification to the node includes renaming the node or adding the node as a new node to the tree data structure, and wherein the instructions, when executed by the one or more processors, cause the one or more processors to:

store the reference location in the new or renamed node.

17. The system of claim 15 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to:

store the reference location of the filename in a hash index.

Assignments (2)
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2021
From: JAYAKAR, SUJAY
To: DROPBOX, INC.
Reel/Frame 055623/0716 →
Continuity (3)
Continuation 15858192 · Dec 29, 2017
Provisional Application 62611473 · Dec 28, 2017
Related Publication 20210200786A1 · Jul 1, 2021