IP Library Granted Patent US 10,178,083
Granted Patent B2
US 10,178,083 · App. 13/869,655 · Granted Jan 8, 2019

Updating access control information within a dispersed storage unit

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,178,083
App. No.
13/869,655
Granted
Jan 8, 2019
Kind
B2
Abstract

A method begins by a dispersed storage (DS) processing module of a storage unit receiving a write request for storing a data object that includes updated access control list (ACL) information. The method continues with the DS processing module determining whether the data object is a new data object or a revised version of an existing data object and determining write authority of the requesting entity based on information contained in a locally stored access control list. When the write request is regarding the revised version of the existing data object and the write authority includes authorization to issue the write request for the revised version of the existing data object and authorization to issue the updated ACL information, the method continues with the DS processing module storing the revised version of the existing data object and updating the access control list based on the updated ACL information.

Claims (65)

1. A method comprises:

receiving, by a storage unit of a plurality of storage units of a dispersed storage network (DSN), a write request for storing a data object from a requesting entity of the DSN, wherein the write request includes at least an encoded data slice of a set of encoded data slices of the data object, wherein a data segment of the data object is dispersed error encoded into the set of encoded data slices, and updated access control list (ACL) information regarding the data object and a name identifying the data object;

determining, by the storage unit, whether the data object is a new data object or a revised version of an existing data object;

determining, by the storage unit, write authority of the requesting entity based on information contained in a locally stored access control list, wherein the write authority includes, at least one of, authorization to issue a write request for the new data object, authorization to issue a write request for the revised version of the existing data object, and authorization to issue updated ACL information regarding the new data object or the revised version of the existing data object;

when the write request is regarding the revised version of the existing data object and the write authority includes the authorization to issue the write request for the revised version of the existing data object and the authorization to issue the updated ACL information regarding the revised version of the existing data object, and the write authority further includes a range of permissible revisions for the revised version of the existing data object:

determining, by the storage unit, whether a revision number of the revised version of the existing data object is within the range of permissible revisions;

when the revision number is within the range of permissible revisions:

storing, by the storage unit, the at least the encoded data slice of the revised version of the existing data object; and

updating, by the storage unit, the locally stored access control list based on the updated ACL information; and

when the revision number is not within the range of permissible revisions, denying, by the storage unit, the write request;

when the write request is regarding the new data object:

determining, by the storage unit, that the requesting entity is authorized to issue the write request for the new data object and to issue the updated ACL information regarding the new data object, wherein the determining that the requesting entity is authorized to issue the write request for the new data object and to issue the updated ACL information regarding the new data object comprises:

extracting, by the storage unit, a signed certificate from the write request; and

verifying, by the storage unit, the signed certificate to establish authorization to issue the write request for the new data object and to issue the updated ACL information regarding the new data object;

storing, by the storage unit, the at least the encoded data slice of the new data object; and

updating, by the storage unit, the locally stored access control list based on the updated ACL information regarding the new data object.

2. The method of claim 1 , wherein the determining whether the data object is the new data object or the revised version of the existing data object comprises:

interpreting, by the storage unit, a revision number field of the name.

3. The method of claim 1 further comprises:

when the write request is regarding the revised version of the existing data object and the write authority includes the authorization to issue the write request for the revised version of the existing data object but not the authorization to issue the updated ACL information regarding the revised version of the existing data object:

storing, by the storage unit, the at least the encoded data slice of the revised version of the existing data object;

accessing, by the storage unit, a trusted source regarding:

authenticating the requesting entity's write authorization to issue the updated ACL information regarding the revised version of the existing data object; or

obtaining the updated ACL information regarding the revised version of the existing data object.

4. The method of claim 1 further comprises:

when the write request is regarding the revised version of the existing data object and the write authority does not include the authorization to issue the write request for the revised version of the existing data object, sending, by the storage unit, a write request rejection message to the requesting entity.

5. The method of claim 1 , wherein the data object comprises:

an encoded data slice of a set of encoded data slices, wherein a data segment is encoded using a dispersed storage error encoding function to produce the set of encoded data slices.

6. A dispersed storage (DS) module of a dispersed storage network (DSN), the DS module comprises:

an interface;

memory; and

a first module, when operable within a computing device, causes the computing device to:

receive, from a requesting entity, a write request for storing a data object, wherein the write request includes at least an encoded data slice of a set of encoded data slices of the data object, wherein a data segment of the data object is dispersed error encoded into the set of encoded data slices, and updated access control list (ACL) information regarding the data object and a name identifying the data object;

a second module, when operable within the computing device, causes the computing device to:

determine whether the data object is a new data object or a revised version of an existing data object;

a third module, when operable within the computing device, causes the computing device to:

determine write authority of the requesting entity based on information contained in a locally stored access control list, wherein the write authority includes, at least one of, authorization to issue a write request for the new data object, authorization to issue a write request for the revised version of the existing data object, and authorization to issue the updated ACL information regarding the new data object or the revised version of the existing data object; and

a fourth module, when operable within the computing device, causes the computing device to:

when the write request is regarding the revised version of the existing data object and the write authority includes the authorization to issue the write request for the revised version of the existing data object and authorization to issue the updated ACL information regarding the revised version of the existing data object, and the write authority further includes a range of permissible revisions for the revised version of the existing data object:

determine whether a revision number of the revised version of the existing data object is within the range of permissible revisions;

when the revision number is within the range of permissible revisions:

store the at least the encoded data slice of the revised version of the existing data object; and

update the locally stored access control list based on the updated ACL information; and

when the revision number is not within the range of permissible revisions, deny the write request;

a fifth module, when operable within the computing device, causes the computing device to:

when the write request is regarding the new data object:

determine that the requesting entity is authorized to issue the write request for the new data object and to issue the updated ACL information regarding the new data object, wherein the determination that the requesting entity is authorized to issue the write request for the new data object and to issue the updated ACL information regarding the new data object comprises:

extracting a signed certificate from the write request; and

verifying the signed certificate to establish authorization to issue the write request for the new data object and to issue the updated ACL information regarding the new data object;

store the at least the encoded data slice of the new data object; and

update the locally stored access control list based on the updated ACL information regarding the new data object;

wherein at least one of the first module, the second module, the third module, the fourth module or the fifth fourth module includes processing circuitry.

7. The DS module of claim 6 , wherein the second module functions to determine whether the data object is the new data object or the revised version of the existing data object by:

interpreting a revision number field of the name.

8. The DS module of claim 6 further comprises:

the fourth module further functions to:

when the write request is regarding the revised version of the existing data object and the write authority includes the authorization to issue the write request for the revised version of the existing data object but not the authorization to issue the updated ACL information regarding the revised version of the existing data object:

store the at least the encoded data slice of the revised version of the existing data object;

access a trusted source regarding:

authenticating the requesting entity's write authorization to issue the updated ACL information regarding the revised version of the existing data object; or

obtaining the updated ACL information regarding the revised version of the existing data object.

9. The DS module of claim 6 further comprises:

the fourth module further functions to, when the write request is regarding the revised version of the existing data object and the write authority does not include the authorization to issue the write request for the revised version of the existing data object, send a write request rejection message to the requesting entity.

10. The DS module of claim 6 , wherein the data object comprises:

an encoded data slice of a set of encoded data slices, wherein a data segment is encoded using a dispersed storage error encoding function to produce the set of encoded data slices.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2013
From: RESCH, JASON K.; LEGGETTE, WESLEY; VAS, SEBASTIEN
To: CLEVERSAFE, INC.
Reel/Frame 030279/0950 →
Cited By (1)
US 12,591,709