IP Library Granted Patent US 9,509,509
Granted Patent B2
US 9,509,509 · App. 14/174,095 · Granted Nov 29, 2016

Random identifier generation for offline database

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,509,509
App. No.
14/174,095
Granted
Nov 29, 2016
Kind
B2
Abstract

Various embodiments of the present technology involve creating a secure unique identifier for a content item to be used in a synchronized content management system while off-line with the synchronized content management system. In some embodiments, securing the unique identifier involves generating a random key and applying a hash function to an input to generate a hash. The synchronized content management system can require a user to send both the secure identifier and the key to the content management system in order to register the content item with the content management system. Accordingly, a malicious user who only has access to the secure identifier cannot use it to identify the key. This prevents a malicious user who has obtained the secure identifier, but does not have access to the key from registering a malicious document using the original user's secure identifier.

Claims (36)

1. A computer-implemented method, comprising:

identifying a content item for sending from a client device to an online content management system;

prior to establishing a network connection with the online content management system, generating on the client device, by a client-side application associated with the online content management system, a secure identifier for the content item, wherein generating the secure identifier includes:

generating a random key; and

generating the secure identifier associated with the content item from the random key;

upon establishing the network connection with the online content management system, sending, to the online content management system, a request to register the content item with the online content management system, the request comprising the content item, the secure identifier, and the random key; and

sharing, a link to the content item, the link enabling a second client device to access the content item via the link.

2. The computer-implemented method of claim 1 , wherein registering the content item with the online content management system comprises uploading the content item to the content management system, wherein successful registration of the content item with the content management system includes:

generating, by the content management system, a second identifier using the random key;

comparing the second identifier to the secure identifier; and

determining a match between the second identifier and the secure identifier.

3. The computer-implemented method of claim 1 , wherein the secure identifier is generated by the client-side application when the client-side application is disconnected from the content management system.

4. The computer-implemented method of claim 1 , wherein the secure identifier is generated from the random key using a hash function.

5. The computer-implemented method of claim 1 , further comprising determining that the client device does not have the network connection for registering the content item to the online content management system based on an unsuccessful attempt by the client device to connect with the online content management system, and wherein generating the secure identifier is triggered by a determination that the client device has performed the unsuccessful attempt to connect to the online content management system.

6. A system, comprising:

at least one processor; and

memory including instructions that, when executed by the processor, cause the system to:

receive, from a client-side application associated with a client computing device, a content item for storage with the system, the content item including a first secure identifier associated with the content item and a key, wherein the first secure identifier and the key are generated by the client-side application while the client computing device is off-line, wherein the system comprises an online content management system;

generate, by the online content management system, a second identifier using the key;

compare the first secure identifier to the second identifier generated by the online content management system;

in response to the second identifier generated by the system matching the first secure identifier, register the content item with the online content management system; and

generate a link to the content item, the link enabling a second client computing device to access the content item.

7. The system of claim 6 , wherein the first secure identifier is generated from the key using a hash function.

8. The system of claim 6 , wherein the first secure identifier and the key are received from the client computing device when communication between the client computing device and the system is reestablished.

9. The system of claim 6 , wherein the instructions that, when executed by the processor, further cause the system to:

synchronize the content item with a second client computing device.

10. A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to:

generate a random key;

generate, via a client-side application on a client device, a secure identifier associated with a content item, the secure identifier being generated based on the random key and prior to the client device establishing a network connection with an online content management system associated with the client-side application; and

send a request to register the content item with the online content management system, the request including the content item, the secure identifier, and the random key.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the secure identifier is generated from the random key using a hash function, the instructions further causing the at least one processor to generate or share a link to the content item, the link, when activated, enabling a second client device to access the content item.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the secure identifier and the key are received from the client device when communication between the client computing device and the online content management system is reestablished.

13. The non-transitory computer-readable storage medium of claim 10 , wherein the random key cannot be identified using the secure identifier.

14. The non-transitory computer-readable storage medium of claim 10 , wherein the client computing device includes a client-side application that communicates with the online content management system to synchronize data stored locally on the client computing device with data stored in the online content management system.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions that, when executed by at least one processor, cause a client computing device to:

apply a hash function to the random key to generate a hash.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
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 11, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069600/0149 →
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 →
SECURITY INTEREST Recorded Mar 24, 2014
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 032510/0890 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2014
From: VAN ROSSUM, GUIDO
To: DROPBOX, INC.
Reel/Frame 032334/0527 →