IP Library Granted Patent US 10,466,914
Granted Patent B2
US 10,466,914 · App. 15/218,967 · Granted Nov 5, 2019

Verifying authorized access in a dispersed storage network

Inventors: Joseph M. Kaczmarek (Chicago, IL); Ravi V. Khadiwala (Bartlett, IL); Jason K. Resch (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F3/0619G06F3/061G06F3/064G06F3/067G06F3/0611G06F3/0622G06F3/0635G06F3/0637G06F3/0644G06F3/0659G06F3/0665G06F3/0689G06F11/1076G06F11/1092G06F11/3034G06F11/3409G06F12/1408H03M13/3761H04L67/1097G06F2212/1052H03M13/1515
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,466,914
App. No.
15/218,967
Granted
Nov 5, 2019
Kind
B2
Abstract

A method for execution by a dispersed storage and task (DST) execution unit that includes a processor includes receiving an access request that includes an authorization token from a computing device via a network. Authorization data is generated based on the access request. The access request is executed and a result of the access request is transmitted to the computing device via the network when the authorization data includes a verification indicator. An invalid token notification is generated for transmission to the computing device when the authorization data includes an invalid token indicator.

Claims (36)

1. A method for execution by a dispersed storage and task (DST) execution unit that includes a processor, the method comprises:

receiving an access request from a computing device via a network, wherein the access request includes an authorization token, wherein the access request includes a request to write content originating from a requesting entity and received by the computing device from the requesting entity, and wherein the access request includes a request to write an encoded data slice generated by the computing device that includes the content;

generating an authorization data based on the access request, wherein generating the authorization data includes determining if the computing device changed the content originating from the requesting entity;

executing the access request and transmitting a result of the access request to the computing device via the network when the authorization data includes a verification indicator; and

generating an invalid token notification for transmission to the computing device when the authorization data includes an invalid token indicator;

wherein the computing device generated a plurality of encoded data slices of a data object to be written to a plurality of DST execution units, wherein the plurality of encoded data slices includes the encoded data slice, and wherein the plurality of DST execution units includes the DST execution unit.

2. The method of claim 1 , wherein the access request originated from the requesting entity communicating with the computing device via the network, wherein the authorization token includes a digital signature of the requesting entity, and wherein generating the authorization data includes determining if the requesting entity is an authorized requesting entity.

3. The method of claim 1 , wherein the authorization token includes an identifier associated with the computing device, and wherein generating the authorization data includes determining if the computing device is an authorized computing device.

4. The method of claim 1 , wherein the authorization token indicates at least one identifier associated with at least one corresponding data object, and wherein generating the authorization data includes determining if the access request is authorized for the at least one corresponding data object.

5. The method of claim 1 , wherein the authorization token indicates a time window, and wherein generating the authorization data includes determining if a current time is inside the time window.

6. The method of claim 1 , wherein the authorization token corresponds to an encoded data slice corresponding to a data object, and wherein the authorization token is one of a plurality of authorization tokens generated by the computing device corresponding to a plurality of stored encoded data slices corresponding to the data object.

7. The method of claim 1 , wherein the authorization token includes a copy of the encoded data slice generated by the requesting entity, and wherein generating the authorization data includes determining if the encoded data slice generated by the computing device matches the copy of the encoded data slice generated by the requesting entity.

8. A processing system of a dispersed storage and task (DST) execution unit comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:

receive an access request from a computing device via a network, wherein the access request includes an authorization token, wherein the access request includes a request to write content originating from a requesting entity and received by the computing device from the requesting entity, and wherein the access request includes a request to write an encoded data slice generated by the computing device that includes the content;

generate an authorization data based on the access request, wherein generating the authorization data includes determining if the computing device changed the content originating from the requesting entity;

execute the access request and transmit a result of the access request to the computing device via the network when the authorization data includes a verification indicator; and

generate an invalid token notification for transmission to the computing device when the authorization data includes an invalid token indicator;

wherein the computing device generated a plurality of encoded data slices of a data object to be written to a plurality of DST execution units, wherein the plurality of encoded data slices includes the encoded data slice, and wherein the plurality of DST execution units includes the DST execution unit.

9. The processing system of claim 8 , wherein the access request originated from the requesting entity communicating with the computing device via the network, wherein the authorization token includes a digital signature of the requesting entity, and wherein generating the authorization data includes determining if the requesting entity is an authorized requesting entity.

10. The processing system of claim 8 , wherein the authorization token includes an identifier associated with the computing device, and wherein generating the authorization data includes determining if the computing device is an authorized computing device.

11. The processing system of claim 8 , wherein the authorization token indicates at least one identifier associated with at least one corresponding data object, and wherein generating the authorization data includes determining if the access request is authorized for the at least one corresponding data object.

12. The processing system of claim 8 , wherein the authorization token indicates a time window, and wherein generating the authorization data includes determining if a current time is inside the time window.

13. The processing system of claim 8 , wherein the authorization token corresponds to an encoded data slice corresponding to a data object, and wherein the authorization token is one of a plurality of authorization tokens generated by the computing device corresponding to a plurality of stored encoded data slices corresponding to the data object.

14. The processing system of claim 8 , wherein the authorization token includes a copy of the encoded data slice generated by the requesting entity, and wherein generating the authorization data includes determining if the encoded data slice generated by the computing device matches the copy of the encoded data slice generated by the requesting entity.

15. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to:

receive an access request from a computing device via a network, wherein the access request includes an authorization token, and wherein the access request includes a request to write content originating from a requesting entity and received by the computing device from the requesting entity, and wherein the access request includes a request to write an encoded data slice generated by the computing device that includes the content;

generate an authorization data based on the access request, wherein generating the authorization data includes determining if the computing device changed the content originating from the requesting entity;

execute the access request and transmit a result of the access request to the computing device via the network when the authorization data includes a verification indicator; and

generate an invalid token notification for transmission to the computing device when the authorization data includes an invalid token indicator;

wherein the computing device generated a plurality of encoded data slices of a data object to be written to a plurality of DST execution units, wherein the plurality of encoded data slices includes the encoded data slice, and wherein the plurality of DST execution units includes the DST execution unit.

16. The non-transitory computer readable storage medium of claim 15 , wherein the access request originated from the requesting entity communicating with the computing device via the network, wherein the authorization token includes a digital signature of the requesting entity, and wherein generating the authorization data includes determining if the requesting entity is an authorized requesting entity.

17. The non-transitory computer readable storage medium of claim 15 , wherein the authorization token includes an identifier associated with the computing device, and wherein generating the authorization data includes determining if the computing device is an authorized computing device.

18. The non-transitory computer readable storage medium of claim 15 , wherein the authorization token includes a copy of the encoded data slice generated by the requesting entity, and wherein generating the authorization data includes determining if the encoded data slice generated by the computing device matches the copy of the encoded data slice generated by the requesting entity.

Assignments (5)
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 DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2016
From: KACZMAREK, JOSEPH M.; KHADIWALA, RAVI V.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039248/0656 →