IP Library Granted Patent US 10,691,719
Granted Patent B2
US 10,691,719 · App. 15/857,766 · Granted Jun 23, 2020

Cursor with last observed access state

Inventors: Thomas Kleinpeter (Seattle, WA); Akos Albert (San Francisco, CA); Helen Lu (San Francisco, CA); Aaron Staley (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/306H04L67/42
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,691,719
App. No.
15/857,766
Granted
Jun 23, 2020
Kind
B2
Abstract

The present technology pertains to an organization directory hosted by a synchronized content management system. The corporate directory can provide access to user accounts for all members of the organization to all content items in the organization directory on the respective file systems of the members' client devices. Members can reach any content item at the same path as other members relative to the organization directory root on their respective client device. In some embodiments novel access permissions are granted to maintain path consistency.

Claims (60)

1. A non-transitory computer readable medium comprising instructions stored thereon, when executed the instructions are effective to cause a content management system to:

determine a latest revision to a first namespace accessible by a user account of the content management system and one or more access permissions for the first namespace;

send, to a client device, information regarding the latest revision to the first namespace, wherein the client device is authorized to access the user account on the content management system;

send, to the client device, a cursor associated with the latest revision to the first namespace, wherein the cursor includes a token based on last known access state data, a namespace identifier, and information identifying the latest revision;

receive, at the content management system, a request to commit a change to the first namespace, wherein the request includes the cursor, and wherein the cursor further includes information based on the change to the first namespace;

determine that the token provides access permission to the first namespace based on the one or more access permissions to the first namespace;

determine that the change to the first namespace is an update to the first namespace; and

commit the change to the first namespace based on the change to the first namespace being an update to the first namespace and the token providing access permission to the first namespace.

2. The non-transitory computer readable medium of claim 1 , wherein the instructions cause the content management system to:

receive a request to read further revisions from the first namespace at the content management system, the request to read further revisions including the cursor; and

send any further revisions to the first namespace based on the cursor identifying access permission to the first namespace as part of the last known access state data.

3. The non-transitory computer readable medium of claim 2 , wherein the instructions cause the content management system to:

prior to executing the instruction to send any further revisions to the first namespace, check the further revisions for a mount revision, and when the revisions to the first namespace include a mount revision, confirm access for the user account to the first namespace from an authorization service.

4. The non-transitory computer readable medium of claim 1 , wherein the instructions cause the content management system to:

receive a request to read revisions for the first namespace or commit revisions to the first namespace, wherein the request to read revisions does not include a last known access state; and

determine access permission to the first namespace for the user account from an authorization service.

5. The non-transitory computer readable medium of claim 1 , wherein the last known access state data includes a listing of paths for the first namespace to which the user account has partial access.

6. The non-transitory computer readable medium of claim 1 , wherein the instructions cause the content management system to:

send, to the client device, information regarding a latest revision to a second namespace accessible by the user account of the content management system, and wherein the cursor identifies the latest revision to the second namespace, and the last known access state data includes a second namespace and the first namespace.

7. The non-transitory computer readable medium of claim 1 , wherein the instructions cause the content management system to:

encrypt and sign the cursor.

8. A method comprising:

determining a latest revision to a first namespace accessible by a user account of the content management system and one or more access permissions for the first namespace;

sending, to a client device, information regarding the latest revision to the first namespace, wherein the client device is authorized to access the user account on the content management system;

sending, to the client device, a cursor associated with the latest revision to the first namespace, the cursor including a token based on last known access state data, a namespace identifier, and information identifying the latest revision;

receiving, at the content management system, a request to commit a change to the first namespace, wherein the request includes the cursor, and wherein the cursor further includes information based on the change to the first namespace;

determining that the token provides access permission to the first namespace based on the one or more access permissions to the first namespace;

determining that the change to the first namespace is an update to the first namespace; and

committing the change to the first namespace based on the change to the first namespace being an update to the first namespace and the token providing access permission to the first namespace.

9. The method of claim 8 , comprising:

receiving a request to read further revisions from the first namespace at the content management system, the request to read further revisions including the cursor; and

sending any further revisions to the first namespace based on the cursor identifying access permission to the first namespace as part of the last known access state data.

10. The method of claim 9 , comprising:

prior to sending any further revisions to the first namespace, checking the further revisions for a mount revision; and

when the revisions to the first namespace include a mount revision, confirming access for the user account to the first namespace from an authorization service.

11. The method of claim 8 , comprising:

receiving a request to read revisions for the first namespace or commit revisions to the first namespace, wherein the request to read revisions does not include a last known access state; and

determining access permission to the first namespace for the user account from an authorization service.

12. The method of claim 8 , wherein the last known access state data includes a listing of paths for the first namespace to which the user account has traversal rights.

13. The method of claim 8 , comprising:

sending, to the client device, information regarding a latest revision to a second namespace accessible by the user account of the content management system, and wherein the cursor identifies a latest revision to the second namespace, and the last known access state data includes a second namespace and the first namespace.

14. The method of claim 9 , comprising:

signing the cursor prior to sending the cursor to the client device; and

prior to sending any further revisions to the first namespace, determining that the cursor is correctly signed.

15. A content management system comprising:

at least one or more processors;

at least one memory having instructions stored thereon, that when executed the instructions are effective to cause the at least one or more processors to:

determine a latest revision to a first namespace accessible by a user account of the content management system and one or more access permissions for the first namespace;

send, to a client device, information regarding the latest revision to the first namespace, wherein the client device is authorized to access the user account on the content management system;

encrypt and sign a cursor including a token based on last known access state data, a namespace identifier, and information identifying the latest revision;

send, to the client device, the cursor;

receive, at the content management system, a request to commit a change to the first namespace, wherein the request includes the cursor identifying information associated with the change to the first namespace and the request further includes information based on the change to the first namespace;

determine that the token provides access to the first namespace based on the one or more access permissions to the first namespace;

determine that the change to the first namespace is an update to the first namespace; and

commit the change to the first namespace based on the change to the first namespace being an update to the first namespace and the token providing access to the first namespace.

16. The system of claim 15 , wherein the instructions cause the at least one or more processors to:

receive a request to read further revisions from the first namespace at the content management system, the request to read further revisions includes the cursor; and

send any further revisions to the first namespace based on the cursor identifying access permission to the first namespace as part of the last known access state data.

17. The system of claim 16 , wherein the instructions cause the at least one or more processors to:

prior to executing the instruction to send any further revisions to the first namespace, check the further revisions for a mount revision, and when the revisions to the first namespace include a mount revision, confirm access for the user account to the first namespace from an authorization service.

Assignments (4)
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 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2018
From: KLEINPETER, THOMAS; ALBERT, AKOS; LU, HELEN; STALEY, AARON
To: DROPBOX, INC.
Reel/Frame 045252/0746 →
Cited By (1)
US 12,332,898