IP Library Granted Patent US 9,083,766
Granted Patent B2
US 9,083,766 · App. 13/796,865 · Granted Jul 14, 2015

Maintaining consistent globally unique identifiers via an asynchronous interface

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,083,766
App. No.
13/796,865
Granted
Jul 14, 2015
Kind
B2
Abstract

Systems, methods, and computer-readable storage media for maintaining consistent globally unique identifiers (GUIDs) for content items accessible via an asynchronous interface in a multi-user network-based content management environment (storage environment). The example content management system can make a content item within a data storage available to an authorized user via the asynchronous interface, and receive, from a client device, content item change information derived from data generated by an operating system function at the client device. Then the content management system can analyze the content item change information to determine a corresponding action at the content management system, and implement the corresponding action on the server side. The content management system can optionally provide a confirmation of the corresponding action to the client device.

Claims (54)

1. A system comprising:

a multi-user network-based content item management environment storing content items addressable by globally unique identifiers unique within the content item management environment, wherein the globally unique identifiers are associated, in an identifier database, with the content item, a storage location, and an authorized user having access to the content item, wherein copies of content items are maintained in at least one client device;

a processor; and

a non-transitory computer-readable storage medium having stored therein processor-executable instructions for causing the processor to:

receive, from the at least one client device, content item change information derived from data generated by an operating system function at the client device with respect to a content item stored in the content item management environment;

analyze the content item change information to determine a corresponding action at the content item management environment;

implement the corresponding action;

update the globally unique identifier associated with the content item in accordance with the corresponding action; and

provide a confirmation of the corresponding action including the updated globally unique identifier to the client device.

2. The system of claim 1 , wherein the globally unique identifier is an integer represented by at least 128 bits.

3. The system of claim 1 , wherein the non-transitory computer readable storage medium further comprises processor-executable instructions for causing the processor to:

model a user account as a collection of content item objects and globally unique identifiers that are independent of a directory-based hierarchy of content items.

4. The system of claim 1 , wherein the content item change information comprises at least one of content item presence information or content item absence information.

5. The system of claim 1 , wherein the content item change information is associated with a path on the client device.

6. The system of claim 1 , wherein the non-transitory computer readable storage medium further comprises processor-executable instructions for causing the processor to:

receive, as part of the content item change information, a new globally unique identifier associated with the operating system function;

verify that the new globally unique identifier does not conflict with an existing globally unique identifier; and

indicate approval of the new globally unique identifier in the confirmation.

7. The system of claim 1 , wherein implementing the corresponding action further comprises:

adding information to a revision history for the content item based on the corresponding action.

8. The system of claim 1 , wherein the content item is addressable at a file path at the client device, and addressable via the globally unique identifier at the storage environment.

9. A computer-implemented method comprising:

detecting, via a processor, that a content item change occurred at a client device, wherein the content item change occurs to a content item stored at the client device and associated with a multi-user network-based content item management environment storing items addressable by globally unique identifiers unique within the content item management environment, wherein the globally unique identifiers are associated, in an identifier database, with the content item, a storage location, and an authorized user having access to the content item;

transmitting information describing the content item change to the content item management environment, wherein the information comprises a client-generated globally unique identifier;

receiving from the content item management environment confirmation of a corresponding content item change operation at the content item management environment; and

updating at least one of the content item or the client-generated globally unique identifier based on the confirmation.

10. The computer-implemented method of claim 9 , wherein the information describing the content item change is inferred based on a unique file-system identifier maintained by an operating of the client device.

11. The computer-implemented method of claim 9 , wherein the content item change comprises one of a content item copy, a content item move, a content item rename, or a content item delete.

12. The computer-implemented method of claim 9 , wherein the client-generated globally unique identifier is within a range of globally unique identifier values associated with the client device.

13. The computer-implemented method of claim 9 , wherein updating the client-generated globally unique identifier further comprises:

receiving from the content item management environment a replacement globally unique identifier; and

substituting the replacement globally unique identifier for the client-generated globally unique identifier.

14. The computer-implemented method of claim 9 , further comprising:

adding the information to a revision history for the content item based on the confirmation.

15. The computer-implemented method of claim 9 , wherein the content item is addressable at a file path at the client device, and addressable via the globally unique identifier at the storage environment.

16. A non-transitory computer-readable storage medium having stored therein instructions which, when executed by a processor, cause the processor to perform a method comprising:

receiving, from at least one client device, content item change information derived from data generated by an operating system function at the client device with respect to a content item stored in a content item management environment, wherein the content item storage environment is a multi-user network-based content item management environment storing content items addressable by globally unique identifiers unique within the content item management environment, wherein the globally unique identifiers are associated, in an identifier database, with the content item, a storage location, and an authorized user having access to the content item, wherein copies of content items are maintained in at least one client device;

analyzing the content item change information to determine a corresponding action at the content item management environment;

implementing the corresponding action;

upon determining that the corresponding action requires a new globally unique identifier:

generating the new globally unique identifier;

updating the globally unique identifier associated with the content item in accordance with the corresponding action and the new globally unique identifier;

transmitting a confirmation of the corresponding action including the new globally unique identifier; and

upon determining that the corresponding action does not require the new globally unique identifier:

updating the globally unique identifier associated with the content item in accordance with the corresponding action;

transmitting a confirmation of the corresponding action to the client device.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the content item change information comprises at least one of content item presence information or content item absence information.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the content item change information is associated with a path on the client device.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions, when executed by the processor, further cause the processor to perform a method further comprising:

receiving, as part of the content item change information, a new globally unique identifier associated with the operating system function;

verifying that the new globally unique identifier does not conflict with an existing globally unique identifier; and

indicating approval of the new globally unique identifier in the confirmation.

20. The non-transitory computer-readable storage medium of claim 16 , wherein updating the storage environment further comprises:

adding information to a revision history for the content item based on the corresponding action.

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 →
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 →